解决AS内部的IBGP网络连接激增问题,除了使用路由反射器之外,还可以使用联盟(Confederation)。联盟将一个AS划分为若干个子AS。每个子AS内部建立IBGP全连接关系,子AS之间建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。配置联盟后,原AS号将作为每个路由器的联盟ID。


这样有两个好处:一是可以保留原有的IBGP属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;二是联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作。


【数通面试私房菜之BGP专题】第五期:BGP联盟_第1张图片


使用BGP联盟,在AS内部创建子AS时,建议使用私有AS号码,范围是64512-65534,所有BGP联盟内部的子AS,对于外界都是不可见的,子AS的号码只在AS内部传递路由时才会添加到AS_Path中去,在出AS时,这些子AS号码是不会写入AS_Path的。


联盟的防环机制


AS_PATH属性被定义为公认必遵属性,该属性由AS号所组成。AS_PATH包含4种不同类型:


• AS_SET: 由一系列AS号无序地组成,包含在UPDATE消息里。当网络发生聚合时,可通过适当策略使AS_PATH使用类型AS_SET来避免路径信息丢失。


• AS_SEQUENCE: 由一系列AS号顺序地组成,包含在UPDATE消息里。一般情况下,AS_PATH类型为AS_SEQUENCE。


• AS_CONFED_SEQUENCE: 在本地联盟内由一系列成员AS号按顺序地组成,包含在UPDATE消息中,用法和AS_SEQUENCE相同,只能在本地联盟内传递。


• AS_CONFED_SET: 在本地联盟内由一系列成员AS无序地组成,包含在UPDATE消息中,用法和AS_SET相同,只能在本地联盟内传递。


路由反射器和联盟的比


【数通面试私房菜之BGP专题】第五期:BGP联盟_第2张图片