计算机网络 --- 网络层IP数据报

IP数据报格式

计算机网络 --- 网络层IP数据报_第1张图片

首部

计算机网络 --- 网络层IP数据报_第2张图片

  • 版本:IPv4/IPv6
  • 首部长度:单位是4B,最小为5。也就是说如果首部长度的四个bit的出来的数是8,那么首部长度就是8 * 4B = 32B也就是32字节
  • 区分服务:指示期望获得哪种类型的服务
  • 总长度:首部+数据,单位是Byte
  • 生存时间(TTL):IP分组的保质期。经过一个路由器-1,变成0则丢弃。
  • 协议:数据部分的协议

  • 首部检验和:只检验首部
  • 源IP地址和目的IP地址:32位
  • 可选字段:0~40B,用来支持排错,测量以及安全等措施。
  • 填充:全0,把首部补成4B的整数倍。

IP数据报分片

最大传送单元MTU

链路层数据帧可封装数据的上限。

以太网的MTU是1500字节。

计算机网络 --- 网络层IP数据报_第3张图片

如果所传送的数据报长度超过某链路的MTU值,就需要把数据报进行分片。

分片相关数据

回顾IP数据报首部:

计算机网络 --- 网络层IP数据报_第4张图片

其中标识,标志,片偏移就是用来分片的:

  • 标识: 同一数据报的分片使用同一标识。
  • 标志:有三位,只有两位有意义。中间位DF(Don't Fragment):DF = 1,禁止分片。DF = 0,允许分片。最低位MF(More Fragment):MF = 1,后面“还有分片”,MF = 0,代表最后一片/没分片。
  • 片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。也就是说假如片偏移的数据大小是10,那么就是10 * 8B,80字节偏移。除了最后一个分片,每个分片长度一定是8B的整数倍。

以下是片偏移举例:

 需要分片为长度不超过1420B的数据报片,形成以下三个分片:

那么第一个数据报片片偏移量就是0,第二个就是1400,第三个就是2800。所以三个数据报片的片偏移数据分别为0 / 8 = 0, 1400 / 8 = 175,2800 / 8 = 350

计算机网络 --- 网络层IP数据报_第5张图片

你可能感兴趣的:(计算机网络,计算机网络)