BGP 路由协议之联邦大法

在大型自治系统(AS)中,传统的iBGP全连接架构面临严峻挑战。当网络规模扩展到数百台路由器时,维护n(n-1)/2的会话连接不仅消耗设备资源,更增加了路由策略管理的复杂度。BGP联邦(BGP Confederation)作为解决这一难题的关键技术,通过逻辑分区的创新设计,在保持AS整体性的同时实现了路由管理的层级化。

联邦的相关特性在联邦内部保留联邦外部的NEXT HOP属性公布给联邦的路由的MED属性在整个联邦范围内予以保留路由的LOCAL_PREF属性在整个联邦范围内予以保留在联邦范围内,将成员AS号压入AS PATH,但不公布到联邦外,并且使用TYPE3、4的AS PATHAS PATH中的联邦AS号用于在联邦内部避免环路

通过将AS123定义为联邦AS(大AS),同时在联邦AS中创建成员AS(小AS:AS64512和64513),则可以解决IBGP路由传递的问题。

图中R1与R2之间是联邦iBGP关系,而R2与R3之间是联邦eBGP关系,在联邦内部,R1与R2都是属于AS64512,R3属于AS64513,但是对于联邦外部来说,R1、R2、R3都是AS123,外部根本不知道有AS64512和AS64513的存在。

R1、R2、R3、R4、R5之间使用全部直连口建立BGP邻居关系。

R1配置:
复制
router bgp 64512 ! 使用联邦成员AS号(64512)建立BGP bgp log-neighbor-changes bgp confederation identifier 123 ! 对联邦外的AS通告自己的真实AS号 no bgp default ipv4-unicast neighbor 10.12.1.2 remote-as 64512 neighbor 10.14.1.4 remote-as 400 ! address-family ipv4 redistribute connected neighbor 10.12.1.2 activate neighbor 10.14.1.4 activate exit-address-family !1.2.3.4.5.6.7.8.9.10.11.12.13.
R2配置:
复制
router bgp 64512 bgp log-neighbor-changes bgp confederation identifier 123 bgp confederation peers 64513 no bgp default ipv4-unicast neighbor 10.12.1.1 remote-as 64512 neighbor 10.23.1.3 remote-as 64513 ! address-family ipv4 redistribute connected neighbor 10.12.1.1 activate neighbor 10.23.1.3 activate exit-address-family !1.2.3.4.5.6.7.8.9.10.11.12.13.14.

对于R2而言,R2是一个普通的EBGP邻居(AS64513),而且跟我没有一点关系,联邦的建立就会有问题,因此还需要在R2上增加bgp confederation peers 64513命令,R2将AS64513视为它的联邦eBGP peer,如果联邦内有多个成员AS,那么本地需指定多个peers,命令:bgp confederation peers xx yy zz

R3配置:
复制
router bgp 64513 bgp log-neighbor-changes bgp confederation identifier 123 bgp confederation peers 64512 no bgp default ipv4-unicast neighbor 10.23.1.2 remote-as 64512 neighbor 10.35.1.5 remote-as 500 ! address-family ipv4 redistribute connected neighbor 10.23.1.2 activate neighbor 10.35.1.5 activate exit-address-family !1.2.3.4.5.6.7.8.9.10.11.12.13.14.

配置完成后在R4上trace到R5的lo接口地址:

AS_PATH路径属性的四种类型AS_SEQUENCE:有序AS号集合AS_CONFED_SEQUENCE:联邦有序AS号集合AS_SET:无序AS号集合AS_CONFED_SET:联邦无序AS号集合

在R4上启用loopback1接口,并分配IP地址:

复制
interface Loopback1 ip address 44.1.1.1 255.255.255.255 !1.2.3.

R1上的BGP表:

复制
Network Next Hop Metric LocPrf Weight Path *> 44.1.1.1/32 10.14.1.4 0 0 400 ?1.2.

R2上的BGP表:

复制
Network Next Hop Metric LocPrf Weight Path *>i 44.1.1.1/32 10.14.1.4 0 100 0 400 ?1.2.

R3上的BGP表:

复制
Network Next Hop Metric LocPrf Weight Path *> 44.1.1.1/32 10.14.1.4 0 100 0 (64512) 400 ?1.2.

在R2的e0/1接口抓包,捕捉NLRI为44.1.1.1/32属性中携带的AS_PATH,AS号为400:

在R3的e0/1接口抓包,捕捉NLRI为44.1.1.1/32属性中携带的AS_PATH,AS号分别为64512,400:

在R5的e0/0接口抓包,捕捉NLRI为44.1.1.1/32属性中携带的AS_PATH,AS号分别为123,400:

可以看出AS_CONFED_SEQUENCE属性用于在联邦内防环(该属性不会出联邦),而上面的AS_SEQUENCE属性则会随着44.1.1.1/32的路由被传递给R5,因此在R5上抓包44.1.1.1/32的路由看不到AS_CONFED_SEQUENCE的属性,外部AS将联邦视为单个AS(外部并不知道联邦内部的情况)。

THE END
本站服务器由亿华云赞助提供-企业级高防云服务器