具体配置如下:
R1的配置
router bgp 100
no synchronization
bgp router-id 1.1.1.1
bgp cluster-id 167838721
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0
neighbor 192.1.12.2 remote-as 234
no auto-summary
R2的配置
router bgp 65012
no synchronization
bgp router-id 2.2.2.2
bgp cluster-id 2886730753
bgp log-neighbor-changes
bgp confederation identifier 234
neighbor 3.3.3.3 remote-as 65012
neighbor 3.3.3.3 update-source Loopback0
neighbor 3.3.3.3 next-hop-self
neighbor 192.1.12.1 remote-as 100
no auto-summary
R3的配置
router bgp 65012
no synchronization
bgp router-id 3.3.3.3
bgp cluster-id 3232236289
bgp log-neighbor-changes
bgp confederation identifier 234
bgp confederation peers 65014
neighbor 2.2.2.2 remote-as 65012
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 65014
neighbor 4.4.4.4 ebgp-multihop 255
no auto-summary
R4的配置
router bgp 65014
no synchronization
bgp router-id 4.4.4.4
bgp cluster-id 3288400129
bgp log-neighbor-changes
bgp confederation identifier 234
bgp confederation peers 65012
neighbor 3.3.3.3 remote-as 65012
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 3.3.3.3 update-source Loopback0
neighbor 3.3.3.3 next-hop-self
neighbor 192.1.45.5 remote-as 500
no auto-summary
R5的配置
router bgp 500
no synchronization
bgp router-id 5.5.5.5
bgp cluster-id 3221302533
bgp log-neighbor-changes
network 5.5.5.0 mask 255.255.255.0
neighbor 192.1.45.4 remote-as 234
no auto-summary
在配置过程中r2与r1建立邻居和r4与r5建立邻居会收到如下信息:
r2(config-router)#
00:28:45: %BGP-3-NOTIFICATION: received from neighbor 192.1.12.1 2/2 (peer in wrong AS) 2 bytes FDF4
r4(config-router)#
00:30:27: %BGP-3-NOTIFICATION: received from neighbor 192.1.45.5 2/2 (peer in wrong AS) 2 bytes FDF6
原因在于联盟中的路由器还不识别联盟,需要打上以下命令:
bgp confederation identifier 234
(3)第三种方法:使用路由反射器(Router Reflector)
路由反射器对于解决AS内建立大量IBGP邻居时非常有用。
路由反射器和其客户端共同组成路由反射簇。可以把路由反射簇看成一个单独的路由器,对于客户端只需要与路由反射器建立邻居即可,不需要与每台ibgp路由器建立邻居。
一个自治系统内可以创建多个路由反射簇。
路由反射器的规则:对于路由反射器来说
1、 从一个客户端传递的路由条目会反射给另一个客户端,会反射给非客户端,会反射给EBGP邻居。
2、 从一个非客户端传递的路由条目会反射给另一个客户端,会反射给EBGP邻居,但不会传递给别一个非客户端
3、 从EBGP传递的路由条目会反射给另一个客户端,会反射给EBGP邻居,会反射给非客户端
对于本案例配置命令如下:
neighbor 2.2.2.2 route-reflector-client
配置之后邻居会重置
总结:
(1)路由反射器在拓扑设计和命令配置上实现相对简单一些。
(2)对于联盟来说,要求所有的路由器都必须要支持和识别,而路由反射只需要路由反射器理解路上反射机制即可,客户端将与RR之间的连接都视为普通的IBGP连接。