不知道你是否经常使用ping的命令,如果你经常用的话,不知道你对ping命令返回的结果中TTL代表什么意思掌握多少。据说通过TTL值的大小可以判断目的主机的操作系统是什么类型的,如果你对这个感兴趣,就接着往下看吧。
最近好像一直在当网络工程师,所以ping命令也用的比较频繁。但是对于ping结果中的TTL的含义还是有点不清楚,隐约觉得这个在大学的计算机网络课上学过,好像是经过什么的跳数。
基于好奇,我用谷歌搜了一下。于是就搜到了这篇文章ping结果中TTL是什么意思
以下是我ping我的博客的返回结果:
D:\hexo_blog>ping www.chuckfang.top
正在 Ping www.chuckfang.top [39.96.3.64] 具有 32 字节的数据:
来自 39.96.3.64 的回复: 字节=32 时间=108ms TTL=52
来自 39.96.3.64 的回复: 字节=32 时间=124ms TTL=52
来自 39.96.3.64 的回复: 字节=32 时间=118ms TTL=52
来自 39.96.3.64 的回复: 字节=32 时间=126ms TTL=52
39.96.3.64 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 108ms,最长 = 126ms,平均 = 119ms
可以看到博客的IP地址是39.96.3.64,平均响应时间是119ms,那这个TTL等于52代表什么意思呢?
TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当我们对网络上的主机进行ping操作的时候,我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。(这个是从网络上找到的),我的博客的目的主机是采用Linux系统的,在这里可能TTL值是64,而不是UNIX主机的255,所以在从我这里到目的主机经过了64-52=12个路由。当我们不知道目的主机的操作系统的时候我们可以根据TTL来猜测,但是不一定100%准确,如果目的主机是windows,但是经过了比如75个路由器,那么TTL的返回值是128-75=53,那么你可能认为这个目的主机是Linux系统,但是一般不会经过那么多的路由器,所以通过TTL来判断目的主机的操作系统还是有一定的依据的。
所以如果你想知道目的主机使用什么操作系统的时候,就可以ping一下,然后看看TTL的值,就能大概推测出来。
以上内容摘抄自曙光博客ping结果中TTL是什么意思,侵删。
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!