TTL值

TTL 即 Time To Live,缓存的生存时间。TTL是一个ip协议的值。IP协议中TTL值是数据包的一个生命周期,每当经过一次路由转发时都会减一,当减到0时,数据包将会丢弃,丢弃者会发送一个ICMP数据包,通知发送者,主要用来防止出现路由环路时,数据包无限循环转发,而造成网络拥堵,这个值使用一个字节表示,也就是最大只有255,如果两个通讯者之间经过的路由超过255时,它是不能通过IP进行通讯的。

这个值还用来探测路径,数据包的TTL值从1开始,一个一个增加,直到到达对方,这样通过标识回应者,就可以知道整个传输路径了,Windows中的命令为tracert,就是使用的这种机制。

ARP设置TTL值 高速缓存是为了加快IP到MAC地址查询的速度。

TTL(Time To Live)生存时间,也就是服务器允许数据在缓存中存放的时间。该值设置的过小,数据更新的更频繁,数据在网络中的一致性就越高,但是这样增加了服务器的负担,使得名字解析时间变长,TTL越大名字解析时间就越短,但是数据在缓存中存放的时间过长,缓存中的数据可能过时,跟服务器上的数据不一致。

TTL指定数据包被路由器丢弃之前允许通过的最大网段数量,是IP数据包在网络中可以转发的最大跳数(跃点数),TTL位于IPv4包的第9个字节,是一个8 bit字段。,它告诉网络,数据包在网络中的时间是否太长而应被丢弃

由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数

TTL的最大值是255,推荐值是64,windows中TTL默认值保存在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下的DefaultTTL(DWORD)中,修改设置后重启才生效。(修改可以有效防止被人推测到操作系统)

TTL值默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的默认TTL值为128,Win7系统的TTL值是64,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。

TTL(Time-To-Live)的作用是限制数据包在网络中存在的时间,防止数据包不断的在IP互联网络上循环。

作者:楊志栋
链接:https://www.jianshu.com/p/edb3ac63d1cf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。