? ? ? ? 在一个 AS 中,如果 IBGP 会话数量较多,管理起来会困难,尤其是受到水平分割的影响( BGP 路由器从 IBGP 收到的路由,不会传递给其他 IBGP 邻居),为了解决该问题,除了使用路由反射器之外,还可以使用联盟 Confederation。联盟的概念就是将一个 AS 划分为若干个子 AS。每个子 AS 内部建立全连接关系,子 AS 之间建立 EBGP 连接关系,但联盟外仍将联盟视为一个 AS
? ? ? ? 配置联盟后,原 AS 号做为每个路由器的联盟 ID。在联盟内将成员的 AS 号加入 AS_Path 中,但不会将联盟内的 AS 号通告到联盟外。在联盟中, AS_Path 增加了两个类型:AS-Confed-Sequence、As-Confed-set,默认联盟将成员的 AS 号以 AS-confed-Sequence 的形式在AS_Path 中列出;如果配置在联盟内配置了聚合,AS 号将以 AS-Confed-Set 形式列出
????????BGP 的团体属性:Community,可选传递(运行BGP的设备都能够识别或者不识别的属性,无论是否识别,都会在条件下传递属性),主要?来控制路由的传播范围:
????????1、Internet:默认,可发给任何 BGP 邻居
????????2、No_Advertise:收到此属性的路由不传给任何BGP邻居包含EBGP和IBGP
????????3、No_Export:收到此属性的路由不会将它传给下?个EBGP邻居(联邦内的EBGP邻居不包含)
????????4、No_Export_Subconfed:同上条,但更进一步,也不向联邦内其它子?AS 发送路由
????????peer?ebgp-max-hop 命令用来配置允许?BGP?同非直连网络上的对等体建立EBGP连接,也可同时指定允许的最大跳数;缺省情况下,只能在物理直连链路上建立EBGP连接
1、配置IP
2、R2、R3、R4 配置 IGP
3、配置 EBGP:R1 和 R2 ,R4 和 R5 配置 EBGP
4、R2、R3、R4 配置联盟:各路由器联盟号为 AS 号 100,联盟对等体用子 AS 号建立关系,子 AS 号之间建立 EBGP 邻居关系,并在 EBGP 关系的 子 AS 之间加上 ebgp-max-hop 属性,用于修改非直连的 EBGP 的 TTL 值,便于传递到 AS 外部
<R2>dis current-configuration configuration bgp
[V200R003C00]
#
bgp 64511
confederation id 200
confederation peer-as 64512
peer 3.3.3.3 as-number 64511
peer 3.3.3.3 connect-interface LoopBack0
peer 12.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 3.3.3.3 advertise-community
peer 12.1.1.1 enable
#
<R3>dis current-configuration configuration bgp
[V200R003C00]
#
bgp 64511
confederation id 200
confederation peer-as 64512
peer 2.2.2.2 as-number 64511
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 ebgp-max-hop 255
peer 4.4.4.4 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 2.2.2.2 enable
peer 4.4.4.4 enable
peer 4.4.4.4 advertise-community
#
<R4>dis current-configuration configuration bgp
[V200R003C00]
#
bgp 64512
confederation id 200
confederation peer-as 64511
peer 3.3.3.3 as-number 64511
peer 3.3.3.3 ebgp-max-hop 255
peer 3.3.3.3 connect-interface LoopBack0
peer 45.1.1.5 as-number 300
#
ipv4-family unicast
undo synchronization
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 45.1.1.5 enable
peer 45.1.1.5 advertise-community
#
5、在 R1 上配置三个环回口地址,分别赋予 no-advertise、no-export、no-export-subconfed属性,并配置路由策略,做抓取路由的应用
interface LoopBack100
ip address 100.1.1.1 255.255.255.255
#
interface LoopBack150
ip address 150.1.1.1 255.255.255.255
#
interface LoopBack200
ip address 200.1.1.1 255.255.255.255
#
ip ip-prefix a index 10 permit 100.1.1.1 32
ip ip-prefix b index 10 permit 150.1.1.1 32
ip ip-prefix c index 10 permit 200.1.1.1 32
#
route-policy rp1 permit node 10
if-match ip-prefix a
apply community no-advertise
#
route-policy rp1 permit node 20
if-match ip-prefix b
apply community no-export
#
route-policy rp1 permit node 30
if-match ip-prefix c
apply community no-export-subconfed
#
route-policy rp1 permit node 40
#
bgp 100
router-id 1.1.1.1
peer 12.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
import-route direct
peer 12.1.1.2 enable
peer 12.1.1.2 route-policy rp1 export
peer 12.1.1.2 advertise-community
#
6、分别在R1、R2、R3、R4上做将团体属性发布给对等体(组)的配置:因为缺省情况下,BGP不将团体属性发布给任何对等体(组)
????????分别查看 R1、R2、R3、R4、R5 获取到的 BGP 路由表,可以看到: