配置 BGP反射器、当有多个反射器时.note

noteId: WEBa9d93b6a41da22e3efd9e4486431cb4e · 原始路径:/ALL/网络 - C模块/1-路由协议合集、路由控制、策略路由/BGP (TCP-179)/BGP反射器/配置 BGP反射器、当有多个反射器时.note · 图片:1 · 附件待处理:0

 
 
·为什么要配置BGP反射器,什么时候用:
 
因为iBGP的防环机制(iBGP邻居从iBGP邻居收到的路由,不会将它发给另外一个iBGP邻居),这样会导致一个问题,以上面这张图为例,R3通告的路由,R2不会将它通告给R4;反之,R4通告的路由,R2也不会将它通告给R3,因此,如果需要让iBGP邻居正常传递,就需要将所有iBGP邻居full-mesh(全互联),但是有时,拓扑并非是这样的。
此时就需要配置BGP反射器,BGP反射器的作用:可以将从iBGP学到的路由,转发给其他iBGP邻居:
1)可以将iBGP邻居的路由,发给BGP反射器客户端
2)可以将BGP反射器客户端的路由,发给iBGP邻居
 
上述的拓扑中,就需要指定R3和R4为BGP反射器的客户端
BGP反射器只配置在iBGP中,指定iBGP邻居为客户端
BGP反射器自身需要连接到所有iBGP邻居,如果有的不能,那么就需要使用下面的多个BGP反射器了
 
# 假设有两台或多个BGP反射器:
必须要配置:
router bgp 100
 bgp cluster-id [number]
 
## 什么时候cluster-id 需要相同:
当两台BGP反射器连接的BGP反射器客户端一样时,就需要设置相同的cluster-id,此时他们就会作为冗余组使用,将两台反射器配置为一台集群(有时候题目可能考:将R1、R2两台设备配置为BGP集群,可能就是考这个)
例如:R1、R2作为反射器,R3、R4、R5作为客户端,R1和R2同时连接了R3、R4、R5 的情况
 
## 什么时候cluster-id 需要不同:
当两台BGP反射器连接不同的BGP反射器客户端时,就需要设置不同的cluster-id
例如:R1、R2作为反射器,R3、R4、R5、R6作为客户端,R1连接R3、R4;R2连接R5、R6 的情况
无论什么情况下,两台或多台BGP反射器之间不需要互相指定为BGP反射器客户端,它们之间会自己交换路由信息
 
 
 
1、配置 BGP反射器:
router bgp 100
 neighbor 1.1.1.1 route-reflector-client    //将该邻居配置为BGP反射器客户端
 neighbor 2.2.2.2 route-reflector-client
 
 
2、当有多个BGP反射器时:
# 有多个BGP反射器时,需要配置:
## R1:
router bgp 100
 bgp cluster-id [number]
 neighbor x.x.x.x route-reflector-client    //将该邻居配置为BGP反射器客户端
 
## R2:
router bgp 100
 bgp cluster-id [number]
 neighbor x.x.x.x route-reflector-client