概念:
TTL是 Time To Live的縮寫,該字段指定IP包被路由器丟棄之前允許通過的最大網段數量。TTL是IPv4報頭的一個8 bit字段。
注意:TTL與DNS TTL有區別。二者都是生存時間,前者指ICMP包的轉發次數(跳數),后者指域名解析信息在DNS中的存在時間。
在IPv4包頭中TTL是一個8 bit字段,它位於IPv4包的第9個字節。如下圖所示,每
一行表示 32 bit(4字節),位從0開始編號,即0~31。

ipv4報文頭部的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包的發送者能收到告警消息。