【计算机网络】实验12:网际控制报文协议ICMP的应用

实验12 网际控制报文协议ICMP的应用

一、实验目的

验证ping命令和tracert命令的工作原理。

二、实验环境

·Cisco Packet Tracer模拟器

三、实验过程

1.构建网络拓扑并进行信息标注,将所需要配置的IP地址写在对应的主机或者路由器旁边,如图1所示。

图1 网络拓扑

2.配置主机H1,H2的IP地址、路由器的IP地址、子网掩码、静态路由,如图2,3,4所示。

图2 主机IP地址以及子网掩码配置

图3 路由器端口IP地址配置

图4 路由器静态路由配置

3.观察主机H1-H2是否能正常通信,判断拓扑是否建立成功,配置正确,让主机H1使用ping 192.168.1.1与主机H2通信,结果如图5所示。经过两次超时,是因为经过了两个路由器,有两次ARP的影响。

图5 H1与H2之间的通信

4.跟踪数据报从H1到达H2经过了哪些路由器,通过命令tracter 192.168.1.1来查看,结果如图6所示。图中给出了经过各个路由器的相关端口。

图6 数据包到达H2经过的路径

5.切换到仿真模式下H2 pingH1,如图7所示,观察ping命令是如何通过ICMP实现的,并且过滤协议,只保留ICMP协议,主机H2的封装细节如图8所示,PING进程创建了一个ICMP"回送请求"报文并将其传送给下层进程。

图7 让主机H2ping主机H1

图8 在主机H2上的PDU信息

6.点击捕获前进,当数据包到达主机H1时,查看封装的PDU细节,如图

9所示。此时ICMP收到的数据包是一个ICMP数据包,此时ICMP进程将会对其处理,ICMP进程收到一个"回送请求"报文,

图9 主机H1上的PDU信息

7.点击捕获前进,当主机H2收到响应报文之后,第一次ICMP请求就结束了,如图10所示。

图10 第一次ICMP请求报文结束

8.仿真模式下H1tracertH2,如图11所示,观察tracert命令是如何通过ICMP实现的,再查看主机H1上的PDU信息,如图12所示。Trace route进程启动下一个追踪,Trace route进程创建一个ICMP"回送请求"报文并将其发送给下一层进程。

图11 仿真模式下H1tracertH2

图12 查看主机H1的PDU信息

9.再次查看主机H1上的出站PDU详情,发现TTL字段被设置成为了1,如图13所示。这说明当转发到下一个路由器的时候,就会将TTL减1,也就是置为0,那么此时路由器就会丢弃这个ICMP报文,如图14所示,并给源主机H1发送一个ICMP差错报告(类型是时间超过),此时查看路由器上的PDU信息,如图15所示。设备发送一个ICMP"时间超过"报文。

图13 出站PDU中的TTL被设置成1

图14 路由器丢弃这个ICMP报文

图15 路由器上的PDU信息

10.主机H1获取路径上的第一个路由器需要发送三个ICMP报文,并且也要收到三个ICMP响应报文才算找到第一个路由器,如下图所示,第一个路由器的IP地址为192.168.0.254,如图16所示。

图16 主机H1找到第一个路由器

11.同理,主机H1要找到第二个路由器,就需要将TTL的值设置为2,然后就去找找到的话,也是需要进行三次ICMP报文的传送以及收到三个ICMP报文的响应,才算找到第二个路由器,如图17所示。同理找到第三个路由器,主机H1将TTL字段设置为3,找到第三个路由器如图18所示。

图17 主机H1找到第二个路由器

图18 主机H1找到第三个路由器

四、实验小结

  1. Ping命令和tracert命令都是基于网际控制报文协议(ICMP)实现的。Ping命令用于测试主机之间、主机与路由器之间以及路由器与路由器之间的连通性。而tracert命令则用于探测从源主机到目的主机之间经过的路由器路径。

  2. Ping命令利用ICMP中的询问报文机制,源主机发送ICMP请求报文,目的主机则返回相应的应答报文,以确认连通性。

  3. 使用tracert命令时,发出的数据包的生存时间(TTL)初始值为1。当数据包经过第一个路由器时,TTL值减1,变为0,此时数据包会被丢弃,并向源主机发送一个ICMP差错报告("时间超过"报文),从而告知源主机该数据包未能成功到达目的地。

  4. tracert命令不仅依赖于询问报文,还利用差错报文来获取路径信息,从而逐步确定源主机到目的主机之间的路由路径。

相关推荐
CNRio9 分钟前
第8章 网络安全应急响应
网络·安全·web安全
风掣长空31 分钟前
Google Test (gtest) 新手完全指南:从入门到精通
运维·服务器·网络
发光小北1 小时前
SG-PNh750-TCP-210(Profinet 从站转 Modbus TCP 网关)
网络·网络协议·tcp/ip
轻颂呀2 小时前
TCP协议
linux·网络·网络协议·tcp/ip
松涛和鸣2 小时前
25、数据结构:树与二叉树的概念、特性及递归实现
linux·开发语言·网络·数据结构·算法
saber_andlibert3 小时前
【docker】网络基础和容器编排
网络·docker·php
郝学胜-神的一滴4 小时前
Linux信号四要素详解:从理论到实践
linux·服务器·开发语言·网络·c++·程序人生
阿干tkl4 小时前
CentOS Stream 8 网络绑定(Bonding)配置方案
linux·网络·centos
深眸财经4 小时前
汽水音乐崛起的冷思考:抖音「附属业务」能否自立?
网络
-曾牛4 小时前
CSRF跨站请求伪造:原理、利用与防御全解析
前端·网络·web安全·网络安全·渗透测试·csrf·原理解析