CCIE學習之EIGRP基礎
CCIE學習EIGRP基礎之一:EIGRP特點總結:
1)傳輸協議:IP,協議類型為88(不使用UDP和TCP)。
2)路由量度:默認基于帶寬限制和累積延遲,也可以基于負載、可靠性和MTU。
3)Hello間隔:路由器在接口上發送EIGRP的Hello消息的間隔。
4)保持定時器:用來確定鄰接路由器是否失效的定時器,如果在該定時器時限內,路由器沒有接收到來自鄰接路由器的任何EIGRP消息,則認為該鄰接路由器失效。
5)路由更新的目的地址:默認為224.0.0.10,可重傳到每個鄰接路由器的單個IP地址。
6)完全還是部分更新:當發現新鄰居時進行完全更新,否則使用部分更新。
7)認證:僅支持MD5認證。
8)VLSM/無類:EIGRP在每條路由上都包含掩碼,可以支持不連續網絡和VLSM。
9)路由標記:當重新分發到EIGRP時,允許標記路由。
10)下一跳字段:支持廣播到與默認廣播路由器不同的下一跳路由器。
11)手工路由匯總:在EIGRP網絡的任何點上都可以路由匯總。
12)多協議支持:支持IPX和AppleTalk路由的廣播。
CCIE學習EIGRP基礎之二:Hello、鄰接路由器和鄰接關系
EIGRP通過發送Hello消息(目的地址224.0.0.10)來查詢鄰接路由器。如果有一對路由器互相之間收到Hello消息,并且能夠通過以下條件的檢測,那么它們就建立鄰接關系(此時它們可以互相交換路由并可用show ip eigrp neighbor命令列出):
1)必須通過認證
2)必須使用同樣的AS號
3)接口接收到的Hello消息的源IP地址必須在接口所連通主子網內
4)K值必須匹配
(注意,第3)條所述主子網是指接口通過ip address命令(無secondary關鍵字)所配置的子網)
K值為常量,定義了EIGRP用來計算metric的組成因子,其設置可以通過router eigrp子命令metric weights tos k1 k2 k3 k4 k5來改變,默認值是0 1 0 1 0 0,表示只有帶寬和延遲用于計算metric。
Hello消息的另一個功能是用來保持EIGRP激活。鄰接路由器基于hello間隔不停地發送Hello消息。如果路由器在EIGRP保持定時器時限內不能監聽到來自鄰居的消息,那么所有來自該鄰接路由器的路由都認為失效。
在建立EIGRP鄰接關系時,Hello和保持定時器參數并不需要一致。實際上,路由器在監聽鄰接關系時,使用的恰好是對方設定的計時器(通過Hello消息交換)。
CCIE學習EIGRP基礎之三:EIGRP更新
一旦路由器間建立了鄰接關系,它們就可以使用EIGRP更新消息來交換彼此的路由,其步驟大致如下:
1)最開始的時候發送完全路由更新(除了那些因為分割范圍而丟棄的路由)。
2)一旦所有路由交換完畢,更新即停止。
3)當出現路由變化時,發送部分更新。
4)當鄰接路由器失效后恢復,或者建立新的鄰接關系時,再次發送完全更新。
EIGRP使用可靠傳輸協議(Reliable Transport Protocol,RTP)來發送多播EIGRP更新。發送更新之后,會等待接收來自每個接收路由器的單點EIGRP應答消息。
RTP支持多點傳送更新。如果有鄰接路由器沒有發送應答,RTP會對它單點重傳更新。其步驟如下:
1)R1(EIGRP發送者)在發送可靠性更新消息時,對每個鄰接路由器啟動一個重傳超時(Retransmission Timeout,RTO)定時器。(Cisco的實際做法是:對每個鄰接路由器計算一個平均回路時間(Smoothed Round-Trip Time,SRTT),RTO由SRTT得出,其值隨時間而變化。)
2)R1發送多點EIGRP更新。
3)R1監聽哪些鄰接路由器發送了對更新的應答。
4)在R2傳回應答之前,RTO已經超時。
5)R1重新傳送更新,這一次使用的是單點傳送,發送給RTO超時的R2。
EIGRP和RTP的應答過程比較簡單,使用的是窗口大小為1的滑動窗口。(每個更新包都有一個序列號,返回的ACK消息通過列出同一序列號來確認接收到消息)
CCIE學習EIGRP基礎之四:EIGRP拓撲表
EIGRP使用三張表:鄰接表,拓撲表和路由表。鄰接表保存鄰接路由器的狀態信息,可以使用show ip eigrp neighbors命令顯示。拓撲表用來填寫EIGRP的更新消息,基于拓撲表的內容,每臺路由器可以選擇最佳路由來保存到自己的路由表中。
EIGRP路由器基于metric的組成來對每條路由計算metric。當鄰接路由器廣播一條路由時,更新包含了每條路由的metric組成值。路由器根據接收到的metric值以及其接口設置來計算其每條路由的metric。默認metric組成部分是累積延遲(10微秒單位)和帶寬(每秒多少位)。通過使用metric weights命令設置K值,EIGRP也可以使用鏈路負載、可靠性和MTU組成metric。(不建議這么做,因為這些值波動比較頻繁,可能造成路由很不穩定)
(注意:路由器的延遲可以通過delay接口子命令來設置)
CCIE學習EIGRP基礎之五:EIGRP的metric計算
![]() |
路由器通過接收到的鄰接路由器的metric組成可計算出一條廣播路由的metric,這稱為報告距離(reported distance,RD)。有了RD,再考慮路由器自己接口上的延遲,就可以計算出這條路由的當前metric。步驟如下:
1)R1廣播一條路由:帶寬為10000,延時為100。
2)R2根據接收到的K值來計算RD。默認情況下,metric的計算公式是:metric = 256*(107/帶寬)+256*延時,所以算出RD = 256*107/10000+256*100 = 281600。
3)R2更新其拓撲表,延時加1000,且帶寬修改為1544。此時算出的當前metric = 256*107/1544+256*1100 = 1939631。
4)R2發送包含新延遲和帶寬的更新消息到其他鄰接路由器。
使用show ip eigrp topology命令可以列出EIGRP的拓撲表信息。在列出的信息中,還有兩個重要概念要注意。可行距離(feasible distance,FD)表示路由器在指向某一特定前綴的所有可能路由中計算出來的最佳metric。擁有最佳metric的路由稱為成功者路由(successor route),它會裝入到路由表中。
【編輯推薦】