EIGRP路由協定

EIGRP路由協定是私有路由協定,由Cisco定製。

協定概況

EIGRP是Cisco的私有路由協定,它綜合了距離矢量和鏈路狀態2者的優點,

協定特點

1.快速收斂:EIGRP使用DiffusingUpdate算法(DUAL)來實現快速收斂.路由器使用EIGRP來存儲所有到達目的地的備份路由,以便進行快速切換.如果沒有合適的或備份路由在本地路由表中的話.路由器向它的鄰居進行查詢來選擇一條備份路由

2.減少頻寬占用:EIGRP不作周期性的更新,它只在路由的路徑和度發生變化以後做部分更新.當路徑信息改變以後,DUAL只傳送那條路由信息改變了的更新,而不是傳送整個路由表.和更新傳輸到一個區域內的所有路由器上的鏈路狀態路由協定相比,DUAL只傳送更新給需要該更新信息的路由器

3.支持多種網路層協定:EIGRP通過使用protocol-dependentmodules(PDMs),可以支持ApplleTalk,IP和NovellNetware等協定,現在還支持IPv6

4.無縫連線數據鏈路層協定和拓撲結構:EIGRP不要求對OSI參考模型的層2協定做特別是配置.不像OSPF,OSPF對不同的層2協定要做不同配置,比如乙太網和幀中繼總之,EIGRP能夠有效的工作在LAN和WAN中,而且EIGRP保證網路不會產生環路(loop-free);而且配置起來很簡單;支持VLSM;它使用多播和單播,不使用廣播,這樣做節約了頻寬;它使用和IGRP一樣的度的算法,但是是32位長的;它可以做非等價的路徑的負載平衡

協定技術

EIGRPDatabases

運行了EIGRP的路由器維持3張表:neighbortable,topologytable和routingtable.其中neighbortable保存了和路由器建立了鄰居關係的,直接相連的路由器;topologytable包含路由器學習到的到達目的地的所有路由條目,其過程如下:

1.neighbortable中的每個鄰居都轉發1份IP路由表的拷貝給它們的鄰居

2.然後每個鄰居把從它們自己的鄰居處得來的路由表存儲在自己的EIGRP拓撲資料庫中

3.EIGRP檢查拓撲資料庫,然後選擇出一條到達目的地的最佳路由

4.EIGRP從拓撲資料庫中選擇到達目的地的最佳的successorroutes,然後把它們放到路由表里.路由器為每種協定(比如IP,IPX)各自保持1張單獨是路由表

FeasibleDistancevs.AdvertisedDistance

為了決定到達目的地的最佳路由(successor)和備份路由(feasiblesuccessor),EIGRP使用下面2個參數:

1.advertiseddistance:EIGRP鄰居到達目標網路的度

2.feasibledistance:到達鄰居路由器的度加上advertiseddistance(即鄰居到達目標網路的度)

路由器比較所有的FD,然後選擇FD值最低的放進IP路由表

EIGRPMetricCalculation

EIGRP選擇一條主路由(最佳路由)和一條備份路由放在topologytable(EIGRP到目的地支持最多6條鏈路).它支持幾種路由類型:內部,外部(非EIGRP)和匯總路由.EIGRP使用混合度

EIGRP度的5個標準如下:

1.頻寬:10的7次方除以源和目標之間最低的頻寬乘以256

2.延遲(delay):接口的累積延遲乘以256,單位是微秒

以上是默認的2個,下面是可選的3個標準:

3.可靠性(reliability):根據keepalive而定的源和目的之間最不可靠的可靠度的值

4.負載(loading):根據包速率和接口配置頻寬而定的源和目的之間最不差的負載的值

5.最大傳輸單元(MTU):路徑中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不參與EIGRP度的運算

EIGRP使用DUAL來決定到達目的地的最佳路由(successor).當最佳路由出問題的時候,EIGRP不使用holddowntimer而立即使用備份路由(feasiblesuccessor),這樣就使得EIGRP可以進行快速收斂

看看EIGRP計算度的公式,K是常量,公式如下:

