2008年12月29日星期一

EIGRP简介

一、背景
增强型内部网关路由协议(Enhanced Interior Gateway Routing Protocol EIGRP)是IGRP的增强版本。这使得EIGRP能够更好的适应复杂的网络环境。EIGRP在协议中整合了部分链路状态协议的功能。EIGRP采用弥散更新算法(DUAL)提高了路由计算的能力。DUAL能使EIGRP判断一个路径是由环路的邻居还是无环路的邻居提供的(即:DUAL能帮助EIGRP避免环路的产生)。此外,EIGRP能够自己发现备用的路径,而不是等待其他路由器的路由更新。

EIGRP和IGRP相互之间可以无缝衔接。通过自动的路由重发布,可以很轻松的在IGRP网络内部署EIGRP路由。此外,EIGRP会把IGRP路由视为外部路由,并且网络管理员可以自定义这些路由。


二、EIGRP的功能和特性
EIGRP收敛迅速、支持变长子网掩码、支持路由的部分更新(仅更新发生了改变的部分路由表)、支持多种网络层协议。
运行EIGRP的路由器会存储它所有邻居的路由表,这样它就能迅速的计算出替换路由。如果没有合适的替换路由存在,EIGRP会请求它的邻居帮它找一个合适的替换路由,这些请求会不断传递下去,直到找到合适的路由。
对变长子网掩码的支持,使得EIGRP能够自动在网络边界汇总,此外,EIGRP也可以在任意的端口汇聚到任意的网络边界(即:不一定非要汇聚到某一类网络,也可以汇聚到10.0.0.0/22这样)。
EIGRP不会周期性的更新,而是只有在某条路由的度量发生改变的时候才会产生针对该条路由的更新。并且这些更新会被限制,而只会使需要更新的路由器产生更新(类似VTP修剪)。由于这两个功能,EIGRP比IGRP占用更少的带宽。
EIGRP能够支持AppleTalk、IP和Novell NetWare。EIGRP(在采用AppleTalk的网络中)能够将从RTMP(Routing Table Maintenance Protocol)学习到的路由进行再发布进EIGRP网络;在IP网络中,EIGRP能够从OSPF、RIP、IS-IS、EGP或者BGP中学习到的路由进行再发布进EIGRP网络;在Novell网络中,EIGRP也可以将从Novell RIP或者SAP中学习到的路由再发布进EIGRP网络中。
注:Intermediate System-Intermediate System IS-IS;Exterior Gateway Protocol EGP;Border Gateway Protocol BGP;Service Advertisement Protcol SAP。

三、EIGRP所采用的关键技术
为了更好的提高路由能力,EIGRP采用了四项关键技术:邻居发现/恢复、可靠的传输协议RTP、弥散更新算法有限状态引擎(DUAL finite-state machine)以及协议独立模块。
邻居发现/恢复机制能够使路由器动态的学习到在其他路由器上直连的网络。当邻居无效或者不可达时,路由器也能够及时的发现。这种机制是通过定期发送的Hello包来实现的(这种Hello包占用很小的带宽)。只要路由器能收到邻居发送的Hello包,那么就认为这个邻居是可用的,这两个路由器之间就可以交换路由信息。
可靠的传输协议RTP负责将EIGRP包传递给所有的邻居,它可以发送多播包和单播包。为了提高效率,只有特定的EIGRP包才会使用可靠传输。在一个像Ethernet这样的多播网络中,没有必要单独给每个邻居发送可靠的Hello包。由于这些原因,EIGRP发送的Hello包中会包含一个指示:接收到Hello包的路由不需要对这个包进行回应。其他类型的包,比如路由更新包,则会要求进行回复。当没有收到回应包时,EIGRP会继续发送多播包,这样会提高在多种线路速度网络中,加快收敛。
弥散更新有限状态引擎负责将从路由器所有邻居哪里收集来的信息进行路由计算的任务。DUAL使用距离信息来选择高效没有环路的路径,并且会选择要插入基于可行继任者(feasible successor)的路由表的路由信息(路由表中的是successor,是feasible successor 中的优胜者,具有最好的度量)。feasible successor是到达目的地具有最小花费而且不会产生环路的路径的下一跳路由器。当邻居的度量改变或者网络拓扑发生改变的时候,DUAL会测试可行继任者,如果找到了一个,DUAL就使用这个路由,从而避免了重新计算路由。如果没有可行继任者存在,那么就重新计算路由,这也也会重新产生一个继任者(successor)。虽然重新计算不会是很大的运算,但是毕竟对收敛时间会有影响,因此应该尽量避免不必要的计算。
协议独立模块分别为某个网络层的协议进行服务。比如IP-EIGRP模块,负责传送和接收使用IP协议封装的数据包,IP-EIGRP模块也负责解析EIGRP包并且为DUAL的计算提供信息。IP-EIGRP模块会要求DUAL进行路由的选择,并将选择结果存到路由表中,该模块也负责将从其他IP路由协议中学到的路由进行再发布。

没有评论:

发表评论