解决IBGP的水平分割:从IBGP学到的路由不会再传给IBGP
1.路由反射器
2.联邦
首先介绍一下什么是IBGP的水平分割:从IBGP邻居学到的路由不在发送给IBGP
简单的介绍一下路由反射器的注意事项。
1.RR从EBGP收到的路由,即发送给客户端也发射给非客户端
2.RR从Client收到的路由,会反射给客户端以及非客户端和Ebgp邻居
3.RR从非客户端收到的路由,只反射给客户端和Ebgp邻居而不会反射给非客户端邻居
好了我们用实验来看看,上拓扑:
其中R2和R1建立EBGP邻居,R1R3R4建立IBGP邻居。
在R2上宣告一条路由2.2.2.2,我们来看看R4能否收到此路由。
为什么会出现这种情况呢?不用多说了这就是IBGP水平分割的原因造成的。我们来看看是R3没有发送还是R4没有收到。
这就说明是R3没有发送。
那我们现在想让R4也能学到该路由,先用路由反射器来做。
我们将R3做成RR,然后将R1做成client。看看R4是否能收到该路由。
R3上:
R3(config)#router
R3(config-router)#nei
我们去R4上看看修改完之后的效果
R4#sh
*>i2.2.2.2/32
实际实施现场如果做路由反射器建议将IBGP所有邻居都做成client,那本拓扑来说就是将R4也做成R3的client(nei
下面我们来看看联邦吧。
既然说联邦也是解决IBGP水平分割的。首先来看看联邦需要注意的问题。
我们说联邦就是将一个大的AS逻辑的划分成小的AS。然后不同的小AS之间互指peer。
最后需要将联邦内的路由器全部声明到大AS中。也就是将将大的划分成小区域。
上拓扑中,我们将AS1划分成两个小的AS(划分小AS时要注意小AS必须是私有的AS即)
下面我们来做实验以上是拓扑。
R1#sh
router
------------------------------------------------------------------
R3#sh
router
---------------------------------------------------------------------
R4#sh
router
---------------------------------------------------------------
然后我们来看看R4上的效果
R4#sh
*>
*>