首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >BGP路由协议之联邦大法

BGP路由协议之联邦大法

作者头像
用户5921339
发布2025-05-22 11:03:03
发布2025-05-22 11:03:03
1640
举报

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

联邦的相关特性

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

通过将AS123定义为联邦AS(大AS),同时在联邦AS中创建成员AS(小AS:AS6451264513),则可以解决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配置:

代码语言:javascript
复制
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
!

R2配置:

代码语言:javascript
复制
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
!

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

R3配置:

代码语言:javascript
复制
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
!

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

AS_PATH路径属性的四种类型

  • AS_SEQUENCE:有序AS号集合
  • AS_CONFED_SEQUENCE:联邦有序AS号集合
  • AS_SET:无序AS号集合
  • AS_CONFED_SET:联邦无序AS号集合

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

代码语言:javascript
复制
interface Loopback1
 ip address 44.1.1.1 255.255.255.255
!

R1上的BGP表:

代码语言:javascript
复制
     Network          Next Hop            Metric LocPrf Weight Path
*>  44.1.1.1/32      10.14.1.4                0             0 400 ?

R2上的BGP表:

代码语言:javascript
复制
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 44.1.1.1/32      10.14.1.4                0    100      0 400 ?

R3上的BGP表:

代码语言:javascript
复制
     Network          Next Hop            Metric LocPrf Weight Path
 *>  44.1.1.1/32      10.14.1.4                0    100      0 (64512) 400 ?

在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(外部并不知道联邦内部的情况)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档