EIGRP

Enhanced Interior Gateway Routing Protocol -- 增强的内部网关路由选择协议

一、EIGRP路由协议简介

EIGRP是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点,它的特点包括:

1、快速收敛:链路状态包(Link-State Packet,LSP)的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛。它只宣告链路和链路状态,而不宣告路由,所以即使链路发生了变化,不会引起该链路的路由被宣告。但是链路状态路由协议使用的是Dijkstra算法,该算法比较复杂,并且较占CPU和内存资源和其他路由协议单独计算路由相比,链路状态路由协议采用种扩散计算(diffusingcomputations ),通过多个路由器并行的记性路由计算,这样就可以在无环路产生的情况下快速的收敛。

2、减少带宽占用:EIGRP不作周期性的更新,它只在路由的路径和度发生变化以后做部分更新。当路径信息改变以后,DUAL只发送那条路由信息改变了的更新,而不是发送整个路由表。和更新传输到一个区域内的所有路由器上的链路状态路由协议相比,DUAL只发送更新给需要该更新信息的路由器。在WAN低速链路上,EIGRP可能会占用大量带宽,默认只占用链路带宽50%,之后发布的IOS允许使用命令ip bandwidth-percent eigrp来修改这一默认值。

3、支持多种网络层协议:EIGRP通过使用“协议相关模块”(即protocol-dependentmodule<PDM>),可以支持IPX、ApplleTalk、IP、IPv6和NovellNetware等协议。

4、无缝连接数据链路层协议和拓扑结构:EIGRP不要求对OSI参考模型的层2协议做特别是配置。不像OSPF,OSPF对不同的层2协议要做不同配置,比如以太网和帧中继总之,EIGRP能够有效的工作在LAN和WAN中,而且EIGRP保证网络不会产生环路(loop-free);而且配置起来很简单;支持VLSM;它使用多播和单播,不使用广播,这样做节约了带宽;它使用和IGRP一样的度的算法,但是是32位长的;它可以做非等价的路径的负载平衡。

二、EIGRP的四个组件

1、Protocol-Dependent Module(PDM)

2、可靠传输协议(Reliable Transport Protocol,RTP)

3、邻居的发现/恢复

4、弥散更新算法(Diffusing Update Algorithm,DUAL)

三、RTP-EIGRP的可靠传输协议

RTP负责EIGRP packet(下面有讲)的按顺序(可靠)的发送和接收,这个可靠的保障是通过Cisco私有的一个算法,reliable multicast实现的,使用组播地址224.0.0.10,每个邻居接收到这个可靠的组播包的时候就会以一个unicast作为确认按顺序的发送是通过packet里的2个序列号实现的,每个packet都包含发送方分配的1个序列号,发送方每发送1个packet,这个序列号就递增1.另外,发送方也会把最近从目标路由器接收到的packet的序列号放在这个要发送的packet里,在某些情况下,RTP也可以使用无需确认的不可靠的发送,并且使用这种不可靠发送的packet中不包含序列号.

四、EIGRP-Metric计算方法

EIGRP选择一条主路由(最佳路由)和一条备份路由放在topology table(EIGRP到目的地支持最多6条链路).它支持几种路由类型:内部,外部(非EIGRP)和汇总路由.EIGRP使用混合度.

EIGRP Metric的5个标准

1.带宽:10的7次方除以源和目标之间最低的带宽乘以256

2.延迟(delay):接口的累积延迟乘以256,单位是微秒

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

4.负载(loading):根据包速率和接口配置带宽而定的源和目的之间最不差的负载的值

5.最大传输单元(MTU):路径中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不参与EIGRP度的运算

EIGRP Metric的计算:EIGRP使用DUAL来决定到达目的地的最佳路由(successor).当最佳路由出问题的时候,EIGRP不使用holddown timer而立即使用备份路由(feasible successor),这样就使得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 不推荐修改K值.K值通过EIGRP的hello包运载.如果两个路由器的K值不匹配的话它们是不会形成邻居关系的 Metric weight Tos K1 K2 K3 K4 K5 来修改K值,Tos 默认为0.

五、EIGRP Packet

EIGRP使用多种类型的packet,这些packet通过IP头部信息里的协议号88来标识:

1. Hello packet:用来发现和恢复邻居,通过组播的方式发送,使用不可靠的发送.

2. ACK(acknowledgement) packet:不包含数据(data)的Hello包,使用unicast的方式,不可靠的发送.

3. Update packet:传播路由更新信息,不定期的,通过可靠的方式发送(比如网络链路发生变化).当只有一台路由器需要路由更新 时,update通过unicast的方式发送;当有多个路由器需要路由更新的时候,通过组播的方式发送.

