ttl详解
搞网站的朋友都知道ping命令是非常有用的。ttl是什么意思?这样的问题,其实所知道的TTL更多的是关于网络方面的,比如我们在ping ip或ping 网站的时候都可以看到有TTL数值,如下图,相信网友所问的问题应该是ping中的TTL什么意思吧,下面我们来详细介绍下TTL是什么意思。希望对您有所帮助!
一、TTL是什么意思?
TTL是一个ip协议的值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。
TTL 的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。
在网络中主要是指ping网速中的TTL数值,ping命令相信熟悉网络的朋友都不会陌生,也为大家介绍过不少ping命令相关知识,在网络应用中,ping网速与IP地址等都是非常常用的命令,通过ping ip或网址可以知道网络是否畅通或者网络传输质量如何等,是网络技术人员常用的检测网络命令。如下图是ping比克尔网网速截图:
![](http://files.jb51.net/file_images/article/201405/20140513162854219.png)
二、ping网速中的TTL是什么意思
从上图可以看出,ping电脑百事网网速中的TTL=114,那么这个TTL数值是什么意思呢?通俗的说,TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。
在比如我ping一下学无忧的网址,点击“开始菜单--运行”,在运行输入框输入cmd命令,然后执行该命令即可打开命令提示符运行窗口,然后输入“ping www.xue51.com”命令(双引号除外),输入之后就会返回了TTL值。如图所示:
![](http://files.jb51.net/file_images/article/201405/2014051316320000.jpg)
上面丢失度是0%,说明网址能正常访问打开,如果发现接受不了,数据全部丢失的话,那说明服务器空间上除了问题,这就要联系你的空间服务商。
TTL值默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的默认TTL值为128,Win7系统的TTL值是64,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。(这个是从网络上找到的),曙光博客的目的主机是采用FreeBSD系统的(可能已经更换),在这里可能TTL值是64,而不是UNIX主机的255,所以在从这里到目的主机经过了64-51=13个路由(此处容易引起误区,64是代表 FressBSD的默认TTL还是发起方的TTL,这个TTL初始值应该是被PING方的,我认为应该是代表发起方的TTL,因为TTL是由发送主机设置。
简单概括的说,ttl是一个时间值,TTL是发出信息再返回的时间。是一个生存周期,他不能计算途径路由,他与路由没关系,与服务器操作系统有关系,通过观察TTL值的大小,可以粗略的判断出目标的主机系统类型,一般情况下:
TTL值在100至130之间,主机系统为WINDOWS
TTL值在240至255之间,主机系统为UNIX或LINUX
所以我们会发现ping不同网站或不同服务器主机得到的TTL数值是不一样的,主要是由服务器主机的操作系统决定,一般我们只要简单了解这些知识就可以说基本懂TTL是什么意思了。
三、TTL值参考:
TTL时间越长,缓存时间越长,更新越不容易及时生效。 增大TTL值,以节约域名解析时间,给网站访问加速。
TTL设置的小一些,生效时间就会快一些。二.减小TTL值,减少更换空间时的不可访问时间。关于网络词语的ttl值也有tt恋,说白了女同性恋者,当这些都是题外话
TTL其他意思方面,在电路中有TTL电平,TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,0V等价于逻辑“0”,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。在生活方面,TTL还被指:女同性恋,T意义上为老公,P则是受照顾的老婆,TTL就是指TT恋,即两个T在一起,T一般是长得很像男生的女生。
TTL是什么意思这里算是比较全面的为大家总结了一下,其实更多的时候我们是指ping网速中的TTL数值,阅读完本文相信大家对TTL有着比较清楚的认识吧。
下面是其它网友的补充:
TTL(Time-To-Live)的作用是限制数据包在网络中存在的时间,防止数据包不断的在IP互联网络上循环。
TTL指定数据包被路由器丢弃之前允许通过的最大网段数量,是IP数据包在网络中可以转发的最大跳数(跃点数),TTL位于IPv4包的第9个字节,是一个8 bit字段。
TTL字段由数据包的发送者设置,路由器转发数据包时,至少将TTL减小1。路由器将会丢弃TTL=0的数据包,并向数据包源地址发送一个类型11的ICMP报文,表示time exceeded(TTL为0),由发送者决定是否要重发。
TTL的最大值是255,推荐值是64,windows中TTL默认值保存在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下的DefaultTTL(DWORD)中,修改设置后重启才生效。
ping命令结果中的TTL:来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
ping -i 1 8.8.8.8后可抓到Time-to-live exceeded的数据包,wireshark抓包使用icmp.type == 11过滤对应的ICMP包:Time-to-live exceeded (Time to live exceeded in transit),抓包中可以根据TTL值判断数据包是否被中间设备伪造。
在域名系统 (DNS)中的TTL存活时间,用以设定域名纪录的最长缓存时间。