演示:EIGRP非等价负载均衡的故障分析与排除
故障背景:在如下图14.20所示的网络环境,工程师完成了环境中所有路由器的接口地址配置有EIGRP动态路由协议的启动,目前每台EIGRP路由器邻居关系正常,路由学习正常,现在工程师想充分使用EIGRP的非等价负载均衡的特性,需要在路由器R1的路由表中产生两条非等价开销的到目标子网172.17.1.0/24的路由,当工程师准备在路由器R1上调整variance时,发现在路由器表中只有一条通过下一跳R2(192.168.1.2)到目标172.17.1.0/24的最佳路由如下图14.21所示,然后通过在路由器R1上执行Show ip eigrp 2013 topology查看EIGRP拓扑表中的备用路径开销时如下图14.22所示,发现备用路径并没有被放入到EIGRP的拓扑表中,根据EIGRP的原则:在这种情况下你将无法按照正常的步骤完成variance值的计算,原因很简单,在R1的路由表中没有这条备用路径是正常的,它需要计算并配置variance值后才会出现在路由表中,但这个过程的前提是:如果这条备用路径没有被放入到EIGRP拓扑表中,那么工程师计算variance值的机会都没有。现在需要解决这个故障,首先分析为什么路由器R1通过R3最后经过R2到达172.16.1.0/24这个备用路径没有被放入到路由器R1的EIGRP拓扑中,然后解决这个问题,最终实现EIGRP的非等价负载均衡。
产生故障的原始配置:产生故障的原始配置如下所示,这方便读者在重构故障时看到当时的故障情境,方便更科学的分析故障。
路由器R1的原始配置:
interfaceEthernet1/0
ip address 192.168.1.1 255.255.255.0
duplex half
!
interfaceEthernet1/1
ip address 192.168.2.1 255.255.255.0
duplex half
!
router eigrp 2013
network 192.168.1.0
network 192.168.2.0
路由器R2的原始配置:
interfaceEthernet1/0
ip address 192.168.1.2 255.255.255.0
duplex half
!
interfaceEthernet1/1
ip address 192.168.3.1 255.255.255.0
duplex half
!
router eigrp 2013
network 172.16.0.0
network 192.168.1.0
network 192.168.3.0
路由器R3的原始配置:
interfaceEthernet1/0
ip address 192.168.3.2 255.255.255.0
duplex half
!
interfaceEthernet1/1
ip address 192.168.2.2 255.255.255.0
duplex half
!
router eigrp 2013
network 192.168.2.0
network 192.168.3.0
故障分析:根据EIGRP在拓扑表中存放备用路径的原则:邻居路由器的通告距离AD必须要小于自己的可行距离FD,否则有可能存在路由环路。在如图14.20所示的故障环境中,路由器R1通过路由器R2到172.16.1.0/24的开销就是路由器R1的FD;路由器R1的邻居R3到172.16.1.0/24的开销就是路由器R1的AD(邻居通告距离);可以分别在路由器R1和R3上通过指令show ipeigrp 2013 topology查看FD和AD如下图14.23所示。可看出,此时的AD等于FD,所以备用路径不会被放入路由器R1的EIGRP拓扑表。
解决方案:上面分析了故障的原因,现在需要来解决这个故障,要让路由器R3为路由器R1到172.16.1.0/24的备用路径,就必须破除当前这个环境中AD等于FD这个现像,必须让AD小于FD。要达到这个目的,可以调整路由器R3的E1/0接口的延时,当然EIGRP路由度量值计算使用多种复合参数(带宽、延迟、负载、可靠度、MTU),但是建议调整延迟,将其调整得比预计的备用路径的AD更小的延迟,这样就让FD小于了AD,备用路径R3就会被放入到路由器R1的拓扑表中,调整路由器R3延迟的配置如下所示,默认10MB以太网接口的延时是1000微秒,现在通过指令delay 50将其改为500微秒,因为是10微秒为一个单位,所以这里配置50即可。延迟调整前后的变化如下图14.24所示。完成上述改变delay的配置后,再次在路由器R1上查看FD,到路由器R3上查看AD,如下图14.25所示,此时AD小于了FD,并且在路由器R1的拓扑表中出现了两条到目标子网172.16.1.0/24的路由。
改变EIGRP的延迟的配置:
R3(config)#interface e1/0
R3(config-if)#delay 50
现在已经具备非等价负载均衡的条件了,使用AD409600除以FD396800取整再加1得到2,然后实现如下配置,当完成配置后,可以在路由器R1上查看路由表如下图14.26所示,已经出现了两条非等价的路由。
配置variance值实现非等价负载均衡:
R1(config)#router eigrp 2013
R1(config-router)#variance 2
R1(config-router)#exit