天天看点

IPv4分组格式IP分组首部格式数据分片方法

An IP packet consists of a header section and a data section.

IP分组首部格式

IPv4分组格式IP分组首部格式数据分片方法
IPv4分组格式IP分组首部格式数据分片方法

IPv4首部包含14个字段(fields),13是必需的,最后一个可选。

  • 版本(Version)

4 bits,IPv4分组的version值为0100

  • 首部长度(Internet Header Length,IHL)

4 bits,单位是32-bit words(即4 bytes)。最小值为5,此时首部不包含可选项(options),长度为20 bytes。最大值为15,此时IHL为60 bytes。

  • 服务类型(Differentiated Service Code Point,DSCP)

8 bits,指定packet的优先级、延迟、吞吐率、可靠性要求等。

  • 明确的拥塞通告(Explicit Congestion Notification,ECN)
  • 总长度(Total Length)

16 bits,分组的总长度,包括首部和数据。分组最小值为IHL的最小值20 bytes,最大值为65535 bytes。

  • 标识(Identifier)

16 bits,同一IP分组的数据片(fragments)具有相同的标识。

  • 标志(Flags)

3 bits,第0位是保留位(resvered),必需为0. 第1位=1时,表示不分片(Don’t fragment, DF),为0表示可分片。第2为=1时,表示该后续有其他分片(More fragmetns, MF)。

  • 片偏移(Fragment Offset)

13 bits,以8 bytes为单位给出当前数据片在原IP分组中的位置。最大偏移(2^13 - 1)* 8 bytes = 65528 bytes,加上首部的20 bytes已超出IP分组的最大总长度。

  • 生存时间(Time To Live,TTL)

8 bits,限制IP分组在网络中存在时间的计数器,TTL的单位为秒(second)

。实际上,TTL作为路由(router)的最大跳数(hop count)使用初始值有发送终端设定。,每到达一个路由,TTL的值减一,值为0时,router丢弃该分组,并向sender发送ICMP时间超时(ICMP Time Exceeded)的消息。

  • 协议(Protocol)

8 bits,指示IP分组数据部分使用的协议,可用的协议列表,常见的如TCP(6)、UDP(17)、ICMP(2),括号内为协议号(Protocol Number)。

  • 首部校验和(Header Checksum)

16 bits,仅验证首部。分组到达router后,router计算首部的checksum,和该字段比较,不匹配则丢弃该分组。

  • 源地址(Source Address)和目的地址(Destination Address)

在传输过程中,有可能被(Network address translation,NAT)设备改变。

  • 可选项(Options)

数据分片方法

路由接收到一个packet,检查目的地址,确定输出接口(outgoing interface)和接口的最大传输单元(Maximum Transmition Unit,MTU)。如果packet > MTU,且DF位是0,路由会对packet分片。

4000 bytes的packet,首部20bytes,没有options,router的MTU是1500 bytes,分片。

Fragment Total bytes Header bytes Data Bytes MF Fragment offset
1 1500 20 1480 1
2 1500 20 1480 1 185
3 1000 20 980 370

如果接下来的router的MTU是1000 bytes,上表Fragment 1/2/3都会在分片,一个IP分组的所有分片的Identifier位相同,只有最后一个分片的MF=0。

参考:

https://en.wikipedia.org/wiki/IPv4

[email protected]+block/%E8%A7%86%E9%A2%914_IP-%E5%88%86%E7%BB%84%E6%A0%BC%E5%BC%8F.pdf”>http://www.xuetangx.com/asset-v1:[email protected]+block/%E8%A7%86%E9%A2%914_IP-%E5%88%86%E7%BB%84%E6%A0%BC%E5%BC%8F.pdf

继续阅读