首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用Ping命令进行故障排查?

如何使用Ping命令进行故障排查?

作者头像
网络工程师笔记
发布2021-05-17 15:55:55
发布2021-05-17 15:55:55
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

1 ping命令简介

Ping命令主要用于检查网络连接及主机是否可达。

Ping功能是基于ICMP协议来实现的:源端向目的端发送ICMP请求(ECHO-REQUEST)报文后,根据是否收到目的端的ICMP应答(ECHO-RESPONSE)报文来判断目的端是否可达。

对于可达的目的端,再根据发送与接收报文个数、Ping报文的往返的响应时间来判断链路的质量。

2 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地址。

3 ping举例

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地址为主机名。
代码语言:javascript
代码运行次数:0
运行
复制
<HUAWEI> ping 10.1.1.2
  PING 10.1.1.2: 56  data bytes, press CTRL_C to break                     
    Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=1 ms             
    Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=1 ms             
    Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=2 ms             
    Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=1 ms             
    Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=2 ms             
                                                                                
  --- 10.1.1.2 ping statistics ---                                         
    5 packet(s) transmitted                                                     
    5 packet(s) received                                                        
    0.00% packet loss                                                           
    round-trip min/avg/max = 1/1/2 ms      

Ping命令的显示信息说明:

  • 设备发出了5个ping包,均收到了回应。
  • 发出的ping包的大小为缺省的56字节。
  • 返回的TTL为255,可以分析出来经过了多少个设备,ttl=255说明ping的目的设备与发出ping报文的设备直接相连。
  • time=1ms说明报文回应时间为1ms,该参数通常可以作为网络是否拥塞的参考。

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

4 ping故障现象以及原因总结

A、故障现象:全部可达,但时间较长

可能原因:

  • 中间网络状况不佳。
  • 网关设备做了QoS,限制了转发速度。

B、故障现象:全部不可达

可能原因:

  • 网络中断(含设备与线缆)。
  • 中间经过的防火墙设备不允许进行ping探测,丢弃了ICMP报文。
  • 网络产生环路,TTL减到1后被丢弃。
  • 网络拥塞导致报文响应慢。

C、故障现象:部分可达

可能原因:

  • 网络状况不佳,部分报文被丢弃。
  • 中间网络配置有负载分担,且其中部分分担网络故障。
  • 遭到“泛洪”攻击。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络工程师笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档