打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何检查网络连接是否可达 ?是否产生路由环路?

如何检查网络连接是否可达 ?是否产生路由环路?

Ping可以告诉用户目标是否可达,而Tracert命令用于测试数据报文从发送主机到目的地所经过的网关,它主要检查网络连接是否可达,以及分析网络什么地方发生了故障。

Tracert工作流程图

tracert工作过程演示

Tracert也是基于ICMP协议来实现的,如图所示,Tracert的工作流程为:

源端(SwitchA)向目的端(日志主机)发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。

第一跳(SwitchB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时(Time Exceeded)报文(该报文中含有第一跳的IP地址10.1.1.2),这样源端就得到了SwitchB的地址。

源端收到SwitchB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。

第二跳(SwitchC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了SwitchC的地址(10.1.2.2)。

以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达(Destination Unreachable)报文(该报文含有目的端的IP地址10.1.3.2)。

源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.1.1.2;10.1.2.2;10.1.3.2)。

Tracert命令格式

说明:这里只列举了常用的参数,并对参数进行解释说明。

tracert [ -a source-ip-address | -f first-ttl | -m max-ttl | -p port | -q nqueries | -w timeout ] * host

-a:指明本次Tracert命令配置的报文源地址。如果不指定源地址,将采用出接口的IP地址作为Tracert报文发送的源地址。

-f:指定初始TTL。设置first-TTL,当经过的跳数小于此参数值,由于TTL字段的值大于0,经过的这几个节点不会返回ICMP超时报文给源主机。如果已经设置了max-TTL参数值,first-TTL的取值必须小于max-TTL。

-m:指定最大TTL。通常情况下,max-TTL的值被设置为经过站点的跳数。如果已经设置了first-TTL参数值,max-TTL的取值必须大于first-TTL。缺省情况下,最大TTL为30。

-p:指定目的主机的UDP端口号。

如果不指定目的主机的UDP端口号,Tracert命令使用大于32768的随机的端口作为目标设备的接收报文端口。

如果指定目的UDP端口号,需要避免采用对端已经开启的端口号,否则会导致Tracert失败。

-q:指定每次发送的UDP探测数据报文的个数。当网络质量不高时,可以增加发送探测数据报文的数目,保证探测报文能够到达目的节点。缺省情况下,每次发送三个UDP探测数据报文。

-w:等待响应报文的超时时间。当发送数据报文到达某网关超时,则输出“ * ”。如果网络质量不高且速度很慢,建议增加发送数据报文的超时时间。缺省超时时间为5000毫秒。

host:可以是IP地址或域名,如果是域名会首先进行DNS解析,并显示解析后的IP地址。

交换机中默认tracert结果

Tracert信息说明:显示信息每行包含编号、到达的设备IP地址、3次报文的响应时间。若中间部分显示为“* * *”,说明该节点设备配置不允许Ping和Tracert。

指定报文源地址为192.168.50.19 初始TTL值为1 最大TTL值为15,每次发送4个数据包

PC上的Tracert功能与操作系统相关,这里以Windows操作系统为例说明:

tracert [ -d ] [ -h maximum_hops ] [ -j host-list ] [ -w timeout ] host

-d:不解析主机名。

-h:指定最大TTL的数值。

-j:设定松散源地址路由列表。

-w:用于设置UDP报文的超时时间,单位为毫秒。

host:指定目的主机的域名或IP地址。

PC上默认tracert结果

PC上tracert带上参数-d不解析主机名

当网络上出现路由环路时,使用Ping命令只能知道接收端出现超时错误,而Tracert命令能够很容易发现路由环路等潜在问题。在Tracert某地址时,多次出现相同的地址,即可认为出现了路由环路。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于Ping和Tracert命令原理详解
常用网络连通性测试工具(上)
试试这个命令,比ping还好用
traceroute命令详解
网络体检技术大揭秘
​ICMP协议全解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服