IP分片技术

  链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。
  IP首部包含了分片和重组所需的信息:
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Identification |R|DF|MF| Fragment Offset |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |<-------------16-------------->|<--3-->|<---------13---------->|
  Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值在分片时被复制到每个片中。
  R:保留未用。
  DF:Don&#039;t Fragment,“不分片”位,如果将这一比特置1 ,IP层将不对数据报进行分片。
  MF:More Fragment,“更多的片”,除了最后一片外,其他每个组成数据报的片都要把该比特置1。
  Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。
  另外,当数据报被分片后,每个片的总长度值要改为该片的长度值

自定义分类:
网络协议
 
参考资料:
1.http://www.cnjswz.com/view/232597fcedce/
 
贡献者:
3G不好说
Copyright © 1999-2022 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4