EIGRP Summary by cunshen
3 EIGRP
3.1 邻居建立过程
3.2 EIGRP的水平分割
3.4 EIGRP的路由汇总
手动汇总的时候要先关闭自动汇总
3.5 EIGRP的DUAL算法
3.6 EIGRP的基本性质
1.EIGRP是一种混合的路由协议,在路由更新的时候是距离矢量路由协议的行为,在计算路由表的时候确是链路状态路由协议的行为,
2.EIGRP 支持224 跳,IGRP支持255 跳
3.EIGRP 通过RTP 提供可靠/不可靠服务
4.PDM (protocol-dependent modules)协议相关模块,EIGRP 具有模块化设计,支持多种协议,每种协议都有一个EIGRP进程,都有那3张表。
5.EIGRP/IGRP都支持不等价负载均衡。
6. 支持VLSM,CIDR
7.区分EIGRP的IP数据包是依靠数据包的报头中的protocol ID 88 来辨别的。也就是说报头中的protocol ID 是88的就是EIGRP的数据包。(protocol number EIGRP-88 TCP-6 UDP-17)
3.7 相同AS号的IGRP和EIGRP的自动重分布
关键:管理距离的比较
3.8 EIGRP的3种管理距离
EIGRP的汇总路由:5
内部EIGRP:90
外部EIGRP:170
3.9路由表的递归查询方法
3.10 Metric的计算方法
①当K1~K5设置成默认值(CISCO建议)
Metric = [K1 x BW + ((
(K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0)
②默认情况下EIGRP的Metric = BW [lowest link] + delay [sum of links].
BW = 路径上的最小链路带宽
③当K5 = 1时 (不建议):
Metric = [K1 x BW + ((
(K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 1)
④带宽:
延迟:
可靠性:
负载:
MTU:
⑤Serial0:BW=1544kbps Delay=20000
Ethenet0:BW=
Loopback0:BW=
⑥Metric 存储空间比较:IGRP(24位) EIGRP(32位)=>8bits=256 倍
PS:<1>路由学习的方向,入接口的带宽=发送数据包的出接口的带宽。
<2>如果你必须更改DELAY或BANDWDITH以达到你的特殊目的,建议你更改DELAY,因为其它协议也要用到BANDWITH如OSPF,另外,在使用限制E IGRP使用带宽的命令中也涉及到BANDWITH,所以一般修改DELAY参数(尤其在做实验时,为了简化METRIC值)
show interface 察看value
为重分布路由设置一个缺省metric
default-metric 10000 100 255 1 1500
3.11 EIGRP的5种message
1.Hello:包含as号和K值(建立邻居的两个充要条件,K值是默认值),作用是发现、验证、和重新发现邻居路由器,是不可靠的报文,组播(224.0.0.10)发送。
Hello包的发送间隔:
5S:广播网络(Ethenet,Token Ring,FDDI)
点到点链路(PPP,HDLC)
点到点子接口(FR,ATM)
速率大于T1的电路(Switched Multimegabit Data Service (SMDS), Frame Relay, ATM, ISDN PRI)
60S:速率小于T1的多电路(ISDN BRI, Frame Relay, SMDS, ATM, 和X.25)
PS:hello包间隔不同可以建立邻居关系,但是不能>Holdtime=HelloTime*3,Hello包从面向邻居的接口发出来。
2.ACK:对可靠性传输报文的确认;不包含数据的Hello包;RTP提供可靠通信,
确认数据包是以单点传送;是不可靠报文;单播发送。
3.Update:发现新邻居时,单播发送方式向新邻居发送路由更新更新包;当EIGRP路由器首次启动的时候,其Update包是组播发送;是可靠报文,组播或者单播发送。
4.Query:可靠报文;组播或者单播发送。
5.Reply:可靠报文;单播发送。
3.12 EIGRP的三张表
邻居表:直连的邻居,用Hello包来建立邻居表。
拓扑表:由所有邻居发送来的邻居表而构成的
RTX#show ip eigrp topology all
路由表:由拓扑表计算出的路由表
3.13 EIGRP 的路由标缀
内部路由发源于EIGRP,外部路由发源于自治系统之外,从(RIP、OSPF、IGRP)那里学到再发布的,发源于EIGRP AS 之外的静态路由再发布之后也是外部。
查看路由标缀:RTX#show ip eigrp top 204.100.50.0/24
设置EIGRP 管理标缀
RTX(config)#access-list 10 premit 192.168.0.0
RTX(config)#route-map tag1 permit
RTX(config-route-map)#match ip address 10
RTX(config-route-map)#set tag 1
假定192.168.0.0/24 是一条直连路由:
RTX(config):router eigrp 2446
RTX(config-router)#redistribute connected route-map tag1
3.14 EIGRP的路由维护(包含与DUAL算法中)
如果不存在可行后继路由,路由器将遵循下列步骤:
步骤1 将失效路由标记为活跃
步骤2 寻找替代路由,发送查询数据包
步骤3 波纹效应
步骤4 查询路由器收到响应后,作出反应:1)如果含后继路由或可行后继路由,则信息被放入拓扑结构表;2)如果所有的响应都不含有后继路由或可行后继路由,则在路由表和拓扑结构表中删除处于活跃状态的路由
PS:EIGRP只要在Hello包里面看到对方,就形成邻居关系,这个和OSPF不一样。
3.15 邻居表的详细解释
Address:邻居的网络层地址
队列数量(Queue Count):在队列中等待被发送的数据包的数量,如果该值经常大于0,就可能存在拥塞问题,该值位0则说明队列中没有EIGRP数据包
平均回程计时(Smooth Round-Trip Timer,SRTT):EIGRP数据包被发送到邻居和本地路由器接收到该数据包的ACK所用的毫秒数;该计时器用于确认 重传时间间隔=重传超时(Retransmit Timeout,RTO).
保持时间:在认为链路不可用之前,在没有接收到来自邻居的任何数据包的情况下所等待的最大时间,最初,所期望的数据包是Hello包,但是在最新的CISCO IOS软件版本中,在接收到来自邻居的第一个Hello数据包之后的任何EIGRP数据包都将重置计数器。
序列号:
3.16 EIGRP的重传机制
1.路由器存储一个邻居表,并且为每个邻居建立一个重传列表。
2.当没有收到可靠传输报文(update, query, reply)的ACK的时候,这些报文将被重传。
3.当重传可靠传输报文的到达16次时,将重置邻居关系[c1] 。
4.重传时间是以RTO(Retransmit Timeout)时间为间隔。
3.17 EIGRP的传输机制
等待重传机制[a window size of one (stop-and-wait mechanism)]
解释:每个可靠的报文必须被ACK后,才可以继续下一个序列号的报文的传输,如果一个或者多个邻居还没有被ACK,那所有的其他邻居将要等待其确认。(解决方法:重传不必ACK的单播给这类邻居 )
3.17 EIGRP 的FSM
当某种事件引起PASSIVE状态的路由,进行重新查找FS时,如果有FS则FS升级成S(SUCCESSOR),如果没有则路由器向所有邻居发送QUERY ,此路由变为ACTIVE状态,此状态下有很多限制,例如不可更改FD,不可更改SUCCESSOR等,当所有发出的QUERY都收到REPLY时,路由器对此路由重新进行计算,并选出新的S ,FD,删除不符合FC条件的FS(FC的一个重要条件是:下一跳路由所通告的距距离(AD)必要小于当前的FD,这是为了防止LOOP等)
并发送UPDATE。做为接收到路由器发出QUERY的路由器在他的FS里找出最好的通告给初始路由器,如果他也没有,则同理,发送QUERY。需要指出的一点是缺省情况下如果路由器在3 分钟内没有收到某一QUERY的REPLY则进行SIA状态,并对从此邻居所收到的所有路由进行QUERY,时间可以手动更改
还有一点,一个设计好的网络不应该出现SIA的情况,一种错误的认识是设计多个AS连接起来,事实证明这种方法并不好,因为QUERY在AS 边界会被发送到另一个AS去,其结果是本AS中没有SIA,但另一个AS中可能存在SIA
其实,FSM比上边说的还要复杂,(非常复杂)例如,引起路由状态改变的因素可以有三种,如新发现路由等等,不同的因素引发的状态改变以及不同的方向上收到Q UERY以及REPLY还会有不同的处理
3.18 Bandwidth over WAN interface
1.p2p subint using frame-relay: 设为CIR
2.Multipoing:设为邻居带宽的总和
如果每个PVC有不同的CIR
- 转换为p2p配置
- lowest CIR * PVC总数
举个例子:
点到点星型拓扑,总部CIR=256k,到分部有10条PVC,每条CIR=56kbps
划分p2p subint,每条PVC分配25kbps,调整eigrp协议数据报最大占用50%的VC容量
#interface serial 0.1 point-to-point
bandwidth 25
ip bandwidth-percent eigrp 1 110
注意:25的110%为28Kbps,即56kbps/2
3.19 traffic-share balanced命令是什么意思?
举个例子
E-B-A 之间的 metric:30
E-C-A 之间的 metric:20
E-D-A 之间的 metric:45
基本的eigrp选路是E-C-A具有最小metric值的路由,使用variance 2命令后,这时候,低于metric40=20*2的路由都将被选择,E-B-A(metric30)这条路由也被选择,这时候如何平衡到目标网络具有不同metric值的两条path之间的负载均衡呢?使用traffic-share balanced的结果就是让流量和metric值的大小成反比,较低metric值的path将承担较多的
traffic
path E-C-A: 30/20 = 3/2
path E-B-A: 30/30 = 1
(2)还有在配EIGRP 的时候(frame-relay的NBMA)命令router(config-router)#neighbor 192.168.1.129是什么意思呢?(192.168.1.129是对方router串口IP)
因为在NBMA网络中不支持路由信息的广播,所以要手动指定邻居的ip地址,来实现路由信息的单播更新.
还有一种情况,就是在做路由优化的时候,EIGRP的passive命令的作用是既不接受路由,也不主动发送路由信息的更新,所以,这时候,可以直接用neighbor命令来指定邻居地址,也是一种单播路由信息的更新.
(3)ip bandwidth-percent eigrp 200 20是什么意思?
还有eigrp的邻居需要配吗?不是自动建立的吗?
eigrp的邻居建立:只要EIGRP的路由器收到对方路由器发送来的Hello包,这时候,邻居关系就建立起来了,igp是自动建立邻居的机制,不要像BGP那样要手动配置
ip bandwidth-percent eigrp 200 20的意思是:200是as号码.20是EIGRP这个路由协议所占用的带宽的百分比,就是百分之20,默认是50,这个是接口配置模式的命令.
Ps:相关命令
show ip eigrp neighbors
show ip eigrp topology
show ip route eigrp
show ip protocols
show ip eigrp traffic
debug eigrp packets
debug eigrp neighbors
debug ip eigrp
debug ip eigrp summary
有关eigrp 的发布,在12.0(4)t以前是:
network network-number
在以后是可以是:
network network-number [wildcard nwtwork-mask]
这一点使得EIGRP可以在具体指定某个接口上发布EIGRP
• Up to 30 IGRP routing processes
• Up to 30 OSPF routing processes
• One RIP routing process
• One IS-IS process
• One BGP routing process
[c1](1)在Stable网络中:Holdtime超时后重置邻居关系(2)在Unstable网络中:当重传可靠传输报文的到达16次时重置邻居关系。
待续...