小命令大作用 用Ping解决路由器故障
Packet Internet groper(ping) 该命令主要是用来检查路由
以用户方式使用Ping命令实际上是个非常简单的全局命令。它的形式如下:
bjrouter#ping [protocol] {host|address}
假设我们的路由器使用的是IP协议,将5个ICMP回送请求数据包发送到IP地址为192.168.1.2的对方路由器。另外我们也可以使用下面这个远程的路由器名字:
bjrouter#ping gzrouter
bjrouter#ping gzrouter
Translating“gzrouter”
%Unrecognized host or address,or protocol not running.
bjrouter#ping 192.168.1.2
或者,如果我们想要检查一个使用AppleTalk的网络路由器,我们可以在命令中用apple,而不是使用IP,然后使用一个有效的AppleTalk地址,例如:
bjrouter#ping apple 22.195
我们来看看以用户方式使用Ping命令能看到什么呢?
当在一个路由器上发出一个Ping命令:
bjrouter#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2 ,timeout is 2 seconds:
.!!!
Success rate is 80 percent (4/5),round-trip min/avg/max=48/49/52ms
请注意,5个数据包已经发出,但是我们在第一个数据包上遇到一个超时,而所有其他的数据包平均只用了49毫秒就得到了应答。其实这也不一定说明它有问题,实际上这种情况是非常多见的,之所以第一个数据包超时,这是很容易解释的。以太网协议在OSI模型的第2层上运行,而IP和ICMP则在第3层上层运行。在我们能够与运程的路由器通信之前,我们必须将第3层的地址转换成第3层的地址,这需要花费时间,Ping的默认超时只有两秒钟。我们不能以足够快的速度将IP地址转换成MAC地址,来防止第一个数据包超时,而后面的数据包则不需要转换MAC地址,因为它已经保存在ARP表中了。如果我们在第一个Ping之后立即试发相同的Ping,那么我们就不应该看到第一个数据包超时,因为ARP高速缓存仍然存储着远程路由器的MAC地址。我们再来看一看,这个例子:
bjrouter#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2 ,timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/), round-trip min/avg/max=48/50/55 ms
关于Ping命令还有另一个问题需要注意,按照默认设置,用户方式的Ping命令将TTL组件设置为32。Ping遇到每个路由
bjrouter#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]:
Datagram size[100]:
Timeout in seconds [2]:
Extended commands [n]:y
Source address or interface:192.168.1.1
Type of service [0]:
Set DF bit in IP header ? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose [none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2 ,timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max=1/2/4 ms
Ping命令的参数设置
下一个参数是重复运行Ping命令的次数。我们可以将它设置为任何一个合理的整数。如果我们会遇到间歇性丢失连接的问题,那么将这个值设置得大一些,Ping命令将运行更长的时间,你就能够查看何时失去连接。它也使你能够连续运行Ping命令,而在另一方路由器上运行的应用程序似乎失去了连接。如果应用程序和Ping命令同时失去了连接,你就可以认为网络的连通性存在问题。但是,如果应用程序失去了连接,而Ping命令没有失去连接,那么就表示问题出在应用程序中。PINg类型字段的值
类型字段消息类型
0回送应答
3不能到达目的地
4源路由断开
5重定向
8回送请求
11超时
12参数问题
13时戳请求
14时戳应答
15过时(信息请求)
16过时(信息应答)
17地址屏蔽请求
18地址屏蔽应答
当你设置这个参数时,应该小心,不要把它设置成会将其他因素掺和进来的程度。如果将数据包的大小设置为10000个字节,那么可以肯定它会产生你意料不到的结果。出现这种情况的原因之一是,以太网机器必须将数据包分割成以太网能够处理的大小,然后才能在网络线路上发送。远程接收到数据包后,要对数据包重新进行组合。这种组合花费的时间比你希望的要长,并且会导致它根据Ping所需时间之外的其他因素来解释连接的速度。当你改变数据包的大小时,请使用合理的方法。观察下面的命令输出,注意Ping是如何因为数据包的大小增加到最大值18024个字节时而造成超时的。另外,应答的时间同样也大大增加了,其原因肯定是因为数据包的大小有问题:
应答中由器的代码类型和Cisco路由器的应答
bjrouter#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]:
Datagram size[100]:18024
Timeout in seconds [2]:
Extended commands [n]:y
Source address or interface:192.168.1.1
Type of service [0]:
Set DF bit in IP header ? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose [none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 18024-byte ICMP Echos to 192.168.1.2 ,timeout is 2 seconds:
!!!..
Success rate is 60 percent (3/5), round-trip min/avg/max=40/40/40 ms
bjrouter#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]:
Datagram size[100]:
Timeout in seconds [2]:4
Extended commands [n]:y
Source address or interface:192.168.1.1
Type of service [0]:
Set DF bit in IP header ? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose [none]:
Sweep range of sizes [n]:
