BGP联盟
将大的AS划分为几个子AS(成员AS),每个子AS内部建立全连接的IBGP邻居,子AS之间建立EBGP邻接关系。
联盟AS:大AS,就是常说的AS号,一般使用公有AS号。
成员AS:小AS,即联盟内划分的子AS号,一般使用私有AS号。
联盟EBGP邻居:普通的EBGP邻居。
成员EBGP邻居:小AS之间的路由器建立的EBGP邻居。
[AR2-bgp]confederation id 123 //告诉路由器自身所处的联盟AS号。
针对非peer-as发送的open报文 my as字段取值为联盟AS号。
针对peer-as发送的open报文 my as字段取值为成员AS号。
[AR2-bgp]confederation peer-as 3 45
从联盟EBGP邻居接收的路由,都会传递给IBGP和EBGP和成员EBGP邻居。
从成员EBGP邻居接收的路由,都会传递给IBGP和EBGP和成员EBGP邻居。
从IBGP邻居接收的路由,会传递给EBGP邻居/成员EBGP邻居。
成员EBGP邻居传递路由,当做IBGP等同对待:
1、协议首选值,本地有效不传递。
2、本地优先级属性可以传递给IBGP邻居。
3、本地始发(没这概念)。
4、AS-path。
5、Origin作为公认必遵属性,本身就传递。
6、MED属性可以传递给IBGP邻居。
7、ebgp 》 IBGP(没这概念)。
8、下一跳IGP cost没这属性。
9、负载。
10、簇列表(不可以传递给EBGP邻居)。
11、起源ID(不可以传递给EBGP邻居)。
12、router-ID。
14、邻居地址。
1、本地优先级属性可以传递给IBGP邻居。
2、MED属性可以传递给IBGP邻居
BGP-联盟,对等体组,按组打包
从联盟EBGP邻居接收的路由,传递给成员EBGP/IBGP邻居,下一跳不变(可以修改),在bgp进程中配置命令“peer 10.0.23.3 next-hop-local”。
从成员EBGP邻居接收的路由,传递给成员EBGP/IBGP邻居,下一跳不变(无法修改)
peer 10.0.23.3 next-hop-local,IBGP路由传递给IBGP邻居,是否生效?不生效。
基于成员EBGP邻居之间传递路由,当做IBGP等同对待原则:从成员EBPG邻居接收到的路由,传递给其他成员EBGP邻居和IBGP邻居时无法使用next-hop-local修改下一跳属性。也基于这一特征,所以建议联盟AS内部存在多个成员AS时,成员AS之间建议使用相同的IGP协议。
当BGP路由器将路由传递给联盟EBGP邻居时,将会剥除联盟内的AS-PATH信息。
配置BGP负载的时候,忽略对成员AS号的比较。
as-set在选路的时候无论包含多少as号,都只当做一个计算。
BGP大规模路由应用:路由聚合(Aggregation)、对等体组(Peer Group)、团体属性(Community)、路由反射(Route Reflection)、BGP联盟(Confederations)
对等体组:
1、IBGP对等体组:做的所有配置,会同步到加入到该对等体组中的所有邻居。
[AR1]bgp 123
[AR1-bgp]group ibgp_01 internal,创建一个IBGP对等体组
[AR1-bgp]peer ibgp_01 connect-interface LoopBack 0
[AR1-bgp]peer ibgp_01 next-hop-local
[AR1-bgp]peer 4.4.4.4 group ibgp_01,建立4.4.4.4邻居,调用对等体组,启用已经配置的属性。
[AR1-bgp]peer 2.2.2.2 group ibgp_01
2、EBGP对等体组:纯EBGP对等体组(都在同一个AS号内,配置同一个组as-number);混合EBGP对等体组(不属于同一个AS号内,在组内针对邻居单独配置as-number)
[AR1-bgp]group ebgp_01 external,创建一个EBGP对等体组。
按组打包:
1、BGP按组打包:按组打包技术将所有拥有共同出口策略的BGP邻居当做是一个打包组;每条待发送路由只被打包一次然后发给组内的所有邻居。
缺省情况下,BGP会针对不同邻居(即使出口策略相同)单独打包路由。