16  
查询码:00000029
Ping和Tracert命令应用(此文档以华为和windows系统为参考)
作者: 赵华浪 于 2023年04月25日 发布在分类 / 网络技术类 下,并于 2023年04月25日 编辑
ping tracert

Ping简介

Ping命令主要用于检查网络连接及主机是否可达。Ping功能是基于ICMP协议来实现的:源端向目的端发送ICMP请求(ECHO-REQUEST)报文后,根据是否收到目的端的ICMP应答(ECHO-RESPONSE)报文来判断目的端是否可达。对于可达的目的端,再根据发送与接收报文个数、Ping报文的往返的响应时间来判断链路的质量。

Ping命令格式:

华为设备上的ping功能

ping [ ip ] [ -a source-ip-address | -c count | -f | -s packetsize | -t timeout ] * host

  • -a:设置发送ECHO-REQUEST报文的源IP地址,如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-REQUEST报文发送的源地址。

  • -c:发送ECHO-REQUEST报文的次数,缺省为5。当网络质量不高时,可以增加发送报文数目,通过丢包率来检测网络质量。

  • -f:设置发送的报文不分片,如果报文大于MTU值,则会丢弃该报文。

  • -s:设置ECHO-REQUEST报文大小(不含IP和ICMP头)。

  • -t:设置发送完ECHO-REQUEST后,等待ECHO-RESPONSE的超时时间。在网络状况不好的情况下,可以适当改大该参数。缺省为2s,即2s内没有收到回复报文即认为目的不可达。

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


可以配合-s和-f参数来探测中间链路最大的MTU(链路PMTU),如设置-s为1472可以通而1473不通,则该链路最大MTU为1500(1472+20IP头+8ICMP头)。


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

ping [ -n number ] [ -t ] [ -l number ] [ -f ] [ -a ] ip-address

  • -n:ping报文的个数,缺省值为5。

  • -t:持续地ping直到人为中断,Ctrl+Break暂时中止ping命令并查看当前的统计结果,而Ctr+C则中断命令的执行。

  • -l:设置ping报文所携带的数据部分的字节数,设置范围从0至65500。

  • -f:设置发送的报文不分片,如果报文大于MTU值,则会丢弃该报文。

  • -a:反向解析IP地址为主机名。

ping信息说明

粘贴图片

Ping命令的显示信息说明:

  • 设备发出了5个ping包,均收到了回应。

  • 发出的ping包的大小为缺省的56字节。

  • 返回的TTL为255,可以分析出来经过了多少个设备,ttl=255说明ping的目的设备与发出ping报文的设备直接相连。

  • time=1ms说明报文回应时间为1ms,该参数通常可以作为网络是否拥塞的参考。

缺省Ping命令发送5个ping报文,建议使用-c参数进行多次ping,可以更准确反应当前网络的状况。根据返回的ping报文个数,可以对网络状况进行判断。


Tracert简介

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

  1. 首先发送一个TTL为1的UDP报文。

  2. 到达第一跳时TTL超时,第一跳设备发回一个ICMP错误消息,指明此数据包不能被发送。

  3. 发送主机将TTL加1,重新发送此数据包。

  4. 第二跳设备返回TTL超时报文。

以上步骤循环进行,直到到达目的地。这样,发送主机就能够记录每一个ICMP TTL超时消息的源地址,得到IP数据包到达目的地所经历的路径。


Tracert命令格式:

华为设备上的tracert功能

tracert [ -a source-ip-address | -f first-ttl | -m max-ttl | -q nqueries | -vpn-instance vpn-instance-name | -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。

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

  • -vpn-instance:指定tracert目的地址的VPN属性,即关联的VPN实例名称。

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

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

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

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

  • -d:不解析主机名。

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

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

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

Tracert信息说明

粘贴图片


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

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








 推荐知识

 历史版本

修改日期 修改人 备注
2023-04-25 20:22:23[当前版本] 刘超 创建版本

 附件

附件类型

PNGPNG

贵州立为科技知识库管理平台 -V 4.9.5 -wcp