1.网络拓扑结构

两点双向重分发引起的环路_网络

2.形成环路的原因

两点双向重分发引起的环路_路由表_02

两点双向重分发引起的环路_网络_03

两点双向重分发引起的环路_网络_04

两点双向重分发引起的环路_路由表_05

形成环路的原因分析

重分发顺序为:先在R2分别重分发EIGRP和OSPF然后在R3上重分发EIGRP 和OSPF

在R2上

  • 将EIGRP重分进OSPF, R2会宣告给R1到达4.4.4.0网络可以通过R2即R1会将到达4.4.4.0网络的下一跳设为R2;同理R1会宣告给R3到达4.4.4.0网络可以通过R1此时R3到达4.4.4.0网络有两条路由一条是R1通过OSPF宣告的管理距离110,另一条是R4通过外部EIGRP宣告的管理距离170,比较下R3选择到达4.4.4.0网络通过R1(管理距离小些);

  • 将OSPF重分发进EIGRP时R2到4.4.4.0网络是通过R4,R3到4.4.4.0网络是通过R1

两点双向重分发引起的环路_路由表_06

两点双向重分发引起的环路_网络_07

两点双向重分发引起的环路_路由表_08

两点双向重分发引起的环路_网络_09

此时并未形成环路,但是R3上形成了次优的路由,R3到达4.4.4.0网络有两条路由一条是通过R1管理距离110,一条是通过R4管理距离170,最终在路由表中的就是通过R1的那条

在R3上

  • 将EIGRP重分发进OSPF中

    此时R1、R2、R3的路由表没有变化

  • 将OSPF重分发进EIGRP中时,R3会宣告给R2到达4.4.4.0网络可以通过R2。对R2而言到达4.4.4.0网络有2条路由;一条是通过R3通过外部EIGRP通告给R2的,另一条是R4通过外部EIGRP通告给R2的。

    总的来说,4.4.4.0网络最初是由R2经过R1告知R3,最终R3又再次告知R2因此形成环路

    要打破环路需要在R2和R3上修改OSPF外部路由的管理距离

    两点双向重分发引起的环路_网络_10

    两点双向重分发引起的环路_网络_11

    只是修改一个路由的OSPF外部管理距离是不够的

    两点双向重分发引起的环路_路由表_12

    两点双向重分发引起的环路_路由表_13

    两点双向重分发引起的环路_网络_14

    总结:在多点重分发的过程中很容易就产生环路,而且往往由于重分发路由的顺序不同产生的环路也不尽相同但是思路都是一样的,要解决环路的问题,只需要改变相应的路由协议的管理距离(往往是外部路由协议),往往要改变几个ASBR的管理距离。就算是管理距离改好了,在重启进程的时候有时候也会出现意想不到的结果,没关系多改几次就好了!