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

BGP联邦

BGP联邦原理

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

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

上图中,原先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联邦

FRR文档上没看到相关配置