1 / 4
http://www.csna.cn
IP
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
报头详解
IP,全称 Internet Protocol,中文名为因特网协议。
IP 协议有两个基本任务:提供无连接的和最有效的数据包传送;提供数据包的分割及
重组以支持不同最大传输单元大小的数据连接,其报头结构和解码如下图所示:
0bit 15 16 31bit
版本 头部长度 区分服务字段 总长度
标识 标志 分段偏移量
生存时间 上层协议 校验和
源 IP 地址
目标 IP 地址
选项
(图1 IP 协议结构)
(图2 科来网络
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
系统之 IP 协议解码)
版本
目前常见的版本号是 4,因此有时也叫 IPV4。
首部长度
用来标识以 32bit 字长的 IP 头的长度,也包括可选项,这是一个 4bit 的字段,因此首部最长
为 60 个字节。没有选项的 IP 头的值为 20 字节,长度为 5。
2 / 4
http://www.csna.cn
区分服务字段
当数据报由路由器从源主机发到目的主机时,服务类型可以影响数据报的路径。服务类型允
许高层应用和进程指出它们需要从路由器获得的质量和服务类型。因为很少使有,一般值都
为 0,这是一个期望值。
总长度
以字节为单位定义了整个 IP 数据报的长度,该值包括 IP 头和数据报中所携带的数据。
标识
在数据报发送之前,发送主机给每个数据报一个 ID 值,此 ID 唯一的标识了数据报或数据
报的流,而目的主机也利用此 ID 对收到的数数报进行重组。当然如果收到的数据对传输的
介质而言太大时,则会对数据进行分段,对于分段的数据包则分配相同的 ID,我们在后面
会有详细的描述。
分段标识
第 0 比特= 预留位,必须置 0;
第1比特= 可以取下列两个值之一:
z 0= 可能分段;
z 1= 没有分段;
用于发送主机或网关进行分段,如果支持(此位置0)就在传输前将数据流分成较小的块,
如果不支持(此位置1)主机或网关就不能对数据进行分段;当然还有一种情况,那就是你
网络的 MTU 值决定是否对数据进行分段。以太网帧最大为 1518 字节。
第 2 比特= 可以取下列两个值之一:
z 0= 最后一段;
z 1= 更多分段;
该值用来
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示此数据报是数据流中的最后一个或者后面还有更多的段。当然,只有一个段,
则此比特值为 0,表示这是第一个,也是最后一个。目的主机收到数据报时,观察此 ID 并
检查此位的值,以确定这是最后一个数据报或者后面还有更多的数据报。如果还有后续数据
报,则主机将数据报保存在内存中直到所有具有相同 ID 的其它数据报的到来,然后重组报
文将其传送到高层相应的协议处理。
通过对 ID 值的匹配和参考最后一个或几个比特是0或1,主机就可以知道何时停止等待下
一报文,何时开始重组报文。
3 / 4
http://www.csna.cn
分段偏移量
分段偏移量用来标识数据报在发送数据流中的位置,也就是用同一个 IP 标识发送多个数据
报时的顺序号。发送主机总是给第一个数据报的偏移赋值0。而分配给以后的数据偏移值则
跟 MTU 有关,接收主机通过此偏移值将数据重组或检查数据是否丢失。我们以一个例子来
学习分段偏移量:
我们执行 ping 192.168.0.1 –l 3000 (192.168.0.1 为网关),进行抓包,然后来查看偏移量的
值,如下图:
从上图可知中,共捕获到了三个数据包,第一个协议是 ICMP,后面两个是 IP Fragment,前
面两个数据包的大小是 1518 字节,第三个是 86 字节。第一个数据包的 IP 偏移量是 0,第
二个是 185,第三个是 370。
那这个偏移量是怎样算来的呢?首先我们来看这三个数据包传输的数据大小:
IP 分段标志 IP 偏移量 传输数据
更多分段置 1 0 1518-14-20-8-4=1472
更多分段置 1 185 1518-14-20-4=1480
更多分段置 0 370 86-14-20-4=48
上表中,第 1 个数据包中,多了一个 ICMP 报头,所以在计算传输的数据时,多减了 8 个字
节的 ICMP 报头,而后面的两个数据包由于不存在 ICMP 的报头开销,所以不需要减去 8 字
节的 ICMP 报头。将传输的数据加起来,1472+1480+48=3000,与执行的命令参数完全吻合。
4 / 4
http://www.csna.cn
注意:如果有更多的分段,按照此
规则
编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf
依次累加即可,同时所有分段数据包的 IP 标识都是
相同的。
现在回到对偏移量的介绍:我们知道,段以 8 字节为单位,而第一个数据包传输的数据为
1472,也就是有 184 个段(1472/8),所以第二个数据报的偏移则为 184+1=185,依次类推,
第三个数据包应是 184+185(1480/8)+1=370。
生存时间
生存时间(time to live)用来设置数据报可以经过的最多路由数和数据报的生存时间,并保
证不能被传送的数据报被丢弃,通常情况下,生存时间由源主机设置,但最大值不能超过
255。数据报每经过一个网关时,生存时间的值都为减去 1,当值减为 0 时,此数据由会被
生存时间减为 0 的设备发送 ICMP 报文给源主机。
上层协议
此字段来标识哪一个高层协议处理此信息,这里简列举几个:
6(TCP) 17(UDP) 1(ICMP)
校验和
因为 IP 是一个无连接的协议,因此它并未实现任何类型的错误纠正
机制
综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图
,IP 只是将数据报
发送出去,给其编址并希望能达到目的主机。所以 IP 采用了简单的校验和机制来验证 IP 头
和数据的完整性,从而保证源主机和目的主机在传输过程中没有任何变化。
源 IP 地址
发送主机的逻辑地址。
目标 IP 地址
目标主机的逻辑地址。
可选项
主机或网关可以实现可选参数,当使用可选参数时,主机或和网关都必须支持才能实现,当
然可选项不是必须的。
CSNA 徐徐渐进