IPv4 和 IPv6 数据报格式 一、 IPv 4 数据报格式 1)数据报可以分为报头区和数据区,数据区的数据来自上一层
说明:首部和报头和头等字眼是同一意思
2)版本:指明 IP 协议是哪个版本, IPv 4 为 0100
3)报头长度:也叫首部长度,指明报头区的长度
最小值为 20 个字节,最大值为 60 字节
当没有选项和填充字段时,32 位(每行的长度)*5(5 行固有的)=160 位=20 字节,这个时候 4 个比特位的值为 0101,为什么呢
因为这里规定以 4个字节为单位,如果把 0101 用换算成十进制,0101=5,5*4=20 字节
如果4 个比特位为 1111,把 1111 换算成十进制则等于 15,则它表示 15*4=60 个字节
(简单记成换算成十进制后乘以 4 才等于它报头区的字节数) b
当 IP 分组的首部长度不是 4 字节的整数倍时, 必须利用最后的填充字段加以填充
4)服务类型:转发过程中对该数据报的处理方式
5)总长度:等于报头区及数据区的长度相加
最大长度为 65535 个字节(当 8 个 bit 都等于 1 时),2^16-1=65535 个字节
IP 数据报的最大长度的确是 65535 字节
但是实践中最大长度很少用,因为大多物理网络都有长度限制,例如,数据链路层有自己的帧格式,其中包括了数据字段的最大长度,即最大数据传输单元MTU,当一个数据报封装成链路层的帧时,此数据报的总长度一定不能超过下面的数据链路层的 MTU值,以太网把载荷长度限制在1500 字节
6)标识:IP 软件在存储器中维持一个计数器,每产生一个数据报, 计数器就加 1,并将此值赋给标识字段
但这个“标识”并不是序号, 因为 IP 是无连接的服务,数据报不存在按序接收的问题
当数据报由于长度超过网络的 MTU