4. Query(查询) & Reply(应答) packet:是DUAL finite state machine用来管理扩散计算用的,查询包可以是组播或unicast;应答包是通过unicast的方式发送,并且方式都是可靠的.

5. Request(请求) packet:最初是打算提供给路由服务器(server)使用的,但是从来没实现过.

六、EIGRP的邻居发现/恢复协议

EIGRP的Update包是非周期性发送的,

1.Hello包在一般的网络中(比如点到点,point-to-point)是每5秒组播1次(要随机减去1个很小的时间防止同步);

2.在多点(multipoint)X.25,帧中继(Frame Relay,FR)和ATM接口(比如ATM SVC)和ISDN PRI接口上,Hello包的发送间隔是60 秒.

在所有的情况中,Hello包是不需要确认的.可以在接口配置模式下修改该接口的Hello包默认的发送间隔,命令为

ip hello-interval eigrp

当一个路由器收到从邻居发来的Hello包的时候,这个Hello包包含了一个holdown time,这个holdown time告诉这个路由器等待后续Hello包的最大时间.如果在超出这个holdown time之前没有收到后续Hello包,那么这个邻居就会被宣告为不可达,并通知DUAL这个邻居已丢失.默认hold time是3倍于Hello包发送间隔的, 更高链路 -- 默认Hello间隔和保持时间是5s和15s T1或低于T1链路 -- 分别是60s和180s 可以在接口配置模式下修改这个默认的holdown time, 命令为

ip hold-time eigrp.

EIGRP邻居信息都记录在邻居表(neighbor table)中,使用show ip eigrp neighbors命令查看IP EIGRP的邻居.

七、EIGRP的术语定义

1.弥散更新算法简介 为了能够让DUAL正确的操作,低层协议必须满足以下几个条件:

一个节点要在有限的时间里检测到新邻居的存在或和一个邻居的连接的丢失

在链路上传输的所有信息必须在有限的时间里按正确的顺序收到

所有的消息,包括链路cost的更改,链路故障,和新邻居的发现,都应该是在有限时间里,一个一个的依次处理Cisco的EIGRP使用邻居的发现/恢复和RTP来确保上述前提条件

2.adjacency(邻接): 在刚启动的时候,路由器使用Hello包来发现邻居并标识自己用于邻居的识别.当邻居被发现以后,EIGRP会在它们之间形成一种邻接关系.邻接是指在这2个邻居之间形成一条交换路由信息的虚链路(virtual link).当邻接关系形成以后,它们之间就可以相互发送路由update,这些update包括路由器它所知道的所有的链路及其metric.对于每个路由,路由器都会基于它邻居宣告的距离(distance)和到达那个邻居的链路的cost来计算出一个距离

3.Feasible Distance(FD,可行距离): 到达每个目标网络的最小的metric将作为那个目标网络的FD.比如,路由器可能有3条到达网络172.16.5.0的路由,metric分别为380672,12381440和660868,那么380672就成了FD.

4. Feasible Condition(FC,可行条件): 邻居宣告到达目标网络的的距离小于本地路由器到达目标网络的FD AD < FD => FC=ture.

5.Feasible Successor(FS,可行后继路由): 如果一个邻居宣告到达目标网络的距离满足FC,那么这个邻居就成为FS.比如,路由器到达目标网络172.16.5.0的FD为380672,而他邻居所宣告到达目标网络的距离为355072,这个邻居路由器满足FC,它就成为FS;如果邻居路由器宣告到达目标网络的距离为 380928,即不满足FC,那么这个邻居路由器就不能成为FS,FS和FC是避免环路的核心技术,FS也是downstream router(下游路由器),因为从FS到达目标网络的距离比本地路由器到达目标网络的FD要小,存在一个或多个FS的目标网络被记录在拓扑表中。

6.拓扑表(Topological Table)

拓扑表包括以下内容:

目标网络的FD.

所有的FD.

每一个FS所宣告的到达目标网络的距离.

本地路由器计算出的,经过每个FS到达目标网络的距离,即基于FS所宣告到达目标网络的距离和本地路由器到达那个FS的链路的cost.

发现FS的网络相连的接口.

7.邻居表(Neighbor Table):每个路由器的RAM中都保存有关于邻居的地址和接口信息的表。

8.后继路由(Successor):又称成功者(Secessful),是到达远程网络的最佳路由。是EIGRP用于转发业务量的路由,它被存储在路由表中。

自定义分类:
网络协议
 
参考资料:
1.CCIE R/S &Service Provide Example Centification Guide
2.Routing TCP/IP Volume 1,Second Edition
3.CCNA Study Guide Sixth Edition 640-802 (Todd Lammle)
 
贡献者:
中国通信一员风元素homeahome
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4