TCP/IP网络编程(5)

本文介绍IP数据报在不同网络间传输时如何根据最大传输单元(MTU)进行分片及重组的过程。详细解释了分片时的标志与偏移字段作用,并概述了IP数据报选项的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IP数据报的分片与重组

最大传输单元:不同的网络由于链路层和介质的物理特性不同,因此在进行数据传输时,对数据帧的最大长度都有一个限制,这个限制值叫最大传输单元(Maximum Transmission Unit, MTU)。如果两台主机之间的通信要通过多个具有不同MTU值的网络,那么重要的不是两台主机所在网络的MTU值,而是两台通信主机路径上最小的MTU值,它被称作路径MTU。

网络名称MTU(单位:Byte)
以太网1500
IEEE 802.3/802.21492
FDDI4352
ATM(信元)48
X.25576
点到点(低延时)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-无操作
211Byte安全和处理限制(用于军事领域)
3可变设置宽松源路由选择
7可变记录数据报经过的路由
9可变设置严格源路由选择
1类-
2类调试和测量可变记录Internet时戳
3类未用

IP数据报选择由3部分组成:选项码,选项长度和选项数据。选项码和选项长度各占一个字节,选项长度用于确定选项部分的长度。

选项码选项长度选项数据
复制选项类选项号

(1)复制:占一位,用来控制一个带有选项的IP数据报被分片时,分片后对选项的处理方式。如果该位被置1,将选项复制到所有分片中;被置0,将选项仅复制到第一个分片中。

(2)选项类和选项号:选项类占两位,选项号占5位,用于确定该选项是哪类选项中的哪个选项,其实就是用于确定该项的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值