跳跃含义(TTL 测量)

跳跃含义(TTL 测量)

当我使用 ping 命令时,我得到以下结果(Windows):

C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...

在此类实用程序的文档中,TTL 的测量单位为酒花. 根据 ICMP 规范RFC 792

生存的时间。 居住时间;由于此字段在处理数据报的每台机器上都会减少,因此此字段中的值应该至少与此数据报将穿越的网关数量一样大。

因此,每个主机将 TTL 至少减少 1第二. 没有提到酒花那么为什么要使用啤酒花呢?为什么不使用呢?多发性硬化症主机处理数据报的速度太快会怎样?为什么规范没有提到酒花

答案1

TTL 的设计目的是如果存在路由循环,则永远阻止数据包存活(并消耗资源)。

最初,路由器可能需要一秒以上的时间来处理一个数据包。

当路由器的速度变得更快,并开始在一秒内处理数据包时,将 TTL 减少为零是愚蠢的,因为这样就不会停止循环。

因此,它会将 TTL 减少一秒。

这一变化记录在RFC 1716第 5.3.1 节。

IP 标头的生存时间 (TTL) 字段被定义为限制数据报生存期的计时器。它是一个 8 位字段,单位是秒。处理数据包的每个路由器(或其他模块)都必须将 TTL 至少减少一,即使经过的时间远少于一秒。由于这种情况很常见,TTL 实际上是数据报在互联网上传播距离的跳数限制。

当路由器转发数据包时,它必须将 TTL 至少减少一。如果它保留数据包超过一秒,它可以每秒将 TTL 减少一。

也可以看看:

维基百科 - 生存时间

TTL 字段由数据报的发送方设置,并由到达目的地途中的每个主机减少。

Maxi-pedia - 生存时间 (TTL)

数据包经过的每个路由器都需要从 TTL 字段中减去至少一个计数。

相关内容