- 相關(guān)推薦
使用TTL分析診斷網(wǎng)絡(luò)故障
一、TTL簡介
TTL,全稱是Time To Live,中文名為生存時間,它是IP報頭中一個非常重要的參數(shù)。通過TTL的值,我們可以判斷出當(dāng)前網(wǎng)絡(luò)IP層的工作狀況。
TTL告訴網(wǎng)絡(luò)中的路由器數(shù)據(jù)包在網(wǎng)絡(luò)中的時間是否太長而應(yīng)被丟棄,TTL的最初設(shè)想是確定一個時間范圍,超過此時間就把包丟棄。由于數(shù)據(jù)包每經(jīng)過一個路由器時,TTL值都會至少被路由器減1,所以TTL值通常表示包在被丟棄前還能最多經(jīng)過的路由器個數(shù)。當(dāng)TTL值為0時,路由器丟棄該數(shù)據(jù)包,并發(fā)送一個ICMP報文給數(shù)據(jù)包的最初發(fā)送者。
有很多原因會導(dǎo)致數(shù)據(jù)包在一定時間內(nèi)不能被傳遞到目的地。例如,不正確的路由表配置可能導(dǎo)致數(shù)據(jù)包的無限循環(huán),而解決方法就是在一段時間后丟棄這個數(shù)據(jù)包,然后給發(fā)送者發(fā)送一個報文,由發(fā)送者決定是否重發(fā)該數(shù)據(jù)包。當(dāng)網(wǎng)絡(luò)出現(xiàn)這種情況時,數(shù)據(jù)包就會在路由表中配置錯誤的路由器處重復(fù)發(fā)送,每發(fā)送一次,TTL值減1,直到TTL為0時路由器丟棄該數(shù)據(jù)包,造成網(wǎng)絡(luò)中數(shù)據(jù)傳輸錯誤。
操作系統(tǒng)和傳輸協(xié)議不同,對應(yīng)TTL的默認(rèn)值也不同。表1列出了常見操作系統(tǒng)通過TCP和UDP協(xié)議傳輸時的TTL默認(rèn)值。
二、 查看數(shù)據(jù)包的TTL值并分析傳輸故障
網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備,其內(nèi)部都是由操作系統(tǒng)進行處理的(有些硬件設(shè)備將系統(tǒng)預(yù)裝在了硬件芯片里面),在網(wǎng)絡(luò)遇到傳輸故障時,我們可以使用網(wǎng)絡(luò)檢測軟件,結(jié)合上表的信息對網(wǎng)絡(luò)中流通的數(shù)據(jù)包進行檢測,查看數(shù)據(jù)包的TTL值,以確定故障是否由錯誤的路由等原因引起。圖1是使用科來網(wǎng)絡(luò)分析系統(tǒng)5.0查看一個數(shù)據(jù)包TTL值的情況。
圖中的生存時間(TTL)是247,結(jié)合表1,確定出這個數(shù)據(jù)包在從源端(這里是61.139.2.69)到目的端(這里是192.168.10.44)共經(jīng)歷了255-247=8個路由器,且在傳輸過程中未出現(xiàn)故障。注意:
1. 確定數(shù)據(jù)包在網(wǎng)絡(luò)中經(jīng)歷了多少個路由器,可用數(shù)據(jù)包源端設(shè)備的TTL默認(rèn)值減去捕獲到的數(shù)據(jù)包TTL值;
2. 在不知道數(shù)據(jù)包源端設(shè)備的默認(rèn)TTL時,一般用大于捕獲數(shù)據(jù)包的TTL,且最接近這個TTL的默認(rèn)值。
3. TTL字段長1個字節(jié),所以TTL的最大值255;
通過查看數(shù)據(jù)包的TTL,可以確定網(wǎng)絡(luò)傳輸是否正常。如果捕獲到的數(shù)據(jù)包的TTL值過小,則表示網(wǎng)絡(luò)中很可能存在傳輸故障,應(yīng)及時檢查網(wǎng)絡(luò)中三層設(shè)備的路由表配置,以及各主機上的路由表信息。
【使用TTL分析診斷網(wǎng)絡(luò)故障】相關(guān)文章: