网络基础-2

IEEE制定了一个名为GARP的协议框架,该框架协议包含了两个具体协议,GMRP和GVRP。GVRP可以大大降低VLAN配置过程中的手工的工作量。

IP本身是一个协议文件的名称,该协议主要定义阐释了IP报文的格式。

类型网络号位数网络号个数主机号位数每个网络号下面可分配的主机IP地址个数地址范围
A类地址812824167772140.0.0.0~127.255.255.255
B类地址16163841665534128.0.0.0~191.255.255.255
C类地址2420971528254192.0.0.0~223.255.255.255

子网掩码是由32个比特组成的,也可以看作是由4个字节组成,并且通常以点分十进制来表示。通常子网掩码中1的个数被称为这个子网掩码的长度。

私网地址

A类地址10.0.0.0~10.255.255.255
B类地址172.16.0.0~172.31.255.255
C类地址192.168.0.0~192.168.255.255

特殊地址

255.255.255.2550.0.0.0127.0.0.0/8169.254.0.0/16
有限广播地址,可以作为目的IP使用,路由器接收到目的IP地址为有限广播地址会停止对该IP的转发可以是任何网络地址,也可以是这个网络上这个主机接口的IP地址环回地址,可以作为一个目的地址使用,一个设备产生的目的IP地址为环回地址是不可能离开这设备本身如果一个网络设备获取IP地址是自动获取,但是该设备有没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段中的某个地址来进行临时通信

路由器的工作内容主要分为两个

  1. 通过运行路由协议来建立并维护自己的路由表
  2. 根据自己的路由表对IP报文进行转发

路由器上接口的特点

  1. 当一个单播帧从线路(传输介质)上进入路由器的一个接口后,这个接口会将这个帧的目的MAC地址与自己的MAC地址进行比较。
  2. 当一个广播帧从线路(传输介质)上进入路由器的一个接口后,这个接口会将这个帧的载荷数据提取出来,并根据帧的类型字段值将载荷数据送给路由器的网络层中相应的模块进行处理。
  3. 当一个组播帧从线路(传输介质)上进入路由器的一个接口后,情况比较复杂,我们暂时不考虑。

IP报文格式(百度有图文)

在这里插入图片描述

  1. 版本:该字段长度为4比特,表示IP报文信息,为0×4则表示该IP报文是IPv4报文,为0×6则表示该IP报文是IPv6报文。IPv4和IPv6报文的格式是完全不兼容的。
  2. 包头部长度(首部长度):该字段为4比特,用来表示IP包的头部长度。由于IP头部可能会包含一些长度不定的选项,所以头部长度不固定。
  3. 区分服务(DS域):该字段长度8比特,在RFC791中叫ToS域,在RFC2474中叫DSCP域,该字段表示报文在QoS中的服务等级,用于区分报文转发的优先级。
  4. 总长度:该字段的长度为16比特,用于表示整个IP报文的长度,最大长度为65536个字节。注:IP报文=IP包的头部和IP包的载荷数据。
  5. 标识:该字段长16比特,用于报文的分片和重组。
  6. 标志:该字段长3比特,用于报文的分片和重组。
  7. 分段偏移(片偏移):该字段长13比特,用于报文的分片和重组。
  8. 存活时间(生存时间):该字段长8比特,当一个IP报文在Internet中运动,经过一个路由器则减一,直到变为0,则该报文被抛弃。
  9. 协议:该字段8比特,用于表示报文的载荷数据类型。例如,该字段为0×01,则表示ICMP报文,0×02,则表示IGMP报文。
  10. 头部(首部)校验和:该字段长16比特,用于对头部进行差错校验。
  11. 源(IP)地址:该字段32比特,表示产生并发送该IP报文的设备接口的IP地址。
  12. 目的(IP)地址:该字段32比特,表示该报文目的接口的IP地址。
  13. 可选字段/填充(选项/长度填充):该字段长度可变,添加不同选项,可以实现一些功能扩展。

TPC和UDP都是TCP/IP模型中传输层协议。TCP是面向连接的通信方式,UDP是非连接的通信方式。

TCP段格式

在这里插入图片描述

  1. 源端口:长度16比特,表示该TCP的载荷数据是应用层的那个应用发送的。
  2. 目的端口:长度16比特,表示该TCP的载荷数据是应用层的那个应用接收和处理的。
  3. 序号SeqNo:长度32比特,是该TCP分段自身的序号,接收这个分段的一方可以根据这个序号来判断是否存在分段重收或漏收等情况。
  4. 确认序号AckNo:TCP报头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。(百度的不一定准确)
  5. 分段头部长度:长度4比特,由于分段头部可能会包含一些长度不定的选项,所以头部长度不固定;但是字节数必须是4的整数倍。
  6. 标志:长度6比特,URG、ACK、PSH、RST、SYN、FIN。
  7. 校验和:该字段长16比特,用于对TCP分段进行差错校验。
  8. 选项/填充:该字段长度可变,添加不同选项,可以实现一些功能扩展。

