靜態路由環路:[1]由路由環路來理解TTL?

路由環路,在現實的網絡設備工作過程中,是故障現象之一。

TTL,Time To Live,即數據包“生存期”,是IP協議包中的一個參數,每經過一臺轉發設備,TTL參數值自減一,直到值為0,該數據包被轉發設備判斷是“生存期”滿,從而被丟棄。

當發生路由環路的時候,IP數據包周而復始的在環路上的設備之間傳輸,耗費設備的資源和鏈路帶寬,直到TTL參數值耗盡,設備丟棄數據包。從這個角度看,TTL參數顯得尤為重要。

本文通過實驗,講述靜態路由環路的產生過程,以及數據包TTL參數在環路上的變化。

工具/原料

若干臺路由器、pc終端

方法/步驟

實驗拓撲如下圖:

其中F10(防火牆)、F12(防火牆)、R2(路由器)在本案例中僅僅模擬普通的終端電腦

R1、R3、R4、R5則是路由轉發設備

靜態路由環路:[1]由路由環路來理解TTL

使用SecureCRT軟件登錄到各個設備的console接口,根據拓撲圖配置

1)、配置各個設備的相應接口的IP參數

2)、配置相關設備的靜態路由

F10默認路由指向R3的G0/1

F12默認路由指向R5的G0/1

R2默認路由指向R5的G0/0

R3默認路由指向R4的G0/4

R5默認路由指向R4的S0/2

上面配置比較簡單,不再細述。

R4默認路由指向R1的G0/0

R4上分別配置到172.16.1.0/24、172.16.2.0/24、172.16.3.0/24的靜態路由,下一跳分別指向R5的S1/1、R5的S1/1、R3的G0/0。

由於172.16.1.0/24、172.16.2.0/24、172.16.3.0/24三個網段可以路由聚合,所以在R1上一般添加聚合後的靜態路由172.16.0.0/16,下一跳指向R4的G0/6。

在R1上分別配置到192.168.34.0/24、192.168.45.0/24的靜態路由,下一跳都是R4的G0/6

R4和R1的路由表如下圖所示:

靜態路由環路:[1]由路由環路來理解TTL

靜態路由環路:[1]由路由環路來理解TTL

連通性測試成功:

從F12 ping F10

從F12 ping R1的G0/0口

靜態路由環路:[1]由路由環路來理解TTL

靜態路由環路:[1]由路由環路來理解TTL

接下來,假設R4的G0/4接口意外shutdown,則R4會自動刪除到172.16.3.0/24網段的靜態路由,然後在F12上ping測試到F10的連通性,結果如下圖。

靜態路由環路:[1]由路由環路來理解TTL

靜態路由環路:[1]由路由環路來理解TTL

靜態路由環路:[1]由路由環路來理解TTL

接下來,在R1上開啟ip包轉發的調試功能,在F12上發送一個ping數據包到F10,然後看看R1輸出的調試信息,如下圖:

靜態路由環路:[1]由路由環路來理解TTL

靜態路由環路:[1]由路由環路來理解TTL

總結:由於R4上已經沒有到172.16.3.0/24網段的路由了,所以R4收到這個ping數據包後,通過全0的默認路由轉發給R1,R1收到數據包後,通過查找路由表,又重新將數據包發送給R4,如此反覆,直到TTL=0的時候,數據包被丟棄。TTL的初始值一般是56(不固定),也就是說,這個數據包在R4和R1之間被反覆發送了56次,當類似的數據包特別多的時候,環路的危害性大大增加,設備負荷增加,耗費大量硬件資源,下一篇介紹如何避免靜態路由環路。

數據包, 路由, 靜態, 環路,
相關問題答案