Ⅰ IP 數據包報頭中的 TTL 欄位有什麼作用
TTL值對我們在進行網路故障分析時能起到很關鍵的作用。
TTL(time to live),即生存時間,該欄位表示一個IP數據報能夠經過的最大的路由器跳數,TTL欄位是由IP數據報發送端初始設置的。
每個處理該數據報的路由器都需要將其 TTL值減1,即當一個IP數據報每經過一個路由時,其TTL值會減1,當路由器收到一個TTL值為0的數據報時,路由器會將其丟棄。因此,TTL欄位的目的是就是為了防止1個IP數據報網路中循環的流動。
例如,當路由器的路由表配置錯誤或網路設備接線錯誤是,則可能會造成網路環路,在這種情況下,路由器可能根據其路由表將該數據報一直循環轉發下去,導致IP數據報一直在網路中發送。
因此,就需要一種機制來給這些循環傳遞的數據報上加上一個生存上限,以保證數據報不會無休止的發送,TTL欄位正是用於實現這種機制的一種手段。下圖為科來網路分析系統對IP數據報的解碼:
當我們在分析數據報的過程中如果發現TTL=1的IP數據包或者在科來網路分析系統的診斷下看到IP數據報生存周期太短的事件(組播數據報除外)時,我們就應該懷疑網路中是否存在環路了。
對於網路環路的分析,我們還應該結合報頭中的標識欄位來查找,如果發現數據報的標識符都相同,並且TTL值一直在遞減,那麼說明網路中一定存在環路的故障,這時,就應該檢查網路設備是否出現有接錯線或者路由配置出現問題。
Ⅱ IP 數據包的哪個欄位用於防止無限循環
ttl=time to live數據包的存活時間,每經過一個路由減少1