网 络 赞 助

工 具 文 档

最 新 技 术

热 门 文 章

您现在的位置: 星云网络 >> 文章中心 >> 网络技术 >> 网络综合 >> 文章正文
文章搜索:

小命令大作用 用Ping解决路由器故障

作者:佚名    文章来源:本站原创    点击数:    更新时间:2008-7-24
Ping命令

  Packet Internet groper(ping) 该命令主要是用来检查路由是否能够到达,由于该命令的包长非常小,所以在网上传递的速度非常快,可以快速检测要去的站点是否可达,一般您在去某一站点是可以先运行一下该命令看看该站点是否可达。如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线是否连通、网络适配器配置是否正确、IP地址是否可用等。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。它的使用格式是在命令提示符下键入:Ping IP地址或主机名,执行结果显示响应时间,重复执行这个命令,你可以发现Ping报告的响应时间是不同的。

  以用户方式使用Ping命令实际上是个非常简单的全局命令。它的形式如下:

  bjrouter#ping [protocol] {host|address}

  使用这个形式的Ping命令时,我们可以键入下面的命令来执行ping:bjrouter#ping 192.168.1.2

  假设我们的路由器使用的是IP协议,将5个ICMP回送请求数据包发送到IP地址为192.168.1.2的对方路由器。另外我们也可以使用下面这个远程的路由器名字:

  bjrouter#ping gzrouter

  如果要使用路由器名字,就必须激活路由器名字转换特性。如果路由器不知道如何将gzrouter转换成IP地址,我们就无法完成Ping命令的运行了。这时我们将会看到这个消息:

  bjrouter#ping gzrouter

  Translating“gzrouter”

  %Unrecognized host or address,or protocol not running.

  如果我们感到这个消息的文字太长,我们可以设定使用的IP地址,用Ping命令来查询地址为192.168.1.2的对方机器,方法是输入如下的命令:

  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

  请注意这一次所有的数据包都接收到了,有些情况下,可能有几个数据包收不到。我们立即可以想到的一种情况是ISDN(DNN)连接有问题了。如果在发送Ping命令时数据链路恰巧出现故障,那么在连接恢复之前,所有的5个数据包都可能超时。在这种情况下,你既可以改变感兴趣的信息的定义,也可以在试发Ping命令之前使用另一种方法,就是扩展型Ping命令。 扩展型Ping命令

  关于Ping命令还有另一个问题需要注意,按照默认设置,用户方式的Ping命令将TTL组件设置为32。Ping遇到每个路由器时,这个值将递减1。如果TTL的值变成0,那么最后一个路由器将发回一个ICMP超时消息。如果你有一个非常长的路径,那么这个值可能不够。在大型网络中,必须使用扩展型Ping来检查网络的连通性。

  扩展型Ping命令与用户方式的Ping命令有一些差别,比如:扩展型Ping我们必须激活才能使用。它只支持IP协议、AppleTalk和IPX协议,不支持Apollo、CLNX、DECnet、Vines、XNS等协议,还有一个最重要的优点是,我们自己可以改变Ping命令使用的默认值,改变这些值后,就可以使用相同的应用程序来进行许多不同的测试。

  我们来看看扩展Ping是怎么来运行的,要使用扩展Ping首先要处于激活方式时键入Ping,并按回车键,然后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命令的参数设置

  从上面的输出结果中,我们可以看出一些参数是很有用的。第一,它问我们使用什么协议。这时,如果按回车键,就选择默认协议,即IP。下一个项目是目标IP地址。如果我们选择AppleTalk作为我们的协议,它将提示我们输入AppleTalk目标地址。如果选择IPX,情况也一样。

  下一个参数是重复运行Ping命令的次数。我们可以将它设置为任何一个合理的整数。如果我们会遇到间歇性丢失连接的问题,那么将这个值设置得大一些,Ping命令将运行更长的时间,你就能够查看何时失去连接。它也使你能够连续运行Ping命令,而在另一方路由器上运行的应用程序似乎失去了连接。如果应用程序和Ping命令同时失去了连接,你就可以认为网络的连通性存在问题。但是,如果应用程序失去了连接,而Ping命令没有失去连接,那么就表示问题出在应用程序中。PINg类型字段的值

  类型字段消息类型

  0回送应答

  3不能到达目的地

  4源路由断开

  5重定向

  8回送请求

  11超时

  12参数问题

  13时戳请求

  14时戳应答

  15过时(信息请求)

  16过时(信息应答)

  17地址屏蔽请求

  18地址屏蔽应答

  数据包的大小也可以改变,它的默认值是100个字节。在网络的负荷量较大时,它可以用来检查连接的状态。当数据包的大小是默认值100个字节时,Ping命令常常无法暴露网络的任何异常情况,但是,当你将数据包的大小提高到500个字节时,你就能够看到重要的连接丢失现象或者应答时间中的重要变化。在你对网络进行基线性能分析时,你应该将大型、中型和小型Ping命令的吞吐量速度记入文档。这将有助于你准确地描绘在不同负荷量的情况下网络的运行情况。

  当你设置这个参数时,应该小心,不要把它设置成会将其他因素掺和进来的程度。如果将数据包的大小设置为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

  我们能够调整的下一个参数是超时参数。如果已经将数据的大小设置为大于默认值,我们也应该改变超时参数,因为数据包越大,发送和接收数据包所需要的时间也越长。如果将超时参数设置得太小,结果它看上去既可能像出现了间歇性连接中断,也可能像连接完全中断了一样。实际上,它只不过是在Ping命令已经超时以后数据包才到达的一种表现。如果你遇到了似乎是间歇性连接中断或者连接完全中断的问题,请将超时的值增加一倍,看看结果是如何变化的:

  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]:

[1] [2] 下一页

加入网摘:365Key  | 新浪ViVi  | 和讯网摘  | 天极网摘  | POCO网摘 
文章录入:文章录入:2008xynt    责任编辑:2008xynt 
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 友情链接说明:  我们只接受页面健康的同类型网站之类的方字链接形式.  点此申请链接  联系QQ:40562876
    点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请点击申请点击申请