metric=[K1*bandwidth+(K2*bandwidth)/(256–load)+K3*delay]*[K5/(reliability+K4)]

默認:K1=1,K2=0,K3=1,K4=0,K5=0

這樣就得到默認的度的簡化計算公式,如下:

metric=bandwidth+delay

注意,不推薦修改K值.K值通過EIGRP的hello包運載.如果兩個路由器的K值不匹配的話它們是不會形成鄰居關係的

EIGRPMetricsBackwardCompatibletoIGRP

EIGRP的度和IGRP的度能夠很好的進行兼容.IGRP的度是以24位的格式,而EIGRP是32位的格式.它們之間的關係是EIGRP的度是256倍於IGRP的度.也就是說假如IGRP的度為1000的話,換算成EIGRP的度為256000

EIGRPPackets

EIGRP的5種包的類型,如下:

1.hello包:路由器使用hello包來發現鄰居,採用多播的方式

2.update包:採用單播或多播的方式傳送.更新發生在路由器啟動,拓撲或度發生變化,和路由狀態的遷移(主動到被動)

3.query包:當路由器開始進行路由計算和沒有FD的時候,它就傳送給鄰居一個可靠的查詢包來詢問是否有到達目的地的FD.查詢包通常以多播的方式傳送

4.reply包:以單播的方式發回給發出查詢包的路由起,作為應答

5.acknowledge(ACK)包:ACK包是採用單播的hello包,包含非0的確認數字.update包,query包和reply包均是可靠傳送,所以它們都需要確認;而hello包和ACK包就不需要確認

EIGRPHelloPackets

當你在路由器的接口配置了EIGRP以後,路由器會周期性的以組多播的方式向外傳送hello包.多播地址是224.0.0.10.當和它在1個AS里的其他運行了EIGRP的路由器接收到hello包以後,就會和它形成鄰居關係.不在1個AS里,而且度的計算方式不一樣(即K值不同),是不會形成鄰居關係的

EIGRPTimers

hello包在不同的介質上傳送間隔是不一樣的,如下:

1.在以下介質中是以每5秒進行傳送:廣播型介質,比如乙太網,令牌環(TokenRing)和分散式光纖接口(FDDI);在點到點類型的串列鏈路中比如PPP和HDLC,還有幀中繼和ATM;頻寬大於T1線路的多點線路,比如交換式多兆位數據服務(SMDS),幀中繼,ATM和ISDNPRI

2.在以下類型中間隔時間是60秒:頻寬小於T1線路的多點線路,比如ISDNBRI,幀中繼,SMDS,ATM和X.25當配置EIGRP的時候,EIGRP進程動態發現和它直接相連的運行了EIGRP的路由器.每個路由器在它自己的neighbortable中都保持的有鄰居的信息,包括到達鄰居路由器的地址和接口.還保持的有holdtime.holdtime是3倍於hellotime

EIGRP在低速鏈路上傳送hello包的頻率較低,因為hello包會占用額外的頻寬.不過可以在接口配置模式對默認時間進行修改,使用iphello-intervaleigrp{AS-number}{seconds}命令;修改holdtime的時間的命令也是在接口配置模式,使用iphold-timeeigrp{AS-number}{seconds}命令.當你修改了hello包的時間間隔以後,holdtime是不會自動修改的(之前holdtime=hellotime*3)所以要人工進行修改

EIGRPAdjacencyEstablishmentConditions

即使兩個路由器的hellotime和holdtime相互之間不匹配,它們仍然有可能成為鄰居.hello包包含了holdtime的信息和保持跟蹤每個EIGRP鄰居路由器的holdtime如果EIGRP路由器在holdtime超出之前沒有收到EIGRP包,路由器就會察覺拓撲的變化.路由器刪除鄰居路由器的相關信息,包括從鄰居那裡認可的topologytable條目.假如FD可用的話,EIGRP進程將進行重新收斂

EIGRP不會基於次要地址(secondaryaddress)建立鄰居關係,因為EIGRP使用接口的主地址 。

相關詞條

相關搜尋

熱門詞條

聯絡我們