😘欢迎关注:👍点赞🙌收藏✍️留言
🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢支持!!!
实验6: IP数据报的发送和转发流程、默认路由和特定主机路由
一、实验目的
- 加深对网络体系结构的理解。
- 了解主机发送IP数据报的过程以及路由器转发IP数据报的过程。
- 通过调整窗口大小和查看ARP和路由表等信息,可以观察到路由器和主机之间的转发过程。同时详细了解各种记录和协议的作用。
- 验证默认路由和特定主机路由的作用
二、实验环境
Cisco Packet Tracer 模拟器
三、实验内容
(一)IP数据报的发送和转发流程
构建网络拓扑,并且在旁边标好IP地址、MAC地址、子网掩码、默认网关。如图1、2所示。
图 1 查看MAC地址的方式
图 2 在主机和路由器旁边注释方便实验
2. 切换实时模式,将其他的协议隐藏,只观察ARP协议和ICMP协议,
图 3 保留ARP和ICMP协议
3. 打开左上和右下主机的ARP表,打开左边路由器表的ARP表和路由表方便观察实验现象,在路由表中标记为"c"的表示直接连接,即路由器与相应网络直接相连;标记为"s"的表示静态路由,是管理员手动配置的路由规则。对于直接连接的路由规则,路由器通过查找目标网络地址来确定与之直接相连的接口,并将数据包发送到该接口。而静态路由则是管理员手动添加的路由规则,指定了数据包应该经过的路径,例如通过特定的接口或下一个路由器。如图4、5所示。
图4打开ARP表
图5打开路由表
4. 从左上角主机发送一个数据包给右下角主机,会发现产生一个ARP报文,但是其实是一个广播请求,主机在发送IP数据报之前,如果不知道目的主机的MAC地址,会发送ARP广播请求来获取目的主机的MAC地址,点击下一步会发现,报文被转发到交换机,然后转发给其他主机和路由器,除了目标主机外,其他主机都不会接收该报文,在报文被转发到路由器时会发现路由表多了一条记录,如图6、7、8所示。
图6产生一个ARP报文
图7报文被转发给主机和路由器
图8路由表多了一条记录
点击下一步可以观察到一个数据包由路由器转发给交换机,如图9所示。
图9数据包被转发给交换机
6. 点击下一步,观察到数据包被明确的转发给源主机,源主机的ARP表中出现了一条记录,如图10、11所示。
图10数据包被明确转发给源主机
图11源主机ARP表
7. 点击下一步,观察到主机再次发送之前要发送但是没有发送的ICMP数据包,如图12~15所示。
图12 ICMP数据包
图13 数据包的具体信息
图14 到达交换机
图15 到达路由器
点击下一步,因为路由器会根据目的IP地址在自己的路由表中查找对应的路径,并进行转发,如果目的主机与路由器在同一个网络,路由器会直接将数据包交付给目的主机,而不是再次封装,所以我们可以观察到数据包被转发给下面的交换机,再泛化转发给两台主机,但是只有目的主机可以接收数据包,还能看到目的主机的ARP表多了一条记录,目的主机返回一个单播,到路由器时可以观察到他的ARP高速缓存表多了一条记录,如图16~19所示。
图 16 数据包被转发给下面的交换机
图 17 数据包经泛化被转发给主机
图18 目的主机的ARP表多了一条记录
图19 路由器ARP高速缓存表多了一条记录
9. 再次让源主机给目的主机发送一个数据,可以观察到数据包被逐步直接转发给目的主机,不需要再经历ARP的过程,在返回响应时也是如此,如图20、21所示。
图20再次发送一个数据包
图21 数据包被逐步直接转发给目的主机
- 将原来打开的ARP表关闭,在实时模式下,让右上角的主机ping右下角的主机,观察到前两次都请求超时。
前两次超时的原因可以归结为以下几点:
路由器接口未知:第一次发送SMT请求报文时,路由器并不知道目的主机对应的接口的IP地址,因此无法立即转发数据包。在这种情况下,路由器需要通过询问其他设备(如发送ARP广播请求)来获取目的主机的MAC地址。这个过程会消耗一定的时间,从而导致超时。
ARP广播请求:第二次超时时,路由器需要发送ARP广播请求来获取目的主机的MAC地址。由于这个过程涉及到其他设备的响应,所以也会有一定的延迟。
再ping一次观察到都没有超时如图22~24所示。
图22 确定两个主机
图23 右上角的主机第一次ping右下角的主机
图24 右上角的主机第二次ping右下角的主机
(二)默认路由和特定主机路由
- 构建网络拓扑,并且在设备旁边注释好IP、默认网关以及路由表等,如图25所示。
图25 构建网络拓扑 - 验证设备A和E的通信,在A设备上ping设备E,可以观察到前两次超时,这是因为当路由器需要转发数据包到某个网络时,如果该网络的接口的MAC地址未知,路由器会发送ARP广播请求来获取对应的MAC地址。在这个过程中,之前准备转发的数据包会被丢弃,因此第一次请求会超时。然后主机会再次发送ICMP询问报文。当路由器需要将数据包转发给主机E时,由于主机E的IP地址对应的MAC地址未知,路由器会再次发送ARP请求来获取MAC地址。同样地,之前准备转发的数据包会被丢弃,导致第二次请求超时。如图26所示。
图26
- 验证设备B和设备D的通信,会发现和上面时一样的现象,如图27所示。
图27
四、实验体会
本次实验通过构建网络拓扑,观察主机发送IP数据报的过程以及路由器转发IP数据报的过程,深入了解了各种记录和协议的作用,并验证了默认路由和特定主机路由的作用。通过实验,我学到了以下几点:
1.**了解IP数据报的发送和转发流程。**在主机发送IP数据报时,首先要确定目标主机的MAC地址,如果不知道,会发送ARP广播请求来获取目的主机的MAC地址;而路由器需要根据自己的路由表来转发数据包,查找目标网络地址并确定与之直接相连的接口,并将数据包发送到该接口,或者根据管理员手动配置的静态路由规则指定数据包应该经过的路径。
2.**了解ARP协议和ICMP协议的作用。**ARP协议用于解析IP地址和MAC地址之间的映射关系,通过广播方式发送ARP请求来获取目的主机的MAC地址;而ICMP协议是为了确保网络通信的可靠性和稳定性,通过发送ICMP询问报文来确定连接是否正常或者寻找无法到达目标主机的原因。
3.**了解路由表中的记录类型。**直接连接表示路由器与相应网络直接相连,静态路由则是管理员手动添加的路由规则指定数据包应该经过的路径。
4.**了解默认路由和特定主机路由。**默认路由指所有未匹配的路由都将被转发到一个默认的接口,而特定主机路由则是将所有发送到特定主机地址的数据包都转发到指定接口。
通过本次实验,我深入了解了IP数据报的发送和转发流程以及相关协议和记录类型,加深了对网络体系结构的理解,提高了自己的实际操作能力和问题解决能力。