分享

ping 中TTL的含义

 宇宙之窗 2014-04-30
命令:
C:\Documents and Settings\user>ping www.ezloo.com

Pinging www.ezloo.com [66.235.202.42] with 32 bytes of data:

Reply from 66.235.202.42: bytes=32 time=254ms TTL=51
Reply from 66.235.202.42: bytes=32 time=256ms TTL=51
Request timed out.
Reply from 66.235.202.42: bytes=32 time=260ms TTL=51

Ping statistics for 66.235.202.42:
    Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
    Minimum = 254ms, Maximum = 260ms, Average = 256ms       从结果中我们可以看出曙光博客的服务器的IP地址是:66.235.202.42,所用的时间是256ms等,那TTL等与51是什么意思呢?
含义:
      TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当我们对网络上的主机进行ping操作的时候,我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。就像上面ping曙光博客的时候第三次那样,出现Request timed out的情况,增加TTL来减少网络资源的消耗。

公式:
    默认情况下,A.  Linux系统的TTL值为64或255,
              B. Windows NT/2000/XP系统的TTL值为128,
                C.  Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
<经过的路有数目>:=<系统TTL值> - <Ping命令得到的值>

如:若目的主机是windows NT/2000/XP,,ping命令显示的TTL值是51,则从这里到目的主机经过了128-51=77个路由。

    曙光博客的目的主机是采用FreeBSD系统的,在这里可能TTL值是64,而不是UNIX主机的255,所以在从我这里到目的主机经过了64-51=13个路由。

意义:
    当我们不知道目的主机的操作系统的时候我们可以根据TTL来猜测,但是不一定100%准确,如果目的主机是windows,但是经过了比如75个路由器,那么TTL的返回值是128-75=53,那么你可能认为这个目的主机是Linux系统,但是一般不会经过那么多的路由器,所以通过TTL来判断目的主机的操作系统还是有一定的依据的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多