EIGRP路由協議的運行和驗證
前面我們對EIGRP路由協議進行了簡單的介紹,通過文章,我想大家也對這個概念有了掌握。現在我們再來對它的運行情況做個分析。那么首先說一下運行。初始運行EIGRP路由協議的路由器都要經歷發現鄰居、了解網絡、選擇路由的過程,在這個過程中同時建立三張獨立的表:列有相鄰路由器的鄰居表、描述網絡結構的拓撲表、路由表,并在運行中網絡發生變化時更新這三張表。
1.建立相鄰關系
運行EIGRP路由協議的路由器自開始運行起,就不斷地用組播地址從參與EIGRP路由協議的各個接口向外發送HELLO包。當路由器收到某個鄰居路由器的***個HELLO包時,以單點傳送方式回送一個更新包,在得到對方路由器對更新包的確認后,這時雙方建立起鄰居關系。
2.發現網絡拓撲,選擇最短路由
當路由器動態地發現了一個新鄰居時,也獲得了來自這個新鄰居所通告的路由信息,路由器將獲得的路由更新信息首先與拓撲表中所記錄的信息進行比較,符合可行條件的路由被放入拓撲表,再將拓撲表中通過后繼路由器的路由加入路由表,通過可行后繼路由器的路由如果在所配置的非等成本路由負載均衡的范圍內,則也加入路由表,否則,保存在拓撲表中作為備擇路由。如果路由器通過不同的路由協議學到了到同一目的地的多條路由,則比較路由的管理距離,管理距離最小的路由為***路由。
3.路由查詢、更新
當路由信息沒有變化時,EIGRP鄰居間只是通過發送HELLO包,來維持鄰居關系,以減少對網絡帶寬的占用。在發現一個鄰居丟失、一條鏈路不可用時,EIGRP立即會從拓撲表中尋找可行后繼路由器,啟用備擇路由。如果拓撲表中沒有后繼路由器,由于EIGRP 依靠它的鄰居來提供路由信息,在將該路由置為活躍狀態后,向所有鄰居發送查詢數據包。
如果某個鄰居有一條到達目的地的路由,那么它將對這個查詢進行答復,并且不再擴散這個查詢,否則,它將進一步地向它自己的每個鄰居查詢,只有所有查詢都得到答復后,EIGRP路由協議才重新計算路由,選擇新的后繼路由器。
4.EIGRP運行的驗證
在下圖所示的網絡拓撲中,路由器進行了基本的EIGRP配置,所有路由器都屬于EIGRP自治系統1,未配置其他路由協議,我們用運行EIGRP的相關命令獲得的有關信息來驗證EIGRP的運行。
我們以路由器R2為例來驗證EIGRP路由協議是如何了解網絡、選擇路由的。
對于目的地192.168.1.0、172.16.1.4,路由器R2都分別收到了它的兩個鄰居路由器R3(10.1.1.3)和R4(172.16.1.2)通告的路由。到目的地192.168.1.0的最短路由是通過R3,可行距離是20563200,但是R4的通告距離(281600)小于可行距離,符合可行條件,因而R4是該路由的可行后繼路由器。到目的地172.16.1.4的最短路由是通過R3,可行距離是20537600,通過R4的通告距離(20537600)等于(注意:不小于)可行距離,不符合可行條件,因而R4不能作為該路由的可行后繼路由器。
EIGRP在缺省情況下,是等成本路由上的負載均衡,因而在路由表中到目的地 192.168.1.0的路由只有通過路由器R3(10.1.1.3)一條,備擇路由(R4)保存在拓撲表中。因為是通過內部EIGRP學到的路由,故路由的管理距離為90。如果配置了非等成本負載均衡,備擇路由也將被加入路由表。
***要強調的是,由于EIGRP路由協議是Cisco公司私有的路由協議,因而本文所探討的內容都是基于Cisco公司的路由器。