加強型閘道間選徑協定
加強型閘道間選徑協定(英語:Enhanced Interior Gateway Routing Protocol,縮寫為EIGRP),又譯增强型内部网关路由协议,一種内部网关协议(IGP)。在内部网关路由协议(IGRP)的基础上,由思科公司發展而成,於2013年Cisco將此標準公開,不再是私有的路由协议[1],在同样。EIGRP是一种高级距离矢量路由协议(也称混合型路由协议)。 EIGRP的基本操作EIGRP所收集的信息存放在以下三个表中:
EIGRP有以下四个基本组件:
混合度量值EIGRP同时考虑了链路的带宽、延迟、可靠性、负载4个因素来计算路由的度量值: Router>show ip eigrp topology 10.0.0.1 255.255.255.255 IP-EIGRP topology entry for 10.0.0.1/32 State is Passive, Query origin flag is 1, 1 Successor(s) , FD is 40640000 Routing Descriptor Blocks: 10.0.0.1 (Serial0/0/0) , from 10.0.0.1, Send flag is 0x0 Composite metric is (40640000/128256) , Route is Internal Vector metric: Minimum bandwidth is 64 Kbit Total delay is 25000 microseconds Reliability is 255/255 Load is 197/255 Minimum MTU is 576 Hop count is 1
EIGRP在计算混合度量值的时候还引入了5个K值:K1到K5。注意K值在计算的时候仅仅作为一个乘数,而不等于所对应的真实值,如K1的数值不等于带宽的数值。 默认情况下,EIGRP在计算混合度量值的时候只考虑了带宽和延迟(即K1和K3)两个因素,但是可以人工的修改K值来控制所考虑的因素。 EIGRP的混合度量值根据以下公式来计算: 公式中K1到K5的值可以手工的设为0~255之间任意整数。 默认情况下K1和K3设为1,其他K值设为0,公式可以简化为(Bandwidth + Delay) * 256。 EIGRP域内所有路由器的K值都必须设为相同的值,否则可能会产生路由环路。Cisco规定如果两台EIGRP路由器的K值不同,那么它们不会建立邻居关系。 EIGRP使用以下公式来计算带宽:
其中:Interface Bandwidth为使用链路(由目的到源)所有区间上的最小带宽,使用千比特每秒(kilobits per second/kbps)为计量单位; Interface Delay为各链路总延迟,单位为10μs(tens of microseconds)。[2] 在Cisco路由器上,带宽和延时都是可以手工设置的。 IGRP也使用相同的基本公式来计算混合度量值,唯一不同的是该公式没有乘数256。 EIGRP同样也使用了跳数(Hop),不过在计算混合度量值的时候跳数并没有包括在其中。在Cisco路由器上,默认的跳数最大值为100,任何跳数超过100的路由都将被视为不可达。當然亦可調整每台Cisco路由器上頭的EIGR跳數來增加網路路由的範圍,最大跳數为244。 后继后继(Successor),是指从当前路由器到目的路由器路径最优的路由。后继必须同时满足以下两个条件:
第一个条件可以通过比较所有从邻居路由器接收到的到相同目的地的路由的度量值,来选出具有最低度量值的路由器。 第二个条件可以通过可行条件(Feasibility Condition,FC)来保证。对于去往同一个目的地的路由,若有多個相同的目的地路由度量質,則會有多个后继,以達到負載平衡(Load Balance)。 后继会被加载到路由表以供路由器转发数据,并且EIGRP路由器会将加载到路由表中的路由通告给其他EIGRP邻居。 可行后继除了度量值最低的路径外,拓扑表还会存储前往每个目的地的后备路径。要成为可行后继,下一跳路由器的通告距离(Advertisement Distance)必须小于当前路由的可行距离(Feasible Distance),即AD<FD。可行后继比当前路由器离目的地更近,但不是度量值最小的路径,所以不会加载到路由表中,只会存储在拓扑表中。和后继一样,对于同一个目的地,可以有多个可行后继。 通告距离和可行距离通告距离(Advertised Distance,AD)是到目的地的下一跳路由器到该目的地的度量值。通告距离的英文也可写作Reported Distance(RD)。 可行距离(Feasible Distance,FD)是路由器到某目的地的最低度量值。FD等于AD加上从当前路由器到下一跳路由器的度量值。 可行条件eigrp的可行条件为: 路由的AD< successor的FD 路由的状态被动(Passive)状态:EIGRP網路收斂完成後,並能提供無路由環路(Loop-Free Route)路由狀態。當前網絡為可用。 活动(Active)状态:當前的網路正處於發送查詢狀態,當前網絡不可用。若拓樸表一直出現此狀態,則EIGRP這條路由已經進入到 Stuck-in-Active (SIA)的狀態,提示EIGRP網路的收斂發生了問題。 更新(Update)等待狀態:當前網絡正處於等待更新包的回應狀態。(較少看見) 查詢(Query)等待狀態:當前網絡正處於等待查詢包的回應的狀態。(較少看見) EIGRP的路由协议类型EIGRP其他特性⒈支援 Classful 與 Classless 路由特性: EIGRP一改以往IGRP不支援Classless的缺點。在於發送路由更新的時候,亦攜帶該路徑的子網遮罩(submask)。而支援自動路由彙總(auto-summary)的功能,而這項功能是預設啟用。不過通常在於專業的網管人員使用EIGRP的時候,會強烈建議關閉該項自動路由彙總的功能。 ⒉支援不對等路徑度量負載平衡(Unequal Cost Path Load Balancing): 雖然EIGRP支援不對等路徑度量負載平衡;但於Cisco路由器上仍需手動啟用此項功能。而要使用此項功能的要求在於拓樸表(topology table)當中必須擁有可行後繼(Feasible Sucessor)才可啟用此功能。而可行後繼路由路徑度量必須小於或等於所設定的變數(variance)的倍數值(1-128)才能啟用負載平衡的功能,符合該倍數值的可行後繼路由則會出現在路由表當中。目前此特性是所有路由協議(除IGRP外)望塵莫及。 ⒊路由更新占用較少的介面頻寬(interface bandwidth): EIGRP預設情況下,最多占用介面或子介面配置頻寬的50%。由於在早期的網路頻寬較少的狀況下,EIGRP協議能夠減少路由協議之間的溝通所占用的頻寬。至今頻寬較大的今日,這個功能也就顯得沒有那麼重要。目前此特性是獨一無二。當然亦可在Cisco路由器上的介面上配置頻寬或者調整占用的百分比等等。 ⒋Stuck-in-Active: EIGRP的路由環境在於中小型的路由環境中(小於20台)的路由收斂速度是首屈一指(由於使用DUAL算法,並且擁有自身的拓樸表。);但是在於大型的的路由環境中(大於50台)的路由收斂速度反而會因為DUAL算法而導致路由收斂產生SIA(Stuck-in-Active)的問題發生。而這個問題的解決方案就是限制EIGRP查詢範圍,並且在路由器的介面(interface)上設置路由匯總(route summary),如此才能夠阻止EIGRP的SIA狀況。 参考文献TCP/IP路由技术(第一卷)(第二版)(美)多伊尔,(美)卡罗尔 著,葛建立,吴剑章 译 / 人民邮电出版社 外部链接
|