知名TCP端口示例

端口号应用说明
20FTP数据FTP用于两台设备之间的传输文件,20号端口传递文件数据,21号端口传递控制数据
21FTP控制FTP用于两台设备之间的传输文件,20号端口传递文件数据,21号端口传递控制数据
23Telnet用于通过远程方式来控制网络设备
25SMTP发送电子邮件
53DNS用于IP地址和便于记忆的域名之间进行自动转换
80HTTP浏览网站或者网页
110POP3用于接收电子邮件

UDP报文格式

在这里插入图片描述
所有的UDP报文都是UDP数据报文,没有数据报文和控制报文的区分;不存在会话的概念。UDP认为信息的可靠性传输可以由应用层来提供保证。

路由:指从某一网络设备出发去往某个目的地的路径;路由表是若干条路由信息的集合体。路由表只存在于终端计算机和路由器中,二层交换机中是不存在路由表的。

路由的三要素(一条路由):目的地、掩码出接口、下一跳IP地址。

路由信息生成方式:设备自动发送、手工配置、通过动态路由协议生成。设备自动发送的路由信息称为直连路由、手工配置的路由信息称为静态路由、网络设备通过运行动态路由协议得到的路由信息称为动态路由。

路由的优先级
我们给不同来源的路由规定了不同的优先级,并规定优先级的值越小,则路由的优先级就越高,当存在多条目的地/掩码相同但是来源不同的路由时,则最高优先级的路由便成为最优路由,并被加入IP路由表中,其余路由则处于未激活状态不显示在IP路由表中。

华为路由的优先级

路由来源优先级的缺省值
直连路由0
OSPF10
静态路由60
RIP100
BGP255

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/171455.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

目录 一、前言二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、部署Redis Cluster高可用集群3.1、准备配置文件3.2、启动Redis服务3.3、创建Redis集群3.4、查看集群关系3.5、连接集群Redis进行数据读写以及重定向测试3.6、故障转移和…

selenium (自动化概念 测试环境配置)

什么是自动化测试 自动化测试介绍 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统. 预设条件包括正常和异常,最后评估运行结果。   自动化测试,就是将人为驱动的测试行为转化为机器执行的过程。 【机器 代替 人工】 自动化…

CS224W1.3——图表示的选择

文章目录 1. 图网络构成2. 选择一个合适的表示3. 图结构实例3.1 二部图3.2 图的表示 4. 节点和边的属性 这小节主要讲图表示的选择。 1. 图网络构成 对于每个实体,我们创建节点 N N N,对于每个关系,我们创建边 E E E,对于整体而言…

ios ipa包上传需要什么工具

目录 前言 一、IPA包的原理 二、IPA包上传的步骤 2.apk软件制作工具创建应用程序 3.构建应用程序 4.生成证书和配置文件 5.打包IPA包 6.上传IPA包 三、总结 前言 iOS IPA包是iOS应用程序的安装包,可以通过iTunes或者其他第三方应用商店安装到iOS设备上。在…

Day12力扣打卡

打卡记录 找出满足差值条件的下标 II&#xff08;双指针维护最大最小&#xff09; 链接 采用双指针保留间隔 indexDifference 进行遍历&#xff0c;求出慢指针对应一路遍历过来的最大值和最小值。 class Solution { public:vector<int> findIndices(vector<int>…

Vue3-02_Vue基础入门

背景 这里&#xff0c;跟vue官网的介绍章节稍有差异。官网上侧重组件原理&#xff0c;从浅到深介绍各种组件。后续是系统生态。 教程上更偏路线化&#xff0c;需要用到的优先讲解。完成综合案例。所以我主要按照教程的思路来进行学习。 ◆ 能够知道 vue 的基本使用步骤 ◆ 掌…

Android Studio 查看Framework源码

1、背景 安卓系统源码量很庞大&#xff0c;选择好的开发工具和方式去开发可以提升开发效率&#xff0c;常用的开发工具有Source Insight 、Visual Studio Code、Android Studio&#xff0c;vscode适合C和C代码开发&#xff0c;java层代码无法跳转和提示&#xff0c;因此&#…

Spring的执行流程与Bean的生命周期

目录 一、Spring的执行流程&#xff08;生命周期&#xff09; 二、Bean的生命周期 一、Spring的执行流程&#xff08;生命周期&#xff09; 首先在Spring的执行过程中会先启动容器&#xff0c;这里是将配置文件进行加载。根据配置文件完成Bean的实例化&#xff0c;比如是配置的…

