FAQ-S交换机ping参数大全

发布时间:  2015-03-13 浏览次数:  351 下载次数:  0
问题描述

交换机ping命令的详细参数,长ping、ping 大包、带源地址ping。

 

解决方案

ping命令用来检查指定的IPv4地址是否可达,并输出相应的统计信息。

命令格式

ping [ ip ] [ -a source-ip-address | -c count | -d | { -f | ignore-mtu } | -h ttl-value | { [ -nexthop nexthop-ip-address ] [-i interface-type interface-number ] | -si source-interface-type source-interface-number } | -m time | -n | -name | -p pattern | -q | -r | { -s packetsize | -range [ min min-size | max max-size | step step-size ] * } | -system-time | -t timeout | -tos tos-value | -v | -vpn-instance vpn-instance-name ] * host [ ip-forwarding ]

参数说明

参数 参数说明 取值
ip 使用IPv4协议。不指定该参数时,也表示使用IPv4协议。 -
-a source-ip-address 指定发送ICMP ECHO-REQUEST报文的源IP地址。

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

点分十进制形式。
-c count 指定发送ICMP ECHO-REQUEST报文次数。

ping命令每发送一个ICMP ECHO-REQUEST报文,顺序号就加1,顺序号从1开始,缺省情况下发送5个ICMP ECHO-REQUEST报文,也可以通过命令行参数count设置发送ICMP ECHO-REQUEST报文的个数。

当网络质量不高时,可以增加发送报文数目,通过丢包率来检测网络质量。

整数形式,取值范围1~4294967295,缺省值是5。
-d 设置socket为debug模式。 缺省为非debug模式。
-f 设置报文发送的过程中不分片。 -
-h ttl-value 指定TTL的值。

报文在转发过程中,如果TTL字段的值减为0,报文到达的三层设备就会向源端发送ICMP超时报文,表明远程设备不可达。

整数形式,取值范围是1~255。缺省值是255。
-nexthop nexthop-ip-address

指定下一跳IP地址。

指定该参数后,ICMP ECHO-REQUEST报文在发送前不再查找路由表,而是直接发送。可用于排除路由表项不正确而导致的ping不通问题。

点分十进制格式。

说明:
  • 指定的下一跳地址必须为直连物理接口的下一跳地址。

  • 指定下一跳地址时,可以同时配置-i interface-type interface-number指定出接口。此时必须保证如下两个条件,否则将会导致测试失败:

    • 指定的下一跳地址和出接口相互匹配
    • 指定的出接口不能是逻辑接口的成员口
  • 指定下一跳地址时,不支持同时指定VPN。

-i interface-type interface-number 设置发送ICMP ECHO-REQUEST报文的接口。
说明:
对于广播式链路(以太网),指定的目的地址将作为报文的下一跳地址。
-
-m time 指定发送下一个ICMP请求报文的等待时间。

ping发送ICMP ECHO-REQUEST报文后等待应答(reply),缺省等待500毫秒后发送下一个ICMP ECHO-REQUEST报文。可以通过time参数配置发送时间间隔。在网络状况较差情况下,不建议此参数取值小于500毫秒。

整数形式,取值范围是1~10000,单位毫秒。缺省值是500。
-n host参数直接作为IP地址,而不需作域名解析。

 

-
-name 显示目的地址的主机名。

 

-
-p pattern 指定ICMP ECHO-REQUEST报文填充字节。

可以通过配置ICMP ECHO-REQUEST报文的填充字节,便于故障定位人员从大量ICMP ECHO-REPLY报文后识别出某类报文。

16进制整数,取值范围是0~FFFFFFFF。缺省情况下,填充方式为从0x01开始,依次递增。
-q 指定只显示统计信息。

ping命令指定此参数后,系统只显示发送、接收报文数、报文丢失率、最小返回时间、平均返回时间和最大返回时间。

缺省情况下,显示全部信息。
-r 指定记录路由。

如果指定记录路由,在IP报文传送过程中,在IP包到达三层路由设备后,经过的每一个三层设备都把它的IP地址放入选项字段中。当数据报到达目的端时,所经过的IP地址都应该复制到ICMP回显应答中,并且返回途中所经过的三层设备地址也要被加入到回应的IP报文中。当Ping程序收到回显应答时,它就可以显示出经过的三层设备的IP地址。

