基于FRR全面解析BGP协议(四):BGP联邦

BGP联邦

BGP联邦原理

BGP联邦是对IBGP对等体之间的关系进行重新的划分,分为联邦IBGP和联邦EBGP。联邦IBGP和联邦EBGP遵循IBGP和EBGP的路由通告规则,这样就可以把原本受限于IBGP水平分割规则而不能接收的路由通告到联邦EBGP对等体。

基于FRR全面解析BGP协议(四):BGP联邦_第1张图片

上图中,原先R3、R4和R5属于同一个IBGP对等体,根据水平分割原则,R3和R5没法收到R2和R1通告的路由。现将R3、R4和R5重新规划为BGP联邦,其中R3和R4同属于一个联邦IBGP,R4和R5属于联邦EBGP对等体关系。如此一来,由于R4和R5变成了特殊的EBGP对等体关系,那么两者的BGP路由就能相互传递,从而解决水平分割带来的问题。

联邦内BGP路由的路径属性遵循以下规则

  • 通告给联邦的BGP路由,Next_Hop属性在整个联邦范围内缺省不会发生改变;

  • 通告给联邦的BGP路由,MED属性在整个联邦范围内缺省不会发生改变;

  • 通告给联邦的BGP路由,Local_Preference属性在整个联邦范围内缺省不会发生改变;

BGP路由在联邦内的EBGP对等体间传递时,路由器将成员AS号插入AS_Path,并且使用AS_CONFED_SEQUENCEAS_CONFED_SET(详见AS_Path类型)的特殊AS_Path存储。成员AS号不会被公布到联邦AS之外,也即对于联邦AS外部而言,联邦成员AS是不可见的。AS_Path中的联邦成员AS号用于在联邦内部避免环路;联邦内成员AS号不参与AS_Path长度计算。

配置BGP联邦

router bgp 100 vrf ns1
 bgp router-id 10.10.1.2
 neighbor 10.10.1.4 remote-as 345
 !
 address-family ipv4 unicast
  network 4.0.1.0/24
 exit-address-family
!
#ns2的联邦成员号为64512
router bgp 64512 vrf ns2
 bgp router-id 10.10.1.4
 #ns2的AS号和联邦AS号为345
 bgp confederation identifier 345
 neighbor 10.10.1.2 remote-as 100
 #ns2要连接的对等体20.10.1.6,联邦成员号为64512
 neighbor 20.10.1.6 remote-as 64512
 neighbor 20.10.1.6 update-source 20.10.1.4
 !
 address-family ipv4 unicast
  neighbor 20.10.1.6 next-hop-self
 exit-address-family
!
#ns3的联邦成员号为64512
router bgp 64512 vrf ns3
 bgp router-id 20.10.1.6
 #ns3的AS号和联邦AS号为345
 bgp confederation identifier 345
 #ns3要连接的对等体联邦成员号为64513
 bgp confederation peers 64513
 neighbor 20.10.1.4 remote-as 64512
 #ns3要连接的对等体30.10.1.8,联邦成员号为64513
 neighbor 30.10.1.8 remote-as 64513
 neighbor 30.10.1.8 update-source 30.10.1.6
 !
 address-family ipv4 unicast
  neighbor 30.10.1.8 next-hop-self force
 exit-address-family
!
#ns4的联邦成员号为64513
router bgp 64513 vrf ns4
 bgp router-id 30.10.1.8
 #ns4的AS号和联邦AS号为345
 bgp confederation identifier 345
 #ns4要连接的对等体联邦成员号为64512
 bgp confederation peers 64512
 #ns4要连接的对等体30.10.1.6,联邦成员号为64512
 neighbor 30.10.1.6 remote-as 64512
 !
 address-family ipv4 unicast
  neighbor 30.10.1.6 next-hop-self
 exit-address-family
!

你可能感兴趣的:(FRR)