您当前的位置:首页 > 计算机 > 网络通信

IP 数据报的格式解读

时间:07-18来源:作者:点击数:

IP数据报由首部和数据两部分组成。

IP数据报的首部

  • 首部的前一部分为固定长度(20字节),这是所有IP数据报必须具有的。
  • 首部固定部分的后面是选项和填充字段(长度可变) 。
  • 数据部分的长度也是可变的

​编辑

版本——4位,指IP协议的版本。目前广泛使用的协议版本号为4 (即IPv4)。通信双方的协议版本必须一致。

首部长度——4位,表示数据报首部的长度。因首部长度可表示的最大数值是15个单位(每单位为4 字节),所以IP的首部长度的最大值为60字节。当首部长度不足4字节的整数倍时,可利用填充字段加以填充补齐

区分服务——8位,表示对数据报的服务要求。前三位表示优先级(0~7,0最低),D、T、R和C分别表示对时延、吞吐量、可靠性和路由服务费用有选择的要求。最后一位未用。该字段只有当使用区分服务时才使用。

总长度——16位,指整个数据报(包括首部和数据)的长度,单位为字节。数据报的最大长度为65535字节(64KB)。总长度必须不超过数据链路层的最大传送单元MTU。当数据报长度超过MTU时,需对其分片,此时的总长度是指分片后的每一分片(包括首部与数据) 的长度

标识(identification) ——16位,它用于数据报各分片最终被重装成来原来的数据报。它是一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。目的主机将相同标识字段值的各分片数据报最后进行正确地重装(合片)。

标志(flag) ——3位,目前只有后两位有意义。最低位记作 MF (More Fragment)。MF=1表示后面“还有分片”。MF=0表示已是最后一个分片。次低位是DF(Don‘t Fragment) 用来控制是否允许数据报分片。只有DF=0才允许分片。

片偏移——13位,指较长的分组在分片后某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始,以便目的主机重装数据报。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。

IP数据报分片举例:

  • 一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。
  • 因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。
  • 于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。
  • 原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。
  总长度 标识 MF DF 片偏移
原始数据报 3820 12345 0 0 0
数据报片1 1420 12345 1 0 0
数据报片2 1420 12345 1 0 175
数据报片3 1020 12345 0 0 350

生存时间——8位,记为TTL(Time To Live),表示该数据所在网络中的寿命。其单位最初是秒,但为了方便,现在都用“跳数”作为TTL的单位。数据报每经过一个路由器,其TTL值就减 1,当TTL值减为零时,就丢弃这个数据报。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门