关于数据包分片总长度字段的计算和MF标志位的判断

若路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)时,进行了分片,且每个分片尽可能大,则第2个分片的总长度字段和MF标志位的值分别是( )

A.796,0 B.796,1 C.800,0 D.800,1

由题可知,路由器是向一个MTU为800B的链路转发一个IP数据报,那么首先我们需要知道,什么是MTU?

MTU(Maximum Transmission Unit)最大传输单元

是指在网络链路层中,能够传输的最大数据包大小,通常以字节为单位。

不同的网络介质有不同的默认MTU值

以太网的默认MTU值通常为1500字节

ADSL接入的MTU值一般为1492字节

可以手动设置合适的MTU值,以确保其与网络的MTU值一致,从而提高网络性能。

①理想情况下,本地MTU值应等于网络MTU值,以充分利用网络的传输能力。

②如果本地MTU值大于网络MTU值,即当发送的数据包大小超过链路的MTU时,路由器会将数据包分割成多个较小的片段进行传输,网络会进行拆包,也就是数据包会被分片,这会导致数据包数量增多,从而增加网络延迟和降低传输效率。

由题知,该IP数据报总长度为1580B,其中的首部长度为20B,故

其该IP数据报的数据长度占1580B-20B=1560B


因为是路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)

故在该链路层中,能够传输的最大数据包大小MTU为800B,即每个分片的长度为800B,每一个分片先减去首部得出每一个分片的数据长度为800B-20B=780B

而要让该MTU=800B的链路来转发一个总长度为1580B的IP数据报(首部长度为20B),这里面就涉及到一个片偏移的知识:

片偏移

是指在数据传输中,当前IP分片的起始位置相对于原始数据的起始位置的偏移量。用于记录每个分片在整个数据报中的位置,以便于在接收端正确重组数据。

每个分片的偏移量必须是8字节的整数倍,以便于数据的正确重组。

因为片偏移每个分片的偏移量必须是8字节的整数倍,又每一个分片的数据长度为780B,故

8Bx<780B

x<97.5

即x必须小于97.5,取整数为97

故最大的IP分片的数据部分长度为97*8B=776B

因为1560B÷776B=2.010309....,所以向上取整为3,即路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)时需要分为3片。

如下,每片都是带有一个20B大小的首部。

故第2个分片加上首部长度后的总长度字段为

776B+20B=796B

然后,我们需要求第2个分片的MF标志位的值,那么什么是【MF标志位】呢?

【MF标志位】(More Fragment)

位于IP数据报头的Flags字段中,具体是第2比特位,用于数据包分片时指示数据报是否还有后续分片,从而确保接收方能够正确地重组数据包。

与【DF标志位】(Don't Fragment)和一个保留位共同组成3比特的Flags控制字段。

当接收方收到一个分片时,会检查MF标志位。

如果MF=1,

表示后续还有更多的分片,接收方需要等待后续分片的到来从而进行接收。

如果MF=0,

表示当前分片是最后一个分片,以指示数据的结束,接收方可以开始将所有收到的分片进行重组,即重组数据包。

如果在分片过程中缺失了MF=0的最后一个分片,接收方可能会超时并丢弃所有已接收的分片,这会导致数据传输失败。

回到这张图,

因为问的是第2个分片,后面还有第3个分片,即后续还有分片等待接收,故该MF标志位的值=1。

故选B。

相关推荐
hxhy0017 小时前
计算机网络
计算机网络
llllll15221 小时前
深入浅出计算机网络:从 TCP 可靠传输到 DNS 解析核心原理
网络协议·tcp/ip·计算机网络
只吃不吃香菜1 天前
Windows 下基于 YAML 规则的指定域名分流:以哔哩哔哩为例
网络·网络协议·计算机网络·网络安全·代理模式
我爱cope1 天前
【计算机网络 | 数据链路层2:差错检测与纠正:奇偶校验、校验和、CRC 分别怎么工作?】
网络·学习·计算机网络
雾时之林1 天前
Linux---计算机网络常见面试题
linux·运维·计算机网络
是未才1 天前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
charliejohn2 天前
计算机考研 408 网络 电子邮件 概念及例题
网络·网络协议·计算机网络·考研
白狐_7982 天前
408计算机网络第3章:PPP协议——帧格式、LCP/NCP、状态机与真题精讲
网络·计算机网络·智能路由器
孫治AllenSun2 天前
【SpringBoot】计算机网络
spring boot·后端·计算机网络
白狐_7982 天前
408计算机网络第3章:以太网交换机与共享式以太网——知识总结
服务器·网络·计算机网络