实验目的
应用所学知识:
①熟悉IP报文格式以及关键字段含义。
②掌握IP地址的分配方法。
③理解路由器转发IP数据报的流程。
实验步骤与结果
1.任务一:观察路由表
打开Router0命令行输入指令查看路由表:
Router0存在三条直接路由,一条通往10.1.2.0的静态路由,还有一条默认静态路由。
同样地,查看Router1和Router2的路由表:
可以看出,Router1存在两条直接路由,一条通往10.1.1.0的静态路由。
Router2存在两条直接路由,两条分别通往10.1.1.1和10.1.2.0的静态路由。
2.任务二:观察数据包的封装及字段变化
首先初始化所有设备的ARP表信息,使PC0向PC2发送一个携带ICMP报文的IP数据报,随后观察IP数据报的转发:
对比Inbound PDU和Outbound PDU的信息,发现在Outbound PDU中IP分组的TTL字段值由255减成254;另外源目IP地址字段在转发过程中始终保持不变,但是其mac地址发生了变化。
3.任务三:观察路由器转发IP数据报的方式
同时观察三个路由器的路由表:
再次使PC0向PC2发送一个携带ICMP报文的IP数据报,随后观察IP数据报在PC0到PC2的往返过程:
在OSI模型选项卡中可以发现,PC0到PC2的数据报往返可以正常进行,因为Router0有一个朝向Route2的默认路由,且Router2也有到达10.1.1.1的特定路由。
类似地,删除所有场景,使PC2向PC1发送一个携带ICMP报文的IP数据报,随后观察IP数据报在PC2到PC1的往返过程,发现数据报会转发失败:
检查数据包信息,根据过程分析失败原因:
由于Router2具有10.1.2.0/24的路由,所以数据报可以到达PC1,但是Router1没有10.1.3.0/24的路由,也没默认路由,因此PC2回复的数据报被Router1丢弃。
4.任务四:观察IP分片过程
如下图创建需要分片的数据报:
发送数据包可以看到,数据包产生了分片:
观察数据报信息可以发现:
两个分片ID一样,一个长度为1500bytes,一个长度为48bytes,因为原ICMP报文总长度超出了以太网帧的负载上限,必须执行分片操作。
5.思考题
(1)生存时间TTL、首部校验和等。
(2)为了进行分组转发算法。
(3)丢弃。
(4)IP 数据报超出了以太网帧的负载上限。
(5)加上ICMP报文首部8bytes,一共1500+8=1508bytes,封装后每一个分片IP首部还有20bytes,所以一共是1548bytes。根据贪心算法,会产生一个分片为1500,另一个分片为48bytes共两个分片。