ping网络时ttl=232与 ttl=56 有什么区别及含意

服务外包公司     网络维护     2016-3-19    10834    已收录
我们在测试网络ping是icmp报文的一种应用。用来测试网络中各设备的连通性。在这几天的实验课上,网际电脑又用到了这个非常常用的命令,但是这次我发现了一些以前没有太注意的地方,那就是我在Ping不同的地址时所返回的TTL值是不同的。如下:

C:\Documents and Settings\Administrator>ping 118.123.116.163
Pinging 118.123.116.163 with 32 bytes of data:
001.jpg
Ping statistics for 118.123.116.163:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 79ms, Maximum = 81ms, Average = 80ms

.C:\Documents and Settings\Administrator>ping 171.92.208.179
Pinging 171.92.208.179 with 32 bytes of data:
002.jpg
Ping statistics for 171.92.208.179:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 74ms, Maximum = 77ms, Average = 75ms

在这里我要说明的是不同的Rpely消息中的不同的TTL值的由来。TTL 是数据包为了防止数据包在网络中无限制的循环,而设定的网络数据包在网络传输中最大的转发次数。因为每转发一次在路由器,就会转向下一跳,所以,又通常称为最大跳数。具体的含义是这样的。我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。这就是TTL的意思了

      在此补充一点,由于不同的操作系统所定义的TTL是不同的,一般有如下规则:默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。