结构体数组经典运用---选票系统

结构体的引入 1、概念&#xff1a;结构体和其他类型基础数据类型一样&#xff0c;例如int类型&#xff0c;char类型&#xff0c;float类型等。整型数&#xff0c;浮点型数&#xff0c;字符串是分散的数据表示&#xff0c;有时候我们需要用很多类型的数据来表示一个整体&#x…

polyloss详解

1、常见的泰勒展开公式 2、polyloss引入动机 2.1、polyloss定义 polyloss通过泰勒展开来逼近损失函数的简单框架&#xff0c;将损失函数设计为多项式函数的线性组合 2.2、polyloss主要贡献 提出了一个新的框架来理解和设计损失函数 PolyLoss可以让多项式基根据目标任务和数…

MySQL主从复制(基于GTID--事务ID方式)

目录 一、GTID相关概念1.GTID 是什么&#xff1f;2.GTID主从复制方式概念3.GTID的优缺点 二、GTID工作原理三、部署主从复制四、测试同步1.主库上新建数据库2.从库上查看是否同步成功 五、重设从库六、常见故障七、故障切换八、GTID的一些疑问1.为什么基于GTID的同步也要打开bi…

风力发电功率预测(CEEMDAN-LSTM-CNN-CBAM模型,Python代码)

1.前言 1.1.运行效果&#xff1a;风力发电功率预测&#xff08;CEEMDAN-LSTM-CNN-CBAM模型&#xff0c;Python代码&#xff09;_哔哩哔哩_bilibili 1.2.环境库&#xff1a; 如果库版本不一样&#xff0c; 一般也可以运行&#xff0c;这里展示我运行时候的库版本&#xff0c;是…

android开发使用OkHttp自带的WebSocket实现IM功能

一、背景 android app开发经常会有IM需求&#xff0c;很多新手不晓得如何入手&#xff0c;难点在于通讯不中断。其实android发展到今天&#xff0c;很多技术都很完善&#xff0c;有很多类似框架可以实现。例如有&#xff1a;okhttp自带的websocket框架、easysocket等等。本文主…

损失函数和目标函数|知识补充

这张图中&#xff0c;横坐标size表示房屋的大小&#xff0c;纵坐标price表示房屋的价格&#xff0c;现在需要建立模型来表示两者之间的关系。 对于给定的输入x&#xff0c;模型会有一个输出f(x)&#xff0c;用一个函数来度量拟合的程度&#xff0c;也就是真实值和预测值之间的…

“人类高质量数据”如何训练计算机视觉模型?

人类的视觉系统可以复制吗&#xff1f; 答案是肯定的。 计算机视觉 (Computer Vision) 技术的不断普及&#xff0c;让机器识别和处理图像就像人的大脑一样&#xff0c;且速度更快、更准确。 机器像人类一样去“思考” 计算机视觉 (Computer Vision) 是近年来人工智能增长最快…

PyCharm社区版安装

PyCharm社区版安装 到中国官网下载 https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows 首次创建项目&#xff0c;会自动下载安装Python 3.9 社区版的区别 社区版的区别

Spigot 通过 BuildTools 构建 MineCraft Spigot 官方服务端文件

文章目录 从 Spigot 官方下载 BuildTools spigotmc / buildtools确保你有正确版本的 Java&#xff08;例如构建 1.20.2 的服务端一般需要有 Java17&#xff09;在 BuildTools.jar 同名文件夹打开 cmd 命令行&#xff08;点击红色圈圈区域输入 cmd 按 enter 即可&#xff09; …

如何使用 nvm-windows 这个工具来管理你电脑上的Node.js版本

nvm-windows 是一个用于管理在 Windows 上安装的多个 Node.js 版本的工具。以下是安装和使用 nvm-windows 的步骤&#xff1a; 第1步&#xff1a;下载 nvm-windows 访问 nvm-windows 的 GitHub发布页面.下载最新版本的 nvm-setup.zip 文件。 第2步&#xff1a;安装 nvm-wind…

Android APK瘦身实践:二次瘦身如何再减少大小?(4M—2.9M)

瘦身前 因为平时就考虑到大小的限制&#xff0c;所以很多工作已经做过了&#xff0c;如下列举现在的状态&#xff1a; 7.3M&#xff08;Debug版本&#xff09;和6.5M&#xff08;Release版本&#xff09; 开启minifyEnabled 开启shrinkResources 已经去除不相关的大型库 图片和…

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署

文章目录 创建项目点击Nuget安装包删除原有controllers编辑新建controll、添加注释Startup 注册Swagger服务使用swagger中间件配置XML注释更改启动端口 launchsettings.json在startup.cs跨域处理运行 数据库设计与连接安装库新建类继承框架根据数据库表设计对应设计类在DataCon…