在一个大型的AS当中受到iBGP水平分割(从iBGP的邻居接收到的路由不能再传递给其他的iBGP邻居)的影响,将会造成BGP的路由无法通过iBGP邻居接收。解决办法有三种:
-
建立全互联的iBGP邻居
-
路由反射器
-
BGP的联盟
由于 BGP基于TCP连接,每建立一个BGP邻居就需要一个TCP连接,这样会极大地消耗CPU资源。TCP连接数可以通过一个公式:n(n-1)/2来计算。例如在AS内有10个路由器,那么将会有45个连接数。在大型的BGP网络中一般不采用全连接方式,通常会采用路由反射器和联盟来解决。
路由反射器
路由反射器相关角色
如下图,在一个AS内部关于路由反射器有以下几种角色:
-
路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
-
客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
#将对等体作为路由反射器的客户配置示例:
[HUAWEI] bgp 100
[HUAWEI-bgp] peer 10.1.1.2 as-number 100
[HUAWEI-bgp] ipv4-family unicast
[HUAWEI-bgp-af-ipv4] peer 10