关于数据包分片总长度字段的计算和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。

相关推荐
DARLING Zero two♡1 天前
【计算机网络】简学深悟启示录:http
网络协议·计算机网络·http
梁辰兴1 天前
计算机网络基础:传输控制协议 TCP
tcp/ip·计算机网络·计算机·tcp·计算机网络基础·梁辰兴·传输控制协议
小李独爱秋1 天前
计算机网络经典问题透视:手机通过Wi-Fi接入到互联网是没有流量因而是免费的吗?
服务器·计算机网络·智能手机·信息与通信·无线网络
今儿敲了吗1 天前
计算机网络第四章笔记(四)
笔记·计算机网络
charlotte102410241 天前
计算机网络体系结构:从0到1帮你理解计算机网络体系结构!
计算机网络
junnhwan2 天前
【计算机网络-CS168-textbook阅读笔记】传输层原理与TCP设计
笔记·计算机网络·tcp·cs168
梁辰兴2 天前
计算机网络基础:用户数据报协议 UDP
网络·网络协议·计算机网络·udp·用户数据报协议·计算机网络基础·梁辰兴
醒醒酒2 天前
sqli-labs Less1-4 新手修仙版
数据库·计算机网络·安全·web安全·网络安全·oracle
今儿敲了吗2 天前
计算机网络第四章笔记(三)
笔记·计算机网络
梁辰兴3 天前
计算机网络基础:传输层的端口
网络·计算机网络·计算机·端口·传输层·计算机网络基础·梁辰兴