BGP规划不当可能会导致IBGP学不到对方的路由
在上图中,R2,R5互相学不到对方的路由
R3会产生路由黑洞
R2,R5互相学不到对方的路由
R2通过EBGP R1学习到R1上的路由,根据BGP的规则,R2去R1上路由的下一跳是R1
在AS200中,R2,R5为IBGP邻居,根据BGP规则:Speaker从EBGP对等体获得的路由会向他所有对等体通告,R5会接收到R2对其通告的R1的路由
对R5来说,根据BGP规则:当一条路由传入某AS,该路由的下一跳是上一个AS的出接口,当一条路由在AS内传播时,下一跳不变,R5去R1的下一跳不变,是是R1的出接口
但是对于R5来说,R1出接口的IP属于外部网络,R5的下一跳R1是不可达的,R2传递过来的路由下一跳不可达,那么R5就不学习R2传递的路由(注意拓扑中没有下发默认路由)
总结
内部网络不会去关注外部网络,下一跳如果不可达,就不会学习该条目
解决
R5:peer2.2.2.2 next-hop-local
路由迭代机制:如果一个路由器收到一个数据包发现下一跳不直连,会以这个不直连的下一跳的地址作为目标地址查找路由表转发
指定R5下一跳是R2,利用路由迭代机制.
R3路由黑洞
R1想和R6通讯,发送数据包->R2,R2–>R3
目标IP R6
路由信息是BGP.R3是OSPF区域,接收不到,直接丢弃
解决方法
(1)BGP引入IGP
(2)在黑洞路由器上配置目的网段的静态路由
(3)IBGP全连接
(4)BGP路由反射器
(5)BGP联盟