IP数据报的分片与重组
最大传输单元:不同的网络由于链路层和介质的物理特性不同,因此在进行数据传输时,对数据帧的最大长度都有一个限制,这个限制值叫最大传输单元(Maximum Transmission Unit , MTU)。如果两台主机之间的通信要通过多个具有不同MTU值的网络,那么重要的不是两台主机所在网络的MTU值,而是两台通信主机路径上最小的MTU值,它被称作路径MTU。
网络名称 | MTU(单位:Byte) |
以太网 | 1500 |
IEEE 802.3/802.2 | 1492 |
FDDI | 4352 |
ATM(信元) | 48 |
X.25 | 576 |
点到点(低延时) | 296 |
令牌环网(IBM 16MB/s) | 17914 |
令牌环网(IEEE 802.5 IBM 16MB/s) | 4464 |
分片
当一个IP数据报要通过链路层进行传输时,如果IP数据报的长度比链路层MTU的值大,那么IP层就需要对将要发送的IP数据报进行分片,把一个IP数据报分成若干个长度小于或等于链路层的MTU的IP数据报,才能经过链路层进行传输。这种为了适合网络传输而把一个数据报分成多个数据报的过程,叫分片(fragmentation)。分片后的各个IP数据报,可能经过不同的路径到达目标主机。
IP数据报头
注:分片后的IP数据报,数据区所示的原IP数据报数据区的一个连续部分。头部是原IP数据报头区的复制,但与原来未分片的IP数据报头部有以下两点不同:
(1)标志。在IP数据报的头部,有一个叫标志的字段,用3位二进制数表示。
未用 | 不分片(DF) | 片未完(MF) |
不分片(Do Not Fragment , DF)标志如果被置1,则数据报在传输工程中不能被分片。
片未完(More Fragment , MF)标志被置1时,说明该数据报不是分片后的第一个数据报,最后一个数据报的该位被置0.
(2)片偏移
IP数据报被分成3片之后,各片数据区在原来IP数据区中的位置用13位片偏移表示。假设标志域返回1,则此域包括本片数据在原IP数据报数据区中的偏移量。
(3)重组
当分了片的IP数据报被传输到最终目标主机时,目标主机要对收到的各分片重新进行组装,以恢复成源主机发送时的IP数据报,这个过程叫做IP数据报的重组。
IP数据报选项
IP数据报选项主要由两大功能:一是可以用来实现对数据报传输过程的控制。二是进行网络测试。
IP选择域共分4大类:
选项类 | 用途 | 选项号 | 长度 | 功能 |
0类 | 数据报或网络控制 | 0 | - | IP数据报头中的任选项域结束 |
1 | - | 无操作 | ||
2 | 11Byte | 安全和处理限制(用于军事领域) | ||
3 | 可变 | 设置宽松源路由选择 | ||
7 | 可变 | 记录数据报经过的路由 | ||
9 | 可变 | 设置严格源路由选择 | ||
1类 | - | |||
2类 | 调试和测量 | 可变 | 记录Internet时戳 | |
3类 | 未用 |
IP数据报选择由3部分组成:选项码,选项长度和选项数据。选项码和选项长度各占一个字节,选项长度用于确定选项部分的长度。
选项码 | 选项长度 | 选项数据 | ||
复制 | 选项类 | 选项号 |
(1)复制:占一位,用来控制一个带有选项的IP数据报被分片时,分片后对选项的处理方式。如果该位被置1,将选项复制到所有分片中;被置0,将选项仅复制到第一个分片中。
(2)选项类和选项号:选项类占两位,选项号占5位,用于确定该选项是哪类选项中的哪个选项,其实就是用于确定该项的功能。