本节4道类型题,由于没有整理2021年后的题目,但是印象中在近几年都在考,需要掌握。
2018.4.2 UDP用户数据报的数据部分长度是8000字节,通过以太网来传输UDP数据报,若UDP头部为8字节,IP分组头部为20字节,以太网MTU为1500字节。
(1)能分几个IP分片?
(2)最后一个IP分片的长度是多少?片偏移字段值是多少?
解:
UDP总长度为:8000+8=8008B,MTU=1500B,IP头部=20B,数据部分为:1500-20=1480B
(1)按上述过程进行分片,8008=1480*5+608,能分为6个分片;
(2)最后一个分片长度为:608+20=628B,片偏移量分别为:0,185(1480/8),370,555,740,925。
2019.4.2 一台主机通过网络链路发送一个大小为2400字节的IP数据报,链路MTU是700字节,该IP数据报会分成多少片?最后一个分片大小是多少?分片的片偏移是多少?
解:IP数据报总长度:2400B,IP头部=20B,IP数据报去除头部为:2400-20=2380B
MTU=700,数据部分为:700-20=680B,2380=680*3+340,能分为4个分片;
最后一个分片大小为:340+20=360B,片偏移量分别为:0,85(680/8),170,255。
2021.4.2 某网络的一台主机产生了一个IP数据报,头部长度为20字节,数据部分长度为4000字节。该数据报需经过两个网络到达目的主机,这两个网络所允许最大传输单元MTU分别为1500、576字节,请问原IP数据报到达目的主机时分成几个IP小报文?每个报文数据部分长度分别时多少?
解:IP数据报总长度为:4000+20=4020B>1500,IP头部=20B,数据部分分别为:1500-20=1480B,576-20=556B
先将IP数据报进行大块分片:4000=1480*2+1040,由于1480和1040都大于576B
进行二次小块分片:1480=556*2+368,1040=556+484
因此原IP数据报到达目的主机时分成了8个小报文,每个报文数据部分长度分别为:556、556、368、556、556、368、556、484。
2006.3.5 某一网络的一台主机产生了一个IP数据报,头部长度为20字节,数据部分长度为2000字节。 该数据报需要经过两个网络到达目的主机,这两个网络所允许的最大传输单元MTU分别为1500字节和576字节。 请问原IP数据报到达目的主机时分成了几个IP小报文?每个报文的数据部分长度分别是多少?
解:IP数据报总长度为:2000+20=2020B>1500,IP头部=20B,数据部分分别为:1500-20=1480B,576-20=556B
先将IP数据报进行大块分片:2000=1480+520,由于1480大于576B
进行二次小块分片:1480=556*2+368
因此原IP数据报到达目的主机时分成了4个小报文,每个报文数据部分长度分别为:556、556、368、520。
本节延申:
1、IP数据报:需要计算数据部分(去首),否则分片过程多次加首部重复;
2、UDP数据报:需要计算数据部分(加首),不存在重复问题。