BGP和OSPF双点双向重发布

在这里插入图片描述

红色表示路由开始的传播路径,绿色表示重发布以后的路由传播路径。
开始时R4将8.8.8.8的路由传递给EBGP邻居R3,之后R1发给IBGP邻居R1。同时R3重发布给ospf,通过ospf给R1和R12传递了OE2的路由。
R1 可以通过R12和R3同时接收到OE2的路由。也可以通过BGP学到路由。但因为配置了OSPF到BGP的重发布,所以R1产生了一条AS-PATH为local的路由,并给了它的IBGP邻居R3.
R3在接收到IBGP邻居R1发来的AS-PATH为local的路由后,就优选了R1发来的路由,而默认情况下,bgp不能将ibgp邻居发来的路由重发布进igp。所以R3不再将8.8.8.8重发布进OSPF。则不能再将8.8.8.8通过BGP和OSPF发给R1
R1因为不能收到8.8.8.8的OE2路由,所以不再将它重发布进BGP,也不再给它的IBGP邻居R3发送AS-PATH为local的8.8.8.8路由。
R3不再收到R1发来的更优的AS-PATH为local的路由后,就优选了EBGP邻居R4发来的路由。
这样就形成了瞬时环路。
但如果在R3上开启了将IBGP邻居发来的路由重发布给IGP的话。 bgp redistribute-internal
R3优选了IBGP邻居R1发来路由后,还将其重发布进了IGP。那么它还会通过OSPF给R1发送OE2的路由。R1也就不会断绝OSPF的路由来源。**

那么这个环路就稳定下来了。

**
解决:
2种解决思路
1.方案1****:在R3上对BGP到OSPF的路由重发布时做标记,在R1上做Route-map抓取标记。R1在将OSPF路由重发布进BGP时不重发布(deny)带有标记的路由。同理R1也对BGP到OSPF的路由在重发布时标记,并在R3上抓取OE2的标记路由然后在将OSPF路由重发布进BGP时不重发布(deny)带有标记的路由。
同理,OSPF往BGP重发布时也做上社团(community)属性用来标记。用route-map抓取带社团属性标记的路由然后在往ospf重发布时不重发布带有社团属性标记的路由。
**2.方案2:**在R3上对BGP到OSPF的路由重发布时做标记,在R1上做Route-map抓取标记。并在R1的OSPF上使用分发列表拒绝带标记的路由。同理,R1也对BGP到OSPF的路由在重发布时标记,并在R3上抓取OE2的标记路由然后使用分发列表拒绝带标记的路由。
同理,OSPF往BGP重发布时也做上社团(community)属性用来标记。用route-map抓取带社团属性标记的路由然后在建立邻居时在in方向上挂上route-map。拒绝掉带标记的路由。

2种方案比较: 方案1:优点:重发布路由器可以通过IGP两个方向和BGP同时收到路由,因为对于R1来说是IBGP邻居发来的AD为200的路由,所以实际路由表优选IGP路由。这样,好处在于可以通过IGP多个方向收到路由,而且优选IGP中metric小的路径。可以更快的到达ibgp邻居处。
缺点:只适用与BGP和其他协议的多点双向重发布,在IGP和IGP中使用会存在选路不佳问题。
方案2:优点:因为拒绝收到了其他重发布路由器重发布后的路由,所以路由表优选了先收到那个路由的协议,即OSPF的路由信OSPF,BGP路由信BGP。
缺点:因为路由表是打B的路由,所以下一跳显示为R3。但实际上因为内部还需要走IGP,而OSPF在同一个区域不能直接过滤5类LSA,所以实际上的选路还是根据ospf。而不是路由表的路由接收方向。
方案二的配置:
R1:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
R3:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39396529/article/details/84396171