IP 数据报的格式
首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
总长度 | 标识 | MF | DF | 片偏移 |
原始数据报 | 3820 | 12345 | ||
数据报片1 | 1420 | 12345 | 1 | |
数据报片2 | 1420 | 12345 | 1 | 175 |
数据报片3 | 1020 | 12345 | 350 |
标志字段的最低位是 MF (More Fragment)。
MF=1 表示后面还有分片,MF=0 表示最后一个分片。
标志字段中间的一位是 DF (Don't Fragment) 。
只有当 DF=0 时才允许分片。
片偏移以 8 个字节为偏移单位。
应用解析
参考解答:
(1)中的第1问
IP数据报是封装在以太网帧中的。从题47-c图可知,以太网帧首部6+6+2=14字节;从题47-d图可知,IP数据报首部中的目的IP地址字段前有多个字段,共4×4=16字节;因此从以太网帧的第一个字节开始数14+16=30字节,之后就是IP数据报首部中的目的IP地址字段(共4字节),从题47-b图中可知该IP地址的十六进制形式是40 aa 62 20,转换成点分十进制形式为64.170.98.32。
(1)中的第2问
从题47-c图可知(即便题目不给出,对于以太网帧以及IP数据报首部格式,最好能熟记,这样可以加快解题速度、降低对题目的陌生感),以太网帧首部的第一个字段(长度为6B)的取值为目的MAC地址,因此从题47-b图中的第一行(标号为0000)的起始处开始的连续6B内容就是目的MAC地址,具体为00-21-27-21-51-ee(也可以表示为00:21:27:21:51:ee或0021.2721.51ee)。
(4)
需要更改以下三个字段:
1)源IP地址字段。需要由主机的私有IP地址10.2.128.100更改为路由器对外的公有IP地址101.12.123.15。私有地址的主机和Internet上的主机通信时,必须使用NAT路由器进行网络地址转换,把IP数据报的源IP地址(本题为私有地址10.2.128.100)转换为NAT路由器的一个全球 IP地址(本题为101.12.123.15)。
2)生存时间TTL字段。IP数据报每经过一个路由器,生存时间TTL字段的值就减1。
3)校验和字段。由于IP数据报每经过一个路由器,其某些字段的值会改变(例如生存时间TTL字段的值),因此每经过一个路由器都需要重新计算首部校验和,因此校验和字段的值会改变。
【注意】
(1)若IP数据报的长度超过输出链路的最大传送单元MTU,则需要对IP数据报进行分片,IP数据报首部中的总长度字段、标志字段、片偏移字段也要相应改变。
(2)题图47-b中每行前面的4个十六进制数(0000,0010,0020,…)是以太网帧的字节计数,不属于以太网帧的内容。