本文主要是介绍TCP/IP Illustrated 笔记 IP Fragmentation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 术语: IP datagram, IP packet
传输层把传输层的数据传给IP层后,IP层加上IP header后,这就是一个IP datagram,由于数据链路层对帧的数据大小有限制(以太网1500字节),IP层需要把一个IP datagram做分割(Fragmentation)以后再传给数据链路层,这种分割以后的就是packet。下图描述了UDP 数据包分割的过程:
2. 一个 IP datagram 分割成一个或者多个 packet 后,每个packet中的IP头中的 identification 字段值都相同,字节拷贝自datagram;
IP头中有一个字段用于标识原来的数据的位置,fragment offset 字段, offset 是以 8-byte 作为一个单位的(p149),因为 每个 fragement 的大小要求是 8字节 的倍数(p150);
其中, flag中可以设置 “more fragment” 标志,表示下面还有 packet,最后一个packet没有该标志;
3. 由于链路层数据部分有1500字节的限制,UDP的每个packet中最多放下 1472 (1500 - 20 IP头- 8 UDP 头)字节。
--11.5
这篇关于TCP/IP Illustrated 笔记 IP Fragmentation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!