同時我們還發現當前網絡對每一個TCP連接請求進行不斷的重傳,直到TTL值過期之后才被丟棄。通過跟蹤查看某個地址的重傳數據包,發現一個奇怪的現象:

上面兩幅截圖是Sniffer捕獲的172.17.60.126對172.17.46.14發起TCP連接請求的兩個數據包,可以看到在數據包的網絡層里面有兩個選項:Identification,Time to live(TTL)。Identification是用來唯一標識主機發出的每個數據包的,正常情況下每個數據包的ID都不一樣,而TTL是用來限制數據包在網絡中經過的跳數的,每經過一跳TTL值就減1,直到TTL值為0的時候數據包就被丟棄,主要是防止當網絡中出現環路時數據包的循環傳送。而在上圖可以看到,這兩個數據包的Identification是一樣,只是TTL值相差1。這就表示這兩個數據包實際上是同一個數據包(因為ID一樣),只不過被發出去以后又被送回來了。到了這里,我們可以初步懷疑是否出現了路由環路。


