Cisco的ping命令不但支持IP协议,而且支持大多数其他的桌面协议,如IPX和AppleTalk协议的ping命令。我们首先看一下支持IP协议的ping命令以用户EXEC方式执行的情况,然后再讨论在特权模式下,扩展的ping命令包含的许多强大功能。
用户执行模式
IP PING 简单的IP ping既可以在用户模式下执行,也可以在特权模式下执行。正常情况下,命令会发送回5个回应请求,5个惊叹号表明所有的请求都成功地接收到了响应。输出中还包括最大、最小和平均往返时间等信息。
每一个"!"表明一个echo响应被成功的接受,如果不是"!"号,则表明echo响应未被接收到的原因:
! 响应成功接收
. 请求超时
U 目的不可达
P 协议不可达
N 网络不可达
Q 源抑制
M 不能分段
? 不可知报文类型
IPX PING IPX ping命令只能在运行IOS v 8.2及其以上版本的路由器上执行。用户模式下的IPX ping通常仅用于测试Cisco路由器接口。在特权模式下,用户可以ping特定的NOVELL工作站,命令的格式为“ping ipx IPX地址”。
APPLETALE PING 该命令使用Apple Echo Protocol(AEP)以确认AppleTalk节点之间的连通性。需要注意的是,目前的Cisco路由器仅对以太 网接口支持Apple Echo Protocol。命令的格式为“ping apple Appletalk地址”。
特权执行模式
在特权执行模式下,扩展的ping命令适用于任何一种桌面协议。它包含更多的功能属性,因此可以获得更为详细的信息。通过这些信息我们可以分析网络性能下降的原因而不单单是服务丢失的原因。扩展的ping命令的执行方式也是敲入ping。然后路由器提示各种不同的属性。
EXTENDED IP PING 其使用方法如下所示:
Protocol [ip]:
Target IP address: 165.48.183.12
Repeat count [5]: 10
Datagram size [100]: 1600
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 165.48.48.3
Type of service [0]:
Set DF bit in IP header? [no]:
Data pattern [0xABCD]:
Loose, Srict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 1600-byte ICMP Echoes to 165.58.183.12, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 36/39/48 ms
Protocol 需要测试的协议。
Target address 测试的目标地址。
Repeat count 如果出现间歇性的失败或者响应时间过慢,ping重复的次数。
Datagram size 如果怀疑报文由于延迟过长或者分段失败而丢失,则可以提高报文的大小。例如,我们可以使用1600字节的报文来强制分段。
Timeout 如果怀疑超时是由于响应过慢而不是报文丢失,则可以提高该值。
Extended commands 回答确定以获得扩展属性。
Source address 必须是路由器接口的地址。
Type of service 根据RFC 791 TOS规定的属性,通常缺省值为0。
Set DF bit in IP header? 通过设置DF位禁止分段,即使是报文超过了路由器定义的MTU也禁止分段。
Data pattern [0xABCD] 通过改变数据模式可以测试线路的噪声。
Loose,Strict,Record,Timestamp,Verbose[none] 这些都是IP报文头的属性。一般只使用Record属性和Verbose,其他属性很少被使用。Record可以用来记录报文每一跳的地址,Verbose属性给出每一个回应应答的响应时间。。
Sweep range of sizes [n] 该属性主要用于测试大报文被丢失、处理速度过慢或者分段失败等故障。
EXTENDED APPLETALK PING 扩展的AppleTalk ping命令是对用户模式下ping的增强,这一点与扩展的IPX ping类似。与IP和IPX扩展ping一样,用户也可以选择Verbose等属性。
CISCO扩展PING详解
说完IP报文头的内容,趁着我的实验环境还没拆,咱们来看看扩展ping的详细说明吧,这个在日常工作中是经常会用到的,拓扑还是这个:
下面咱们用R1上的1.1.1.1 去ping R4上的4.4.4.4
R1#ping //开始ping
Protocol [ip]: //协议选择IP
Target IP address: 4.4.4.4 //目的IP设置为:4.4.4.4
Repeat count [5]: 1 //重复次数,也就是发几个ping包,设置为1
Datagram size [100]: //ping包大小,可用于测试链路MTU
Timeout in seconds [2]: //超时时间,默认2秒,可根据链路质量进行调整
Extended commands [n]: y //是不使用扩展参数,当然
Source address or interface: 1.1.1.1 //源IP,默认使用数据包的出站接口IP,这里我们设置为1.1.1.1
Type of service [0]: //TOS字段,用于QoS
Set DF bit in IP header? [no]: //DF位,用于设置该数据包是否允进行拆分,当datagram size大于链路的MTU值时,需要将数据包进行拆分,但是如果设置了DF位为1,则拆分不分被允许,该数据包会被丢弃。
Validate reply data? [no]: //是否对reply数据包进行确认,一般没必要
Data pattern [0xABCD]: //ping包的数据位的内容,默认是0XABCD,也可以根据设置成别的,用处不大(只是个数据填充,目前没发现有什么其他意义)
Loose, Strict, Record, Timestamp, Verbose[none]: //可选项,精读系统文章第003篇有专门讲解
Sweep range of sizes [n]: y //是否尝试用可变长的ping包,如果选NO,则ping包使用datagram size设置的数据大小,并且不会出现下面三个选项,如果设置YES,则需要继续回答下面的问题
Sweep min size [36]: 50 //ping包的最小尺寸
Sweep max size [18024]: 100 //ping包的最大尺寸
Sweep interval [1]: //ping包尺寸的变化步长,本实验中,我设置的ping包的最小尺寸是50,最大尺寸是100,变长步长是默认值1,这样就会连续发送大小为50、51、52、……、100,共计51个ping包,而不是我在最开始我在repeat count后面设置的1个ping包。
Type escape sequence to abort.
Sending 51, [50..100]-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (51/51), round-trip min/avg/max = 24/34/68 ms
这就是ping命令在IOS平台的详细参数说明,希望对大家有帮助。
round-trip min/avg/max = 24/34/68 ms //最小值,平均值,最大值
统计报文发送时间,从发送到接收应答的时间