标签:eigrp

思科eigrp技术总结

Operation of EIGRP

EIGRP 是一个距离向量路由协议,但是它还具有链路状态路由协议的一些特征。距离向量的路由协议一般都是基于Bellman-Ford(或 Ford-Fulkerson)算法的。这样的算法容易引起路由循环(loop)和计数无穷大(counting to infinity),所以就必须采取些减少和避免上述问题的措施比如水平分割、holddown timer、毒性反转等。

在距离向量路由协议环境里,由于路由器在给别的邻居(neighbor)传输它所接收到的路由之前,先要进行路由的计算,所以在大型网络里,收敛会比较慢,并且一旦链路变化,又会引起大量的路由被宣告和距离向量路由协议相比,链路状态路由协议受上述问题的影响就小的多。

1.链路状态包(Link-State Packet,LSP)的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛.

2.它只宣告链路和链路状态,而不宣告路由,所以即使链路发生了变化,不会引起该链路的路由被宣告。但是链路状态路由协议使用的是Dijkstra算法,该算法比较复杂,并且较占CPU和内存资源。和其他路由协议单独计算路由相比,链路状态路由协议采用种扩散计算(diffusing computations ),通过多个路由器并行的记性路由计算,这样就可以在无环路产生的情况下快速的收敛

EIGRP 的路由 update(更新)的发送周期的不固定的,它只在网络链路发生变化以后才被发送,并且更新中可以只包含发生变化了的路由条目,而且只发给受到影响的路由器.这样就对链路带宽进行了节约。在WAN低速链路上,EIGRP可能会占用大量带宽,默认只占用链路带宽50%,使用命令ip bandwidth-percent eigrp 来修改这一默认值。

EIGRP是一种基于无类的路由协议, EIGRP packet只能用MD5加密的方式进行验证

EIGRP支持IP,IPX和AppleTalk

EIGRP使用和IGRP相同的公式来计算metric,然而,这个metric要在IGRP算出来的metric 之上乘以1个256

clip_image002

EIGRP的4个组件如上图:

1. Protocol-Dependent Module (PDM)

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

3.邻居的发现/恢复

4.扩散更新算法(Diffusing Update Algorithm, DUAL)

Reliable Transport Protocol

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

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

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

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

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

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

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

如果packet通过可靠的组播方式发送出去,并且没有收到邻居反馈的ACK包,那么这个 packet会再次以unicast的方式发送给那个未响应的邻居,如果经过16次的重传unicast,仍然没有收到ACK包的话,那么这个邻居就宣告为无效。

在从组播切换到 unicast 之前,等待ACK包的时间可以由multicast flow timer(MFT)指定,后续的重新传unicast的发送间隔可以由 RTO(retransmission timeout)指定。每个邻居的 MFT 和 RTO 都可以通过 SRTT(smooth round-trip time)来计算,SRTT的单位是(毫秒)ms,用来衡量路由器从发送EIGRP packet到某个邻居并接收到这个邻居的ACK包所花费的平均时间。

Neighbor Discovery/Recovery

在这里,邻居是指网络中直连的通告EIGRP的路由器。EIGRP的Hello包在一般的网络中(比如点到点,point-to-point)是每5秒组播1次(要随机减去 1 个很小的时间防止同步);在多点(multipoint)X.25,帧中继(Frame Relay,FR)和 ATM 接口(比如 ATM SVC)和ISDN PRI接口上,Hello包的发送间隔是60秒。在所有的情况中,Hello包是不需要确认的。可以在接口配置模式下修改该接口的Hello包默认的发送间隔,命令为ip hello-interval eigrp

当一个路由器收到从邻居发来的Hello包的时候,这个Hello包包含了一个hold time,这个hold time告诉这个路由器等待后续 Hello 包的最大时间。如果在超出这个 hold time 之前没有收到后续 Hello 包,那么这个邻居就会被宣告为不可达,并通知DUAL这个邻居已丢失。默认hold time是3倍于Hello包发送间隔的, 可以在接口配置模式下修改这个默认的hold time,命令为ip hold-time eigrp

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

The Diffusing Update Algorithm

DUAL: Preliminary Concepts(预备概念)

为了能够让DUAL正确的操作,低层协议必须满足以下几个条件:

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

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

3.所有的消息,包括链路cost的更改、链路故障和新邻居的发现,都应该是在有限时间里,一个一个的依次处理

Cisco的EIGRP 使用邻居的发现/恢复和RTP 来确保上述前提条件

adjacency(邻接):

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

Feasible Distance(FD,可行距离):

到达每个目标网络的最小的 metric 将作为那个目标网络的 FD。比如,路由器可能有 3 条到达网络 172.16.5.0 的路由,metric分别为380672,12381440和660868,那么380672 就成了FD

Feasible Condition(FC,可行条件):

------中间广告---------

邻居宣告到达目标网络的的距离小于本地路由器到达目标网络的FD

Feasible Successor(FS,可行后继路由器):

如果一个邻居宣告到达目标网络的距离满足FC,那么这个邻居就成为FS。比如,路由器到达目标网络172.16.5.0的FD为 380672,而他邻居所宣告到达目标网络的距离为 355072,这个邻居路由器满足 FC,它就成为 FS;如果邻居路由器宣告到达目标网络的距离为380928,即不满足FC,那么这个邻居路由器就不能成为FS

注意:FSFC是避免环路的核心技术,FS也是downstream router(下游路由器),因为从FS到达目标网络的距离比本地路由器到达目标网络的FD要小

Successor(后继路由器):

对于列举在拓扑表里的每个目标网络,将选取 metric 最小的的路由放置在路由表里,宣告这条路由的邻居就成为Successor,或者是下一跳路由器

命令show ip eigrp topology 可查看每个目标网络及相应的FD、FS和Successor

如果FS宣告的路由的metric比当前Successor的metric小的话,那么这个FS就将成为新的Successor,如下几种情况可能会引起这个现象的发生:

1.发现一条新的路由

2.现有Successor的metric增加,超过了FS的metric,或现有FS的metric减小到小于现有Successor的metric

FS减少了扩散计算的次数,提高了网络性能,同时也降低了收敛的次数.如果到达Successor的链路出故障,或者链路的 cost 增加,并超过了 FD,那么路由器会先在它的拓扑表中查找 FS,如果有 FS 的话,这个FS将成为新的Successor;如果找不到可用的FS,它才重新进行扩散计算

The DUAL Finite Machine

当 EIGRP 路由器不进行扩散计算的时候,所有的路由都处于被动(passive)状态。当发生输入事件(input event)的时候,路由器会对路由的FS列表进行重新评估,输入事件的源:

1.直连链路的cost发生变化

2.直连链路状态的变化(比如up或down)

3.收到更新包

4.收到查询包

5.收到应答包

路由器重新评估的第一步是在本地路由器上执行本地计算(local computation),可能的结果如下:

1.如果FS的metric最小,并且和现有Successor不同的话,那这个FS就成为新的Successor

2.如果新的距离(distance)小于FD,FD将被更新

3.如果新的距离和已经存在的距离不同,将向所有邻居发送更新包

当路由器执行本地计算的时候,路由仍然处于被动状态,如果本地路由器在它的拓扑表里发现可用的 FS,更新包将发送给它所有的邻居,但是路由状态不会改变;如果没有发现可用的 FS,路由器将进行扩散计算并且路由会进入活跃(active)状态。

在路由器扩散计算完成和路由状态返回为被动状态之前,路由器:

1.不能更改路由的Successor

2.不能更改正在宣告的路由的距离

3.不能更改路由的FD

4.不能开始进行路由的另一个扩散计算

路由器是通过向它所有邻居发送一个查询来开始一个扩散计算的。查询包包含了本地路由器计算出来的到达目标地址的新的距离,当每个邻居收到这个查询包的时候,就开始进行自己的本地计算:

1. 如果邻居有到达目标地址的一个或多个 FS,它就反馈应答包给产生这个查询包的路由器。这个应答包包含了这个邻居所计算出的它到达目标地址的最小的距离

2. 如果邻居没有FS,它就把路由更改为活跃状态并进行扩散计算

扩散计算在查询的时候,范围是扩大,在应答的时候,范围是缩小

对于每一台接收查询的邻居路由器,本地路由器会设置一个答复状态标记(reply status flag,r)来不断地跟踪这些所有未处理的查询包。当本地路由器接收到所有发出去的查询包的应答的时候,扩散计算就完成了

在扩散计算的开始,active timer 设置为3分钟(早期 IOS版本设置为 1分钟),如果在这个 active timer 超时之前仍然没有收到发出去的查询包的所反馈的所有的应答包的时候,那么这些没有收到应答包的路由就被标记为stuck-in-active(SIA),这些没有反馈应答的邻居将从邻居表中被删除,而且扩散计算会认为是这个邻居反馈了一个为无穷大的metric。active timer的修改命令为timers active-time

在扩散计算完成后,最初发送查询包的路由器会把FD设置为无穷大,这样确保了任何反馈应答包的路由器都满足FC并且能够成为 FS。对于这些应答包,metric 的计算是基于应答包中宣告的距离加上到达这个反馈应答包的邻居路由器的链路cost。metric 最小的成为Successor,并且FD就设置为这个最低的 metric。任何不满足 FC的 FS 将从拓扑表中被删除。注意在收到所有的应答之前是不会选择Successor的

扩散计算的核心思想如下:

1.任何时间发生了IE的话,将执行本地计算

2.如果在拓扑表里发现了多个FS,metric 最低的作为新的Successor

3.如果没有找到可用的FS,路由进入活跃状态,并向邻居发出查询包,寻找新的FS

4.当所有发出去的查询包都被应答包响应,或者在active timer超出之前,路由会一直处于活跃状态

5.如果扩散计算结果没有找到新的可用FS 的话,那么将宣告目标不可达

EIGRP packet 的活动可以通过命令 debug eigrp packets 来跟踪,默认情况下会显示所有的 EIGRP packet,由于 Hello 包和 ACK 包的数量可能过大导致不便于跟踪,所以可以使用关键字来指定跟踪的 EIGRP packet 类型:debug eigrp packet query reply update

EIGRP 配置指南

1 Comment CISCO

EIGRP
提问 配置网络使用EIGRP路由协议
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip address 192.168.20.1 255.255.255.0
Router1(config-if)#exit
Router1(config)#interface Serial0.1 point-to-point
Router1(config-subif)#ip address 172.25.2.2 255.255.255.252
Router1(config-subif)#exit
Router1(config)#router eigrp 55
Router1(config-router)#network 172.25.0.0
Router1(config-router)#network 192.168.20.0
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 要确保启用此路由协议的所有路由器配置的EIGRP后面的进程号相同,可以使用show ip eigrp neighbors 来验证邻居关系。同时支持network 192.168.20.0 0.0.0.255 来定义发布的网络
7.2.      路由过滤
提问 对EIGRP学到或者宣告的路由进行过滤
回答
入方向过滤
Router2#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router2(config)#access-list 34 deny 192.168.30.0
Router2(config)#access-list 34 permit any
Router2(config)#router eigrp 55
Router2(config-router)#distribute-list 34 in Serial0.1
Router2(config-router)#exit
Router2(config)#end
Router2#
出方向过滤
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#access-list 57 permit 172.25.1.0
Router1(config)#access-list 57 deny any
Router1(config)#router eigrp 55
Router1(config-router)#distribute-list 57 out Serial0/0.2
Router1(config-router)#exit
Router1(config)#end
Router1#
使用prefix方式过滤,并且支持gateway 选项
Router9#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router9(config)#ip prefix-list ALLOWED-PREFIXES permit 10.0.0.0/8 le 32
Router9(config)#ip prefix-list ALLOWED-PREFIXES deny 0.0.0.0/0 le 32
Router9(config)#ip prefix-list ALLOWED-NEIGHBORS permit 172.18.19.1/32
Router9(config)#ip prefix-list ALLOWED-NEIGHBORS permit 172.18.19.4/32
Router9(config)#ip prefix-list ALLOWED-NEIGHBORS deny 0.0.0.0/0 le 32
Router9(config)#router eigrp 55
Router9(config-router)#distribute-list prefix ALLOWED-PREFIXES gateway ALLOWED-NEIGHBORS in
Router9(config-router)#exit
Router9(config)#end
Router9#
注释 在路由过滤时推荐使用prefix方式而不用ACL形式。Gateway参数只能用于入方向控制,同时建议不用和interface混和使用
7.3.      再发布路由到EIGRP 
提问 再发布其他方式学到的路由到EIGRP路由进程
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#router eigrp 55
Router1(config-router)#redistribute rip
Router1(config-router)#default-metric 1000 100 250 100 1500
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 如果再发布的是静态路由可以不用配置default-metric命令,对于其他协议都必须配置此命令否则无法成功再发布。再发布之前也可以使用过滤列表进行路由过滤,从而只再发布特定路由
Router1(config)#router eigrp 55
Router1(config-router)#redistribute ospf 99
Router1(config-router)#distribute-list 7 out ospf 99
7.4.      使用Route Map方式来配置再发布
提问 使用控制粒度更好的Route Map方式来配置再发布
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.11.0 255.255.255.0 172.22.1.4
Router1(config)#ip route 192.168.12.0 255.255.255.0 172.22.1.4
Router1(config)#access-list 20 permit 192.168.10.0
Router1(config)#access-list 21 permit 192.168.11.0
Router1(config)#route-map STATIC permit 10
Router1(config-route-map)#match ip address 20
Router1(config-route-map)#set metric 56 100 255 1 1500
Router1(config-route-map)#set tag 2
Router1(config-route-map)#exit
Router1(config)#route-map STATIC permit 20
Router1(config-route-map)#match ip address 21
Router1(config-route-map)#set metric 128 200 255 1 1500
Router1(config-route-map)#exit
Router1(config)#route-map STATIC deny 30
Router1(config-route-map)#exit
Router1(config)#router eigrp 55
Router1(config-router)#redistribute static route-map STATIC
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 此处配置和前面6.3的配置差不多,唯一需要注意的就是前面提到的必须要加上metric的设置
7.5.      特定接口禁止EIGRP
提问 禁止某个端口参与EIGRP
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#router eigrp 55
Router1(config-router)#passive-interface Serial0/1
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 这里的被动接口和RIP不同,由于结果是不能形成邻居在此接口所以使用该命令以后就不能发送也不能接收路由信息
7.6.      调整EIGRP度量值
提问 修改学到的EIGRP路由器度量值
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#access-list 22 permit 192.168.30.0
Router1(config)#access-list 33 permit 192.168.30.0
Router1(config)#router eigrp 55
Router1(config-router)#offset-list 33 out 10000 Serial0.1
Router1(config-router)#offset-list 22 in 10000 Serial0.1
Router1(config-router)#exit
Router1(config)#end
Router1#
注释
7.7.      定时器调整
提问 调整定时器优化收敛
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#interface Serial0.1
Router1(config-subif)#ip hello-interval eigrp 55 3
Router1(config-subif)#ip hold-time eigrp 55 9
Router1(config-subif)#exit
Router1(config)#end
Router1#
注释 EIGRP的一个特性就是定时器的调整可以基于端口,并且不用保持整个网络中所有设备的定时器设置一致,各个定时器都是独立的
7.8.      启用EIGRP认证
提问 增强路由信息安全性
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#key chain ORA
Router1(config-keychain)#key 1
Router1(config-keychain-key)#key-string oreilly
Router1(config-keychain-key)#exit
Router1(config-keychain)#exit
Router1(config)#interface Serial0/1
Router1(config-if)#ip authentication mode eigrp 55 md5
Router1(config-if)#ip authentication key-chain eigrp 55 ORA
Router1(config-if)#exit
Router1(config)#end
Router1#
注释 注意这里只是认证不是加密路由信息包。下面提供一种更改key方法,帮助网络平稳过渡到新的key
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#key chain Mars
Router1(config-keychain)#key 1
Router1(config-keychain-key)#key-string rocket
Router1(config-keychain-key)#accept-lifetime 00:00:00 Jan 1 1993 00:15:00 Nov 1 2006
Router1(config-keychain-key)#send-lifetime 00:00:00 Jan 1 1993 00:00:00 Nov 1 2006
Router1(config-keychain-key)#key 2
Router1(config-keychain-key)#key-string martian
Router1(config-keychain-key)#accept-lifetime 23:45:00 Oct 31 2006 infinite
Router1(config-keychain-key)#send-lifetime 00:00:00 Nov 1 2006 infinite 
Router1(config-keychain-key)#end
Router1#
7.9.      配置EIGRP路由汇总
提问 通过路由汇总来减少路由表大小和增强稳定性
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#interface Serial0/0.2
Router1(config-subif)#ip summary-address eigrp 55 172.25.0.0 255.255.0.0
Router1(config-subif)#exit
Router1(config)#end
Router1#
缺省会自动路由汇总,使用no auto-summary关闭(12.2(8)T后自动关闭)
同时可以配置汇总路由的同时,宣告部分子网路由
Router9# configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router9(config)#ip prefix-list 10.5.5/24 permit 10.5.5.0/24
Router9(config)#route-map LEAK10-5-5 permit 10
Router9(config-route-map)#match ip address prefix-list 10.5.5/24
Router9(config-route-map)#exit
Router9(config)#interface Serial0/0
Router9(config-if)#ip summary-address eigrp 55 10.5.0.0 255.255.0.0 leak-map LEAK10-5-5
Router9(config-if)#exit
Router9(config)#end
Router9#
注释 路由汇总也是EIGRP的特性之一,可以配置在任意路由器的接口进行汇总,不象OSPF那样只能在ABR汇总。汇总路由的度量值和所汇总路由中的最好的子网路由的度量值一致。Leakmap特性在12.3(14)T后引入,可以在汇总路由的同时发布某些更匹配的路由
7.10.      记录邻居状态变化
提问 记录邻居状态变化
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#router eigrp 55
Router1(config-router)#eigrp log-neighbor-changes
Router1(config-router)#exit
Router1(config)#end
Router1#
注释 缺省开启
<!–[if !supportLists]–>7.11.           <!–[endif]–>限制EIGRP路由更新占用带宽
提问 限制EIGRP路由更新占用带宽的百分比
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#interface Serial0.1
Router1(config-subif)#ip bandwidth-percent eigrp 55 40
Router1(config-subif)#exit
Router1(config)#end
Router1#
注释 这里的百分比可以大于100%,当我们人为的设定了某端口带宽用于计算度量值时
7.12.      EIGRP Stub路由
提问 向边缘网络发布较小的路由表
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#router eigrp 55
Router1(config-router)#eigrp stub
Router1(config-router)#exit
Router1(config)#end
Router1#
注释
7.13.      路由标签
提问 通过对特定路由进行标签,防止再分发时出现路由回环
回答
Router1#configure terminal
Enter configuration commands, one per line.      End with CNTL/Z.
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.25.1.1
Router1(config)#access-list 7 permit 0.0.0.0
Router1(config)#route-map TAGGING permit 10
Router1(config-route-map)#match ip address 7
Router1(config-route-map)#set tag 5
Router1(config-route-map)#exit
Router1(config)#router eigrp 55
Router1(config-router)#redistribute static route-map TAGGING
Router1(config-router)#exit
Router1(config)#end
Router1#
注释
<!–[if !supportLists]–>7.14.           <!–[endif]–>查看EIGRP状态
提问 查看状态命令
回答
Router1#show ip protocols
Router1#show ip route eigrp
Router1#show ip eigrp neighbors
Router1#show ip eigrp interfaces
Router9#show ip eigrp accounting
Router1#show ip eigrp topology
注释 12.3(14)T引入了show ip eigrp accounting
Router9#show ip eigrp accounting
IP-EIGRP accounting for AS(55)/ID(172.18.5.9)
Total Prefix Count: 50      States: A-Adjacency, P-Pending, D-Down
State Address/Source       Interface            Prefix       Restart      Restart/
                                            Count         Count       Reset(s)
A        172.20.10.1          Se0/0                     1            0            0
A        172.18.19.1          Fa0/0                    39            0            0
A        172.18.19.4          Fa0/0                     1            0            0
A        172.18.19.6          Fa0/0                     6            0            0
Router9#
Router1#show ip eigrp topology
IP-EIGRP Topology Table for AS(55)/ID(172.25.25.1)
Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,
           r – reply Status, s – sia Status
P 0.0.0.0/0, 1 successors, FD is 28160, tag is 5
             via Rstatic (28160/0)
             via Summary (28160/0), Null0
P 10.2.2.0/24, 1 successors, FD is 156160
             via 172.22.1.4 (156160/128256), FastEthernet0/1
P 10.1.1.0/30, 1 successors, FD is 3845120
             via Connected, Serial0/1
P 192.168.10.0/24, 1 successors, FD is 28160, tag is 5
             via Rstatic (28160/0)
P 192.168.30.0/24, 1 successors, FD is 156160
             via 172.22.1.4 (156160/128256), FastEthernet0/1
P 192.168.20.0/24, 1 successors, FD is 2195456
             via 172.25.2.2 (2195456/281600), Serial0/0.2
P 172.25.25.6/32, 1 successors, FD is 156160
             via 172.25.1.7 (156160/128256), FastEthernet0/0.1
P 172.25.25.1/32, 1 successors, FD is 128256
             via Connected, Loopback0
P 172.25.25.2/32, 1 successors, FD is 2297856
             via 172.25.2.2 (2297856/128256), Serial0/0.2
P 172.25.1.0/24, 1 successors, FD is 28160
             via Connected, FastEthernet0/0.1
P 172.25.2.0/30, 1 successors, FD is 2169856
             via Connected, Serial0/0.2
P 172.22.1.0/24, 1 successors, FD is 28160
             via Connected, FastEthernet0/1
Router1#

排除EIGRP故障

No Comments CISCO ,

 

1.不匹配的K值

EIGRP为了建立它的邻居关系,计算EIGRP度量标准的K常数值必须相同。

K1-带宽 K2-负载 K3-延迟 K4,K5-可靠性

router eigrp 1

network x.x.x.x

metric weights 0 1 1 1 1 0

2.不匹配的AS编号

EIGRP不会与具有不同自治系统编号的路由器形成任何邻居关系。

3.活动粘滞

(1)确定问题

可能的原因有:

。 坏的或拥塞的链路;

。 低的路由器资源,如路由器上的低内存和高CPU处理。

。 长的查询范围

。 过多的冗余

默认活动粘滞定时器只有180S.

使用show ip eigrp topology active 命令帮助故障排除EIGRP活动粘滞错误,仅在问题发生时有用,用户一次只有180S的时间来确定。邻居有一个r跟在后面表示它没有应答查询。

(2)故障排除方法

追踪查询,一跳接一跳,在每一跳找出活动路由的状态。

(3)最终解决方案

尽可能手工汇总路由并有一个分层次的网络设计。EIGRP汇总的网络越多,主收敛发生时需要做的事情越少。

4.重复的路由ID

EIGRP只是为了外部路由而使用路由器ID的概念来防止环路。EIGRP基于路由器上回环接口的最大IP地址来选择路由器ID.如果路由器没有回环接口,则选择所有接口中最大的激活IP地址作为EIGRP的路由器ID.

debug ip eigrp可以看到接口上通告某个网络。

经验法则:永远不要在网络的两个地方配置相同的IP地址。

EIGRP负载均衡实验

 

R1   ————–R2
| |
| |
R3—————-R4
——————————–
R1
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface Loopback2
ip address 10.10.1.1 255.255.255.0
!        
interface Loopback3
ip address 10.10.2.2 255.255.255.0
!
interface Loopback4
ip address 10.10.3.3 255.255.255.0
!
interface Loopback5
ip address 10.10.4.4 255.255.255.0
!
interface FastEthernet0/0
ip address 123.123.123.1 255.255.255.0
duplex auto
speed auto
!
interface Serial1/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router eigrp 100
offset-list 99 out 3000000
network 1.1.1.1 0.0.0.0
network 10.10.0.0 0.0.255.255
network 123.123.123.0 0.0.0.255
no auto-summary
————————————-
R2
hostname r2
!
!
ip subnet-zero
!
!
!
!
!
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface FastEthernet0/0
ip address 123.123.123.2 255.255.255.0
duplex auto
speed auto
!
interface Serial1/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/1
no ip address
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
no arp frame-relay
frame-relay map ip 222.222.23.3 202 broadcast
no frame-relay inverse-arp
frame-relay intf-type dce
!
interface Serial1/2
ip address 24.24.24.2 255.255.255.0
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
frame-relay map ip 24.24.24.4 204 broadcast
no frame-relay inverse-arp
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router eigrp 100
network 2.2.2.2 0.0.0.0
network 24.24.24.0 0.0.0.255
network 123.123.123.0 0.0.0.255
no auto-summary
!
ip classless
ip http server
!
!
line con 0
line aux 0
line vty 0 4
!
end
————————————
R3
hostname r3
!
!
ip subnet-zero
!
!
!
frame-relay switching
!
!
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
!
interface Loopback11
ip address 33.33.1.1 255.255.255.0
!
interface Loopback12
ip address 33.33.2.2 255.255.255.0
!
interface Loopback13
ip address 33.33.3.3 255.255.255.0
!
interface Loopback14
ip address 33.33.4.4 255.255.255.0
!
interface FastEthernet0/0
ip address 123.123.123.3 255.255.255.0
duplex auto
speed auto
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
frame-relay map ip 222.222.23.2 202 broadcast
no frame-relay inverse-arp
!        
interface Serial1/1
ip address 34.34.34.3 255.255.255.0
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
frame-relay map ip 34.34.34.4 304 broadcast
frame-relay intf-type dce
!
interface Serial1/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router eigrp 100
offset-list 99 out 3000000
network 3.3.3.3 0.0.0.0
network 3.3.3.0 0.0.0.255
network 33.33.0.0 0.0.255.255
network 34.34.34.0 0.0.0.255
network 123.123.123.0 0.0.0.255
no auto-summary
!
ip classless
ip http server
!
access-list 99 permit 33.33.0.0 0.0.255.255
!
line con 0
line aux 0
line vty 0 4
!
end
——————————————-
R4
hostname r4
!
!
ip subnet-zero
!
!
!
!
!
!
interface Loopback0
ip address 4.4.4.4 255.255.255.0
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface Serial1/0
ip address 34.34.34.4 255.255.255.0
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
frame-relay map ip 34.34.34.3 304 broadcast
no frame-relay inverse-arp
!
interface Serial1/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/2
ip address 24.24.24.4 255.255.255.0
encapsulation frame-relay
serial restart-delay 0
clock rate 64000
frame-relay map ip 24.24.24.2 402 broadcast
no frame-relay inverse-arp
!        
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
router eigrp 100
network 4.4.4.4 0.0.0.0
network 24.24.24.0 0.0.0.255
network 34.34.34.0 0.0.0.255
no auto-summary
!
ip classless
ip http server
!
!
line con 0
line aux 0
line vty 0 4
!
end
结果
r2#sh ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
       D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
       N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
       E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
       i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
       ia – IS-IS inter area, * – candidate default, U – per-user static route
       o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
     34.0.0.0/24 is subnetted, 1 subnets
D       34.34.34.0 [90/2172416] via 123.123.123.3, 00:01:40, FastEthernet0/0
     1.0.0.0/24 is subnetted, 1 subnets
D       1.1.1.0 [90/156160] via 123.123.123.1, 00:01:38, FastEthernet0/0
     2.0.0.0/24 is subnetted, 1 subnets
C       2.2.2.0 is directly connected, Loopback0
     33.0.0.0/24 is subnetted, 4 subnets
D       33.33.1.0 [90/2809856] via 24.24.24.4, 00:01:40, Serial1/2
D       33.33.2.0 [90/2809856] via 24.24.24.4, 00:01:40, Serial1/2
D       33.33.3.0 [90/2809856] via 24.24.24.4, 00:01:40, Serial1/2
D       33.33.4.0 [90/2809856] via 24.24.24.4, 00:01:40, Serial1/2
     3.0.0.0/24 is subnetted, 1 subnets
D       3.3.3.0 [90/156160] via 123.123.123.3, 00:01:40, FastEthernet0/0
     4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/2297856] via 24.24.24.4, 00:01:40, Serial1/2
     24.0.0.0/24 is subnetted, 1 subnets
C       24.24.24.0 is directly connected, Serial1/2
     10.0.0.0/24 is subnetted, 4 subnets
D       10.10.1.0 [90/156160] via 123.123.123.1, 00:01:38, FastEthernet0/0
D       10.10.2.0 [90/156160] via 123.123.123.1, 00:01:38, FastEthernet0/0
D       10.10.3.0 [90/156160] via 123.123.123.1, 00:01:38, FastEthernet0/0
D       10.10.4.0 [90/156160] via 123.123.123.1, 00:01:38, FastEthernet0/0
     123.0.0.0/24 is subnetted, 1 subnets
C       123.123.123.0 is directly connected, FastEthernet0/0
r2#
用OFFLIST做效果还是不错的哈哈