目录

1.IPV4报文格式

2.IP分片及计算


1.IPV4报文格式

  • 版本:四位,IPV4 0100 =4 ;IPV6 0110 =6
  • 头部长度(IHL):最小值是5,最大值为15,单位4字节。IPV6固定头部长度40字节
  • TOS:为区分服务字段,用区分服务类型,即QoS字段,优先级。
  • 总长度字段:IPv4数据报的总长度。
  • 标识:主机发送IP报文的序号,每发送一次+1。
  • 生存期(TTL):用于设置一个数据包可经过的路由器数量的上限,每经过一台路由器减1(范围:0~255)。与IPV4的TTL类似是IPV6【心跳限制-hop limit】;为了控制IP数据报在网络中无限转发,IPV4设置了生存期可以。
  • 协议字段:包含一个数字,标识数据报有效载荷部分的数据类型。最常用的值为1(ICMP)17(UDP)和6(TCP)
  • 头部校验和:仅计算IPv4头部,不检查数据有效载荷部分的正确性。当TTL减一时,头部校验和必须重新计算。 IPV6没有【首部校验和】
  • ipv4报文的最大长度是65535字节=2的16次方 =(数据65515+头部20字节)

2.IP分片及计算

  • 已知道IP报文最大为65535字节,以太网MTU(最大传输单元Maximum Transmission Unit)为1500字节。
  • 最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
  • 如果要发送的IP数据包比数据链路层的MTU大,则无法发送该数据包。对于来自于上一层的IP协议,当要求发送的IP数据包比数据链路层的MTU大时,必把该数据包分割成多个IP数据包才能发送。
  • 片偏移:占13位。较长的分组在分片后,某片在原分组中的相对位置。相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位,这就是说,每个分片的长度一定8字节的整数倍
  • 标志字段中的最低位记为 MF。MF=1 表示后面“还有分片”的数据报。MF=0 表示这是数据报片中的最后一个

假设以太网发送一个IP分组,长度3000字节(包含数据2980+20头部),发送IP分组(MTU=1500字节),则发送需要分成几片?

总长度数据剩余偏移量offsetMF
原始30002980200
第一次1500148020数据剩余待发送=2980-1480=150001
第二次1500148020数据剩余待发送=1500-1480=201480/8=1851
第三次4020202960/8=3700

所以总计需要分三次,最后一片的偏移370

 假设以太网发送一个IP分组,长度4000字节(包含数据2980+20头部),发送IP分组(MTU=1500字节),则发送需要分成几片?

总长度数据剩余偏移量offsetMF
原始40003980200
第一次1500148020数据剩余待发送=3980-1480=250001
第二次1500148020数据剩余待发送=2500-1480=10201480/8=1851
第三次10401020202960/8=3700

所以总计需要分三次,最后一片的偏移370

假设以太网发送一个IP分组,长度1500字节(包含数据1480+20头部),发送IP分组(MTU=1024字节),则发送需要分成几片?

总长度数据剩余

偏移量offset

:指示每个分段在原报文的位置

MF
原始15001480200
第一次1024

1000

备注1024-20-1004,但是1004无法整除8,所以取1000

20数据剩余待发送=1480-1000=48001
第二次500480201000/8=1250

所以总计需要分三次,最后一片的偏移125

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。