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