EIGRP路由汇总问题详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EIGRP路由汇总问题详解
关于EIGRP的路由汇总问题
1:首先,根据上图的拓扑做好相关的底层搭建。
然后我们在R1 R2 R3三个路由器上同时开启EIGRP进程AS为100
R1的配置:
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int lo 0
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#router eigrp 100
R1(config-router)#network 192.168.1.0
R1(config-router)#network 172.16.1.0 0.0.0.255
R2的配置:
R2(config)#int f0/0
R2(config-if)#no sh
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#int f0/1
R2(config-if)#ip add 23.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int lo 0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#int lo 1
R2(config-if)#ip add 192.168.2.1 255.255.255.0
R2(config-if)#int lo 2
R2(config-if)#ip add 192.168.3.1 255.255.255.0
R2(config-if)#router eigrp 100
R2(config-router)#network 192.168.0.0 0.0.255.255---把三个接口的网络同时进行宣告
R2(config-router)#network 23.1.1.0 0.0.0.255
R2(config-router)#network 2.2.2.0 0.0.0.255
R3配置
R3(config)#int f0/1
R3(config-if)#no sh
R3(config-if)#ip add 23.1.1.3 255.255.255.0
R3(config-if)#int lo 0
R3(config-if)#ip add 172.16.2.1 255.255.255.0
R3(config-if)#router eigrp 100
R3(config-router)#network 23.1.1.0 0.0.0.255
R3(config-router)#net 172.16.2.0 0.0.0.255
问题解析:
因为EIGRP默认是开启自动汇总的,所以在R2上去show ip route 的时候会发现
D 172.16.0.0/16 [90/409600] via 192.168.1.1, 00:00:23, FastEthernet0/0
[90/409600] via 23.1.1.3, 00:00:23, FastEthernet0/1
虽然在我们上面的配置R1是network 17216.1.0 0.0.0.255 跟R2是network172.16.2.0 0.0.0.255 宣告的都是24位,
但是在R2的路由表出现的是172.16.0.0/16的两条同样开销的路由条目,
也就是说R2去往172.16.0.0/16网络是会执行负载均衡的,一旦我们在R2去PING 172.16.1.1的时候就会出现U.!.!
这样的情况,原因就是当流量往F0/0出去的时候是能正常通讯的,也就返回“!”的标示,当流量往F0/1的接口出去的时候不能正确的访问172.16.1.1所以返回“U”或“.”不可达或超时。
也就是说我们在运行EIGRP的路由器上network的命令不是说去宣告多少位的路由出去,而是宣告哪些接口参与这个路由进程,
例如:R1路由器上假如有L1 10.1.1.0/24 L2 10.1.2.0/24
我们去network的时候如果是network 10.1.1.0 0.0.0.255 那么意思是宣告这个接口参与EIGRP进程并向外通告这个网络,
如果是network 10.1.0.0 0.0.255.255 意思就是宣告这两个loopback 口都参与EIGRP进程并向外通告这两个网络,
但是向外通告的时候是以多少位通告出去并不是看network的命令而是看是否开启了自动汇总或者关闭了自动汇总。
解决方法:
要想解决问题,首先必须从问题的根源入手,因为产生此问题的原因在于EIGRP默认是开启自动汇总的,
因此R1会把172.16.1.0/24的网络自动汇总成主类172.16.0.0/16通告给R2,R3也一样。因此,想要解决这种路由数据包的可达性问题,
我们必须在每台EIGRP路由器上做一个操作:
R1(config)#ROUTER EIGRP 100
R1(config-router)#NO AUto-summary-----关掉自动汇总
此时再去R2上查看路由表:
172.16.0.0/24 is subnetted, 2 subnets
D 172.16.1.0 [90/409600] via 192.168.1.1, 00:00:05, FastEthernet0/0
D 172.16.2.0 [90/409600] via 23.1.1.3, 00:00:03, FastEthernet0/1
此时路由收到的都是具体的明细路由,
原因就是EIGRP默认自动汇总开启的时候是有类的,通告路由不携带子网掩码,
而关闭了自动汇总后,就成了无类的路由协议,通告路由时,携带了真实掩码。
此时再在R2上去PING 172.16.1.1 或172.16.2.1 数据流量就会往正确的下一跳发出,
R2#ping 172.16.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/37/84 ms
R2#ping 172.16.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/68/116 ms
实验成功。其实RIP V2的汇总问题跟EIGRP是一样的,希望能够帮到对RIP 或EIGRP 的汇总有疑问的网络人才。
本来是要把手动汇总也一起写下来的但是章节太长,所以EIGRP的手动汇总的放在下一个帖子。
谢谢阅读!