如何制造环路
- 环路的原因:1个网段从EIGRP 重分布进入了 OSPF,边界路由中路由类型为O,然后又从OSPF 重分布进了EIGRP —— 双向重分布
- 重分布能够成功的1个前提是,被重分布的路由协议,和该路由被学到的路由协议一致
- —— O E2 的AD值,要优于 D EX 的路由,如果对 D EX 重分布,需要保证没有O E2的路由进来
- 上图拓扑中
- R11的Lo0(11.11.11.11) 通过在EIGRP中 redistribute connect发布,确保在R1 上的路由类型为 D EX
- 虚线左侧配置EIGRP,虚线右侧配置OSPF
- R4的G0/0 先shutdown —— 这一步很重要
- 然后在R2、R4 配置OSPF <-> EIGRP 的重分布
- R2 会通过D EX 学习到 11.11.11.11 ,然后重分布进入 OSPF,R3 通过 O E2 学习到11.11.11.11,进而R4也通过O E2学习到了11.11.11.11
- 开启R4 G0/0,因为R4的EIGRP做了对OSPF的重分布,而且11.11.11.11 确实是从OSPF学习到的 —— 所以重分布生效,R1 会收到来自R4 的11.11.11.11 宣告 —— 对于R1来说,从R11学到的11.11.11.11 AD 是170,Metric 是130816,而从R4 学到的路由 AD是170,Metric是3072,于是从R4学到的路由成为最优,进入路由表 —— 于是环路形成
- 在Metric设置恰当的情况下,还会出现EIGRP的 非等价路由 现象。 即同时显示走R1 和 R4 的路径。—— 最简单的实现方式,在R11 上做静态路由重分布时也使用相同的Metric 参数 : redistribute connected metric 1000000 1 255 255 1500
- 关于Metric的计算,请参考 Redistribution Into Eigrp
- 假如没有对R4 G0/0 的 shutdown/ no shutdown 操作,R4的11.11.11.11 也会是从D EX 学习到,最终在R3 形成2条OSPF 的等价路由
如何避免环路
- 对来自内、外不同区域的路由,进行Route Tag
- 然后在R2、R4 对称地允许 和 拒绝
- R2 对 OSPF->EIGRP 设置Tag10,同时拒绝Tag20的路由
- R4 对 OSPF->EIGRP 设置Tag20,同时拒绝Tag10的路由
- 这样就避免了将R1-R2-R4的路由,再通过R4发出
R2(config-router)#do show run | b router eigrp
router eigrp 100
network 10.12.1.0 0.0.0.255
redistribute ospf 1 metric 1000000 1 255 255 1500 route-map OSPF->EIGRP
!
router ospf 1
redistribute eigrp 100 subnets route-map EIGRP->OSPF
network 2.2.2.2 0.0.0.0 area 0
network 10.23.1.0 0.0.0.255 area 0
!
route-map EIGRP->OSPF deny 10
match tag 20
!
route-map OSPF->EIGRP permit 10
set tag 10
!
R4(config-route-map)#do show run | b router eigrp
router eigrp 100
network 10.14.1.0 0.0.0.255
redistribute ospf 1 metric 1000000 1 255 255 1500 route-map OSPF->EIGRP
!
router ospf 1
redistribute eigrp 100 subnets route-map EIGRP->OSPF
network 4.4.4.4 0.0.0.0 area 0
network 10.34.1.0 0.0.0.255 area 0
!
route-map EIGRP->OSPF deny 10
match tag 10
!
route-map OSPF->EIGRP permit 10
set tag 20
!
- 效果,R2的EIGRP 中的重分布路由只剩下了Tag为10的
- EIGRP 的特别之处,从D 直接学到的 AD是90, 从 D EX(重分布) 学到的路由是170。 而 OSPF 从O 和 O E2 学到的路由的AD 都是110,但是Metric不同,后者默认是20
这种情况只发生在 OSPF 进 EIGRP吗,EIGRP 进OSPF不会发生?
- 我们把R4 的 G0/1 端口断掉,此时R4 会通过左侧R1学习到 D EX的去往R33 —— 33.33.33.33 的路由。再将G0/1 恢复,R4会学习到 AD为110 的来自R3 的OSPF 路由,从而导致R4 上 对EIGRP的重分布失效
- 重述1遍,当前处于路由表中的路由条目的AD值,以及新学到的路由条目的AD值,是影响环路是否可以形成的关键因素