🏷️ 知识点:IP数据报分片
若路由器向 MTU = 800B 的链路转发一个总长度为 1580B 的 IP 数据报(首部长度为 20B)时,进行了分片,且每个分片尽可能大,则第 2 个分片的总长度字段和 MF 标志位的值分别是( )
A. 796,0 B. 796, 1 C. 800,0 D. 800, 1
[tag_link]
正确答案:B
本题考察 IP 数据报分片。链路层 MTU = 800B。IP 分组首部长 20B。片偏移以 8 个字节为偏移单位,因此除最后个分片,其他每个分片的数据部分长度都是 8B 的整数倍。所以,最大 IP 分片的数据部分长度为 776B。总长度 1580B 的卫 P 数据报中,数据部分占 1560B,1560B/776B=2.01…需要分成 3 片。故第 2 个分片的总长度字段为 796,MF 为 1(表示还有后续的分片)。
某公司网络如题 47 图所示。IP 地址空间 192.168.1.0/24 被均分给销售部和技术部两个子网,并已分别为部分主机和路由器接口分配了 IP 地址,销售部子网的 MTU=1500 B,技术部子网的 MTU=800 B。
请回答下列问题。
(1) 销售部子网的广播地址是什么?技术部子网的子网地址是什么?若每个主机仅分配一个 IP 地址,则技术部子网还可以连接多少台主机?
(2) 假设主机 192.168.1.1 向主机 192.168.1.208 发送一个总长度为 1500 B 的 IP 分组,IP 分组的头部长度为 20 B,路由器在通过接口 F1 转发该 IP 分组时进行了分配。若分片时尽可能分为最大片,则一个最大 IP 分片封装数据的字节数是多少?至少需要分为几个分片?每个分片的片偏移量是多少?
[tag_link]
1)广播地址是网络地址中主机号全 1 的地址(主机号全 0 的地址代表网络本身)。销售部和技术部均分配了 192.168.1.0/24 的 P 地址空间,P 地址的前 24 位为子网的网络号。于是在后 8 位中划分部门的子网,选择前 1 位作为部门子网的网络号。令销售部子网的网络号为 0,技术部子网的网络号为 1,则技术部子网的完整地址为 192.168.1.128;令销售部子网的主机号全 1,可以得到该部门的广播地址为 192.168.1.127。每个主机仅分配一个 P 地址,计算目前还可以分配的主机数,用技术部可以分配的主机数减去已分配的主机数,技术部总共可以分配给计算机的主机数为 2-2=126(减去全 0 和全 1 的主机号)。已经分配了 208-129+1=80 个,此外还有 1 个 P 地址分配给了路由器的端口(192.168.1.254),因此还可以分配 126-80-1=45 台。
2)判断分片的大小,需要考虑各个网段的 MTU,而且注意分片的数据长度必须是 8B 的整数倍。由题可知,在技术部子网内,MTU=800B,P 分组头部长 20B,最大 IP 分片封装数据的字节数为⌊(800−20)/8×8=776⌋。至少需要的分片数为⌈(1500−20)/776=2⌉。第 1 个分片的偏移量为 0;第 2 个分片的偏移量为 776/8=97。