April 11,2008
EIGRP增強型內部網關路由協議
......
首先EIGRP作為IGRP的一個增強版本,EIGRP延續了很多IGRP的特性,比如開銷值的計算等,EIGRP依然是一個距離矢量路由協議,但是由於EIGRP使用的是DUAL算法,在EIGRP協議中同鏈路狀態路由協議一樣也有張拓撲結構數據庫,所以很多時候EIGRP被稱為一個具有鏈路狀態協議行為的距離矢量路由協議。EIGRP更新依然是把距離矢量也就是具體的路由傳遞給它的直連路由,但是EIGRP更新是非週期的,部分的,和有邊界的。
EIGRP協議使用了帶寬不超過鏈路總帶寬的50%,這樣就不會讓路由流量信息佔用整個網絡。可以使用bandwidth-percent eigrp來改變這個缺省的百分比。
EIGRP是一個無類的路由協議,並且除了IP協議以外,還支持IPX和AppleTalk協議棧的路由選擇。EIGRP和IGRP使用一樣的公式來計算它的復合度量值,但是EIGRP要在IGRP算出來的度量值上面乘以一個256的倍數,使得度量值更精確。
EIGRP使用可靠傳輸協議(RTP)來管理EIGRP報文的發送和接受。EIGRP發送更新使用的是組播地址240.0.0.10。EIGRP協議使用多種類型的報文:
HELLO,用來發現和建立鄰居,不要求可靠
ACK,不包含數據的HELLO報文,用來確認信息,單播,不要求可靠
UPDATE,用於傳遞路由信息,要求可靠
QUERY AND REPLY ,查詢和答覆報文,查詢報文可以使用單播和組播,回復總是使用單播發送,使用可靠的發送方式
在一般情況下HELLO是每5秒發送一次,但是在NBMA和帶寬小於T1的多點鏈路上是每60秒發送一次,另外在點到點的子接口同樣是5秒一次更新。EIGRP的鄰居表記錄了鄰居路由器發送的IP地址和收到HELLO包的接口,HELLO的死亡時間一般是更新時間的三倍。可以使用ip hello-interval eigrp 這個命令來修改EIGRP HELLO時間的間隔。
EIGRP使用的是離散更新算法(DUAL),這裡先提幾個概念
鄰接:剛啟動的時候,路由器使用HELLO報文發現它的鄰居標示給鄰居識別。
可行距離:到達每個目標網絡的最小度量值
通告距離:鄰居通告從鄰居到目標網絡的最小度量值
可行後繼路由器:如果本地路由器的鄰居到達目標網絡的距離小於本地路由器的可行距離。
後繼路由器:通告最小度量值路由的鄰居成為一個後繼路由器。簡單的說就是下一跳的路由器。
關於EIGRP的離散更新更新算法就不再詳細解釋了,擴散更新算法提供了以下主要功能:
任何時間,一個輸入事件發生了,就會執行一個本地的計算;
如果在路由器的拓撲結構表中發現了一台或者多台可行後繼路由器,那麼將使用具有最低度量代價的可行後繼路由器作為它的可行後繼路由器;
如果沒有發現可行後繼路由器,那麼將使它的路由變成活動狀態,向它的鄰居路由器發送查詢報文,以便確定一個可行後繼路由器。
如果沒有發現可行後繼路由器,那麼將使它的路由變成活動狀態,向它的鄰居發送查詢報文;
在所有查詢報文被答覆之前,或者活動記時器超時之前,將保持路由狀態是活動狀態;
如果擴散更新算法的結果無法發現一個可行後繼路由器,那麼將宣告這個目的地不可達。
EIGRP的報文的IP頭部通常指定它的協議號是88,報文的最大長度可以是IP的最大傳輸單元,後面跟著的就是EIGRP協議的頭部了,一般有版本號,操作碼,標記,序列號,自主系統號,協議頭部跟著的就是TLV字段,可以攜帶EIGRP的管理信息而不需要指定任何一個可路由的協議。路由條目就放在TLV字段裡面,關於這個問題個人只想做點瞭解。
EIGRP相對於RIPV2很大的一個不同就在於EIGRP支持CIDR,另外注意的是,EIGRP和IGRP的自主系統號一樣的時候將自動相互重發佈,EIGRP同樣會在類的邊界做自動匯總,跟RIPV2一樣可以使用no autosummry來關閉自動匯總,另外EIGRP可以在接口上用ip summry eigrp 來配置發送的手動匯總信息,匯總可以將查詢定在類的邊界上面,可以控制查詢的邊界,EIGRP同樣支持驗證,配置方法和RIP大同小異,同樣也是支持MD5和明文驗證,這裡就不寫配置實例了。
關於EIGRP還有一個STUB區域的概念,EIGRP的末節區域就是不向這個區域發送查詢信息了,注意跟passive-intface不一樣passive-interface是再發送路由更新,而末節區域是讓路由器以為這個區域下面已經不會再有任何路由器了,自然也就不會發送路由查詢。
EIGRP排錯相對比較簡單,注意進程號是否匹配,NETWORK語句是否遺漏或者不正確,多用DEBUG和SHOW命令查看下一般比較好排錯。這裡提前提一下,重發佈路由到EIGRP裡面來的時候一定要記得加上開銷值!關於重發佈這裡就不提了。
EIGRP協議使用了帶寬不超過鏈路總帶寬的50%,這樣就不會讓路由流量信息佔用整個網絡。可以使用bandwidth-percent eigrp來改變這個缺省的百分比。
EIGRP是一個無類的路由協議,並且除了IP協議以外,還支持IPX和AppleTalk協議棧的路由選擇。EIGRP和IGRP使用一樣的公式來計算它的復合度量值,但是EIGRP要在IGRP算出來的度量值上面乘以一個256的倍數,使得度量值更精確。
EIGRP使用可靠傳輸協議(RTP)來管理EIGRP報文的發送和接受。EIGRP發送更新使用的是組播地址240.0.0.10。EIGRP協議使用多種類型的報文:
HELLO,用來發現和建立鄰居,不要求可靠
ACK,不包含數據的HELLO報文,用來確認信息,單播,不要求可靠
UPDATE,用於傳遞路由信息,要求可靠
QUERY AND REPLY ,查詢和答覆報文,查詢報文可以使用單播和組播,回復總是使用單播發送,使用可靠的發送方式
在一般情況下HELLO是每5秒發送一次,但是在NBMA和帶寬小於T1的多點鏈路上是每60秒發送一次,另外在點到點的子接口同樣是5秒一次更新。EIGRP的鄰居表記錄了鄰居路由器發送的IP地址和收到HELLO包的接口,HELLO的死亡時間一般是更新時間的三倍。可以使用ip hello-interval eigrp 這個命令來修改EIGRP HELLO時間的間隔。
EIGRP使用的是離散更新算法(DUAL),這裡先提幾個概念
鄰接:剛啟動的時候,路由器使用HELLO報文發現它的鄰居標示給鄰居識別。
可行距離:到達每個目標網絡的最小度量值
通告距離:鄰居通告從鄰居到目標網絡的最小度量值
可行後繼路由器:如果本地路由器的鄰居到達目標網絡的距離小於本地路由器的可行距離。
後繼路由器:通告最小度量值路由的鄰居成為一個後繼路由器。簡單的說就是下一跳的路由器。
關於EIGRP的離散更新更新算法就不再詳細解釋了,擴散更新算法提供了以下主要功能:
任何時間,一個輸入事件發生了,就會執行一個本地的計算;
如果在路由器的拓撲結構表中發現了一台或者多台可行後繼路由器,那麼將使用具有最低度量代價的可行後繼路由器作為它的可行後繼路由器;
如果沒有發現可行後繼路由器,那麼將使它的路由變成活動狀態,向它的鄰居路由器發送查詢報文,以便確定一個可行後繼路由器。
如果沒有發現可行後繼路由器,那麼將使它的路由變成活動狀態,向它的鄰居發送查詢報文;
在所有查詢報文被答覆之前,或者活動記時器超時之前,將保持路由狀態是活動狀態;
如果擴散更新算法的結果無法發現一個可行後繼路由器,那麼將宣告這個目的地不可達。
EIGRP的報文的IP頭部通常指定它的協議號是88,報文的最大長度可以是IP的最大傳輸單元,後面跟著的就是EIGRP協議的頭部了,一般有版本號,操作碼,標記,序列號,自主系統號,協議頭部跟著的就是TLV字段,可以攜帶EIGRP的管理信息而不需要指定任何一個可路由的協議。路由條目就放在TLV字段裡面,關於這個問題個人只想做點瞭解。
EIGRP相對於RIPV2很大的一個不同就在於EIGRP支持CIDR,另外注意的是,EIGRP和IGRP的自主系統號一樣的時候將自動相互重發佈,EIGRP同樣會在類的邊界做自動匯總,跟RIPV2一樣可以使用no autosummry來關閉自動匯總,另外EIGRP可以在接口上用ip summry eigrp 來配置發送的手動匯總信息,匯總可以將查詢定在類的邊界上面,可以控制查詢的邊界,EIGRP同樣支持驗證,配置方法和RIP大同小異,同樣也是支持MD5和明文驗證,這裡就不寫配置實例了。
關於EIGRP還有一個STUB區域的概念,EIGRP的末節區域就是不向這個區域發送查詢信息了,注意跟passive-intface不一樣passive-interface是再發送路由更新,而末節區域是讓路由器以為這個區域下面已經不會再有任何路由器了,自然也就不會發送路由查詢。
EIGRP排錯相對比較簡單,注意進程號是否匹配,NETWORK語句是否遺漏或者不正確,多用DEBUG和SHOW命令查看下一般比較好排錯。這裡提前提一下,重發佈路由到EIGRP裡面來的時候一定要記得加上開銷值!關於重發佈這裡就不提了。
資料來源:亞威科技http://www.ccxx.net
引用URL
http://cgi.blog.roodo.com/trackback/5843779