缺省情况下,不记录路由。
-s packetsize 指定ECHO-REQUEST报文的长度(不包括IP和ICMP报文头)。 整数形式,取值范围是20~9600,单位是字节。缺省报文长度是56字节。
-range 设置ECHO-REQUEST报文净荷长度的范围及变化步长。当需要发送可变长度的ECHO-REQUEST报文时,可以配置该参数。
  • 如果不指定-range,发送报文的长度是-s packetsize。缺省值是56。
  • 如果指定-range,发送的第一个报文的长度是min min-size,后续报文长度按照步长step step-size递增,直到报文长度达到最大值max max-size

    缺省情况下,长度范围是56~9600,步长是1。

    说明:
    • 执行过程中,可以使用ctrl+c终止。
    • 通过调整min min-sizemax max-size的值,可以控制发送报文的个数。min min-size必须小于max max-size
    • -range可以和-c count结合使用,此时,相同长度的报文发送count次后,再按照步长递增至下一长度,以此循环。
min min-size 设置ECHO-REQUEST报文净荷长度的最小值。 整数形式,取值范围是20~9600,单位是字节。缺省值是56。
max max-size 设置ECHO-REQUEST报文净荷长度的最大值。 整数形式,取值范围是20~9600,单位是字节。缺省值是9600。
step step-size 设置报文长度变化的步长。 整数形式,取值范围是1~1000,单位是字节。缺省值是1。
-si source-interface-type source-interface-number 设置ICMP ECHO-REQUEST报文的入接口,用于模拟远端设备发送报文。可以用于检测从特定接口进入的报文转发路径故障。 -
-system-time 显示报文发送时的系统时间。 -
-t timeout 指定发送完ICMP ECHO-REQUEST后,等待ICMP ECHO-REPLY的超时时间。

ping命令会发送ICMP ECHO-REQUEST报文到某个地址,然后等待应答(reply),当ICMP ECHO-REQUEST报文到达目标地址以后,在一个有效的时间内(timeout之前)返回ICMP ECHO-REPLY给源地址,则说明目的地可达。如在有效时间内,没有收到回应,则在发送端显示超时。

正常情况下,发送完ICMP ECHO-REQUEST后会在1~10秒内收到应答(replay)。当网络传输速率较慢时,可以使用此参数加大ICMP ECHO_REQUEST报文的响应超时时间。

整数形式,取值范围是0~65535,单位是毫秒。缺省超时时间是2000毫秒。
-tos tos-value 指定发送ICMP ECHO-REQUEST报文的ToS值。通过设置ToS值,配置ICMP报文的优先级别。 整数形式,取值范围是0~255。缺省值是0。
-v 指定显示接收到的非本用户的ICMP ECHO-REPLY的ICMP报文。
  • 如果不指定-v,系统只显示本用户收到ICMP ECHO-REPLY报文。
  • 如果指定-v,系统会显示设备收到的所有ICMP ECHO-REPLY报文。
缺省情况下,不显示非ECHO-REPLY的ICMP报文。
-vpn-instance vpn-instance-name VPN实例名。 字符串形式,区分大小写,不支持空格,长度范围是1~31个字符。
ignore-mtu 忽略接口发送包的最大传输单元。 -
host 目的主机的域名或IP地址。 字符串形式主机名,不支持空格,区分大小写,长度范围是1~255。或者合法的点分十进制IPv4地址。
ip-forwarding 指定头节点强制走IP。 -


使用指南

应用场景

ping命令是最常见的用于检测网络设备可访问性的调试工具,它使用ICMP报文信息可以来检测:

  • 远程设备是否可用
  • 与远程主机通信的来回旅程(round-trip)的延迟(delay)
  • 包(packet)的丢失情况
使用ping检测IPv4网络连接是否出现故障或检查网络线路质量时,主要有以下几种场景:
  • 检查本机协议栈。执行ping <环回地址>,可以检查本机TCP/IP协议栈是否正常。
  • 在IP网络中检测目的主机是否可达。执行ping host,向对端发送ICMP ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端路由可达。
  • 在三层VPN网络中检测对端是否可达。在三层VPN网络中,由于各设备间可能没有彼此的路由信息,无法直接使用ping <目的IP地址>命令进行检测,只能通过VPN到达对端。执行ping -vpn-instance vpn-instance-name host命令,在指定VPN实例名的情况下,可以实现向对端发送ICMP ECHO-REQUEST报文,如果能够收到对端应答(reply),则可以判定对端可达。
  • 网络环境较差时,通过ping -c count -t timeout host命令可以检测本端到对端设备间的网络质量。通过分析显示结果中的丢包率和平均时延,可以评估网络质量。对于可靠性较差的网络,建议发包次数(-c)和超时时间(-t)取较大值,这样可以更加准确的得到检测信息。
  • 检测路径。执行ping -r host命令,可以得到本端到对端的路径节点信息。
  • 检测路径MTU。执行ping -f -s packetsize host,可以设置ICMP报文不分片,以及ICMP报文大小,从而实现在多次探测后得到路径的MTU值。

前置条件

  • 执行ping检测前,需要保证ICMP模块工作正常。
  • 如果配置-vpn-instance参数,需要保证vpn模块工作正常。

注意事项

  • 当中间设备去使能了对ICMP报文的回应,会导致此节点检测失败。
  • 如果ping执行过程出现异常,可以使用CTRL+C键中止ping命令。
  • 出于安全考虑,建议不要ping广播地址(如XX.XX.XX.255)。
  • 当目标主机不可达时,系统显示“Request time out”,请求超时。

使用实例

# 检查IP地址为10.1.1.2的主机是否可达。

<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=2 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=1 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=1 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 

# 检查私网vpn1中IP地址为10.1.1.3的设备是否可达。

<HUAWEI> ping -vpn-instance vpn1 10.1.1.3
  PING 10.1.1.3: 56  data bytes, press CTRL_C to break
    Reply from 10.1.1.3: bytes=56 Sequence=1 ttl=255 time=31 ms
    Reply from 10.1.1.3: bytes=56 Sequence=2 ttl=255 time=31 ms
    Reply from 10.1.1.3: bytes=56 Sequence=3 ttl=255 time=31 ms
    Reply from 10.1.1.3: bytes=56 Sequence=4 ttl=255 time=31 ms
    Reply from 10.1.1.3: bytes=56 Sequence=5 ttl=255 time=31 ms
  --- 10.1.1.3 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 31/31/31 ms 

# 检查IP地址为10.1.1.4的主机是否可达,设置发送报文次数为8,设置发送报文等待应答的超时时间为4000ms。

<HUAWEI> ping -c 8 -t 4000 10.1.1.4
  PING 10.1.1.4: 56  data bytes, press CTRL_C to break
    Reply from 10.1.1.4: bytes=56 Sequence=1 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=2 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=3 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=4 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=5 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=6 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=7 ttl=255 time=32 ms
    Reply from 10.1.1.4: bytes=56 Sequence=8 ttl=255 time=32 ms
  --- 10.1.1.4 ping statistics ---
    8 packet(s) transmitted
    8 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 32/32/32 ms

# 发送可变长度的ECHO-REQUEST报文。

<HUAWEI> ping -range min 56 max 60 192.168.1.9
  PING 192.168.1.9: 56-60  data bytes, press CTRL_C to break
    Reply from 192.168.1.9: bytes=56 Sequence=1 ttl=255 time=80 ms
    Reply from 192.168.1.9: bytes=57 Sequence=2 ttl=255 time=60 ms
    Reply from 192.168.1.9: bytes=58 Sequence=3 ttl=255 time=80 ms
    Reply from 192.168.1.9: bytes=59 Sequence=4 ttl=255 time=80 ms
    Reply from 192.168.1.9: bytes=60 Sequence=5 ttl=255 time=50 ms

  --- 192.168.1.9 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 50/70/80 ms   

 


			
表1 ping命令输出信息描述

项目

描述

PING x.x.x.x

对IP地址为x.x.x.x的目的主机进行Ping测试,检测目的主机是否可达。

x data bytes

发送的ECHO-REQUEST报文的长度。

press CTRL_C to break

在执行命令的过程中,键盘操作<CTRL + C>可终止Ping测试。

Reply from x.x.x.x

目的主机对每个ECHO-REQUEST报文的响应情况,包括:
  • bytes:响应报文的长度。

  • Sequence:响应报文的序号,用来判断报文是否有分组丢失、失序或重复。

  • ttl:响应报文的TTL。

  • time :响应时间,以ms为单位。

如果超时后没有收到响应报文,则显示“Request time out”。
说明:
当接收到结尾带(DUP!)的报文时,表示设备收到了序列号相同的ECHO-REPLY报文。

x.x.x.x ping statistics

对目的主机进行Ping测试的统计结果,包括:
  • packet(s) transmitted:发送的ECHO-REQUEST报文数目。

  • packet(s) received:接收到的ECHO-REPLY报文数目。

  • duplicates:接收到序列号相同的ECHO-REPLY报文的数目。

  • % packet loss:未响应报文数占应发送报文总数的百分比。

  • -- somebody's printing up packets:接收到ECHO-REPLY报文的数目大于发送ECHO-REQUEST报文的数目。

  • round-trip min/avg/max:响应时间的最小值、平均值、最大值,单位为ms(对于IPv4网络ping失败的时候不会打印该信息;对于IPv6网络ping失败的时候会打印round-trip min/avg/max = 0/0/0 ms)

END