IP协议里的Time To Live(TTL)

Time to live, 有时简称TTL, 是一个计算机网络术语, 描述在一个数据包在计算机和网络设备间传送的时候, 在它可以被丢弃之前, 可以经历的设备的数目的一个极限值.

在IPv4中, TTL是一个8个二进制位的IP协议的一个header. 这个值可以被认为是数据包在internet系统中可以跳跃的次数上限. TTL是由数据包的发送者设置的, 在前往目的地的过程中, 每经过一台主机或设备, 这个值就要减少一点. 如果在数据包到达目的地前, TTL值被减到了0,那么这个包将作为一个ICMP错误的数据包被丢弃.

TTL可以防止无法到达目的地的数据包在网络中无限制地传递, 形成"不死包".

不同的协议对TTL初始值的设置不同, 从下图中可以看出ping命令设置TTL的值是128。

5-27-2010 11-36-34 PM

5-27-2010 11-44-15 PM

一些用法

===========

在ping命令中, 观察TTL的值, 可以理解发送ping命令的机器到目的地之间逻辑上的距离大致是多少.

在分析NLB这样结构中的网络包时(一台机器即有一个NLB的IP, 又有一个本机的IP), 即使是相同NLB的IP地址发过来的, 你也可以通过TTL来查看一下, 如果这两个值不同, 说明即使给你发送数据包的是同一个IP, 那么他们也是不同的主机.

资料来源:

Time to live

http://en.wikipedia.org/wiki/Time_to_live

原文地址:https://www.cnblogs.com/awpatp/p/1745883.html