ping命令显示的TTL是什么意思?

ping命令显示的TTL是什么意思?,第1张

您好,TTL是 Time To Live的缩写,TTL是生存时间的意思。表示该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。

简单来说,TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。

TTL由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,则把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包,并向IP包的发送者发送 ICMP time exceeded消息,以防止数据包不断在IP互联网络上永不终止地循环。

扩展资料

TTL的功能特点

TTL的作用是限制IP数据包在计算机网络中的存在的时间。TTL的最大值是255,TTL的一个推荐值是64。

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。

TTL的主要作用是避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。

TTL 是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。转发IP数据包时,要求路由器至少将 TTL 减小 1。

TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters ,其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255。Windows系统设置后重启才生效。

参考资料:百度百科-TTL

TTL(生存时间)

TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

Windows

95/98中TTL的缺省值为32。有人建议当到达一个节点比较困难时,把此值设为128。ping和tracerouter都使用TTL值以尝试到达给定的主机或跟踪到那个主机的路由。traceroute把包的TTL值设得较小,使它在到达目的的路上被各个路由器连续的丢弃。发出包到受到返回的ICMP报文之间的时间用来计算从一个路由器到另一个路由器的时间。

使用多路复用的IP协议,TTL值表示一个包被转发的范围。有以下转换:0,限制在同一主机

1,

限制在同一子网

32,

限制在同一节点

64,限制在同一区域(region)128,限制在同一大陆(continent)255,

由于不同的 *** 作系统的默认TTL值不同,因此有文章说可以通过返回的TTL值判断目标系统的类型,这是正确的,但不是TTL的功能,只是对TTL理解的一个应用。TTL的值可以修改。有些特殊的、系统(如NIDS)会定义特殊的TTL值,以拒绝非法访问数据进入。我们在执行PING命令时可以用-i参数指定TTL值,大家可以将TTL设置为0,则该包将被立即丢弃。有时我们执行了一个PING

命令,在缓发时却缓发了另一个地址,并带有一个英语的提示(大致意思是TTL无效),则表示该包在到达目标之前(也就是到返回IP位置时),包所带的TTL已经为0了或小于下一网段许可通过的TTL值了,该包已经被路由丢弃了。

指定数据报被路由器丢弃之前允许通过的网段数量。

TTL

是由发送主机设置的,以防止数据包不断在

IP

互联网络上永不终止地循环。转发

IP

数据包时,要求路由器至少将

TTL

减小

1。

使用PING时涉及到的

ICMP

报文类型

一个为ICMP请求回显(ICMP

Echo

Request)

一个为ICMP回显应答(ICMP

Echo

Reply)

TTL

字段值可以帮助我们识别 *** 作系统类型。

UNIX

及类

UNIX

*** 作系统

ICMP

回显应答的

TTL

字段值为

255

Compaq

Tru64

5.0

ICMP

回显应答的

TTL

字段值为

64

微软

Windows

NT/2K *** 作系统

ICMP

回显应答的

TTL

字段值为

128

微软

Windows

95

*** 作系统

ICMP

回显应答的

TTL

字段值为

32

当然,返回的TTL值是相同的

但有些情况下有所特殊

LINUX

Kernel

2.2.x

&

2.4.x

ICMP

回显应答的

TTL

字段值为

64

FreeBSD

4.1,

4.0,

3.4

Sun

Solaris

2.5.1,

2.6,

2.7,

2.8

OpenBSD

2.6,

2.7,

NetBSD

HP

UX

10.20

ICMP

回显应答的

TTL

字段值为

255

Windows

95/98/98SE

Windows

ME

ICMP

回显应答的

TTL

字段值为

32

Windows

NT4

WRKS

Windows

NT4

Server

Windows

2000

ICMP

回显应答的

TTL

字段值为

128

这样,我们就可以通过这种方法来辨别 *** 作系统

TTL

LINUX

64

WIN2K/NT

128

WINDOWS

系列

32

UNIX

系列

255

在ping命令中,TTL(生存时间值)的主要作用是标示IP数据包在计算机网络中可以转发的最大跳数。

TTL由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,则把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包,并向IP包的发送者发送 ICMP time exceeded消息,以防止数据包不断在IP互联网络上永不终止地循环。

【注意事项】:TTL的值在本机可以修改,TTL值的注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255。Windows系统设置后重启才生效。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7315940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存