计算机网络IP数据报的格式与你邀约

首先我们先来说一下这个IP数据报的格式。

一个IP数据报由首部和数据部分两部分组成,首部的前一部分是固定长度,共20字节,是所有的IP数据报都必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。但对于首部的长度来说,最长是60个字节,所以可选字段最长为40个字节。

版本号:占4位,指IP协议的版本。

首部长度:占4位可表示最大十进制数值是15。一个位对应的是4个字节。因为IP首部的固定长度是20字节,因此首部长度字段的最小值是5。当这四个位都为1的时候就表示此时达到了首部的最大长度。需要注意的是当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。通过首部长度可以知道数据部分是什么时候开始的。

区分服务:8bit(一个字节)其中拿了3个字节作为优先级,其余5bit表示特殊的要求。

总长度:16bit(两个字节)。最大可以表示的数值是2^16-1个字节。指首部长度和数据部分的总长度。由于在IP层下面的每一种数据链路层都规定了一个数据帧中的数据字段的最大长度MTU,当所发送的IP数据报超过这个MTU的时候就必须进行分片处理。

标识:16bit(两个字节)通过标识来给已经分片的IP数据报进行分组,保证最后分片之后的各数据报片能正确地重装成为原来的数据报。

标志:占3位。目前只有两位有意义,第一位一般是0,中间的一位DF表示能不能分片,只有当中间的一位的值为0的时候才允许分片。后面的一位MF表示后面还有无分片,当后面的一位值为0的时候表示后面已无分片。

片偏移:占13位,一个位表示8个字节的偏移量。除了最后一个数据报片外,每个分片的长度一定是8字节的整数倍。

如果在之后的过程中又进行了分片,那么新的分片的片偏移的计算是在第一片的基础上加上第一个切片数据部分的长度除上8.

生存时间:占8个位(一个字节)TTL,表明数据报在网络中的寿命。由发出数据报的源点设置这个字段。目的是防止无法交付的数据报无限制地兜圈子,消耗网络资源。这里我们直接解释新的TTL的意义:TTL表示在网络中要经历的跳数,路由器再每次进行转发的时候就会把TTL对应的值-1.由于只有八个位,所以能够在网络中经过的路由器的最大数值是.

协议:占8个位(一个字节),协议字段指出此数据报携带的数据使用何种协议以便上层处理。

首部校验和:占16位(两个字节),这个字段只检验数据报的首部,不包括数据部分,利用二进制反码求和来进行校验。以此来决定是否丢弃数据报。



转载请注明地址:http://www.wangluoxingye.com/wljy/16544.html
  • 上一篇文章:
  • 下一篇文章: 没有了