複製鏈接
請複製以下鏈接發送給好友

TTL

(生存時間值)

鎖定
TTL是 Time To Live的縮寫,該字段指定IP包被路由器丟棄之前允許通過的最大網段數量。TTL是IPv4報頭的一個8 bit字段。
注意:TTL與DNS TTL有區別。二者都是生存時間,前者指ICMP包的轉發次數(跳數),後者指域名解析信息在DNS中的存在時間。
中文名
生存時間
外文名
Time To Live
外語縮寫
TTL
寓    意
域名解析在DNS服務器中存留時間
應    用
計算機
系    統
WINDOWS系統

目錄

TTL功能特點

在IPv4包頭中TTL是一個8 bit字段,它位於IPv4包的第9個字節。如下圖所示,每
一行表示 32 bit(4字節),位從0開始編號,即0~31。
ipv4報文頭部的TTL字段 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包的發送者能收到告警消息。
TTL 是由發送主機設置的,以防止數據包不斷在IP互聯網絡上永不終止地循環。轉發IP數據包時,要求路由器至少將 TTL 減小 1。
TTL值的註冊表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 其中有個DefaultTTL的DWORD值,其數據就是默認的TTL值了,我們可以修改,但不能大於十進制的255。Windows系統設置後重啓才生效。
生存時間,就是一條域名解析記錄在DNS服務器中的存留時間。當各地的DNS服務器接受到解析請求時,就會向域名指定的DNS服務器(權威域名服務器)發出解析請求從而獲得解析記錄;在獲得這個記錄之後,記錄會在DNS服務器(各地的緩存服務器,也叫遞歸域名服務器)中保存一段時間,這段時間內如果再接到這個域名的解析請求,DNS服務器將不再向NS服務器發出請求,而是直接返回剛才獲得的記錄;而這個記錄在DNS服務器上保留的時間,就是TTL值。

TTL示例

生存時間,簡單的説它表示DNS記錄在DNS服務器上緩存時間。要理解它的值,請先看下面的一個例子: [1] 
假設,有這樣一個域名myhost.baiwan-han.c o m(其實,這就是一條DNS記錄,通常表示在baiwan-han.c o m域中有一台名為myhost的主機)對應IP地址為1.1.1.1,它的TTL為10分鐘。這個域名或稱這條記錄存儲在一台名為-ns.baiwan-han.c o m的DNS服務器上。
TTL TTL
此時如果有一個用户在瀏覽器中輸入以下地址(又稱URL):myhost.baiwan-han.c o m 那麼會發生些什麼呢?
該訪問者指定的DNS服務器(或是他的ISP,互聯網服務商,動態分配給他的)8.8.8.8就會試圖為他解釋myhost.baiwan-han.c o m,當然8.8.8.8這台DNS服務器由於沒有包含myhost.baiwan-han.c o m這條信息,因此無法立即解析,但是通過全球DNS的遞歸查詢後,最終定位到-ns.baiwan-han.c o m這台DNS服務器,-ns.baiwan-han.c o m這台DNS服務器將myhost.baiwan-han.c o m對應的IP地址1.1.1.1告訴8.8.8.8這台DNS服務器,然有再由8.8.8.8告訴用户結果。8.8.8.8為了以後加快對myhost.baiwan-han.c o m這條記錄的解析,就將剛才的1.1.1.1結果保留一段時間,這就是TTL時間,在這段時間內如果用户又有對myhost.baiwan-han.c o m這條記錄的解析請求,它就直接告訴用户1.1.1.1,當TTL到期則又會重複上面的過程。
參考資料