BGP DUAL-AS 特性详解

来源:互联网 发布:linux系统时钟同步 编辑:程序博客网 时间:2024/05/21 09:59

一 基本概念

  • 默认情况下,在单台Router上只能启动一个BGP进程,并且只能属于一个AS。DUAL AS允许我们在不中断现有BGP连接的情况下,在primary AS下同时运行一个secondary AS,从而提供一种网络迁移的机制。
  • 在迁移期间,运行DUAL AS的路由器可以同时使用primary AS及secondary AS与外部AS建立EBGP连接,并且都能进行 BGP路由的更新和传递。
  • 在不用断开现有连接的情况下,可缩短网络迁移的时间,且不用大批量的变更设备BGP配置
BGP <wbr>DUAL-AS <wbr>特性详解
 

举个简单的例子:假设R2(AS200)为一个Customer Network,R1(AS100)是R2的ISP,此时BGP邻居关系已经建立起来了,并且路由都已经收敛完毕,突然出现另一个 ISP-R3(AS300),并且它给R2分配的AS号为AS201,这时候R2就很尴尬了,只能重新配置BGP,断开R1的连接并与R3建立BGP连接。
DUAL AS提供我们一种迁移的解决方案:允许R2的BGP进程同时兼顾两个AS号,200及201,其中200为Primary AS,201为Secondary AS,R2可以在保持原有的与R1的BGP连接及路由更新不受影响的情况下,新增与R3的 BGP连接,并且是使用AS201与R3(AS300)建立的EBGP邻居关系。
二 配置命令
BGP <wbr>DUAL-AS <wbr>特性详解
R1的配置如下:
router bgp 100
network 10.10.10.0 mask 255.255.255.0
neighbor 10.1.12.2 remote-as 200
R3的配置如下:
router bgp 300
network 30.30.30.0 mask 255.255.255.0
neighbor 10.1.23.2 remote-as 201 // R3指R2的remote-as为201,也即是secondary AS
R2的配置如下:
router bgp 200 // AS200为Primary AS,用于配置BGP进程
network 20.20.20.0 mask 255.255.255.0
neighbor 10.1.12.1 remote-as 100
neighbor 10.1.23.3 remote-as 300
neighbor 10.1.23.3 local-as 201 [no-prepend] [replace-as] [dual-as]

三 命令详解

R1发布10.0、R2发布20.0、R3发布30.0的路由,接下去看看R2上分别配置如下不同的命令后(关键字),这几条BGP路由被特定的路由器学习到之后的AS_PATH的变化:
  • neighbor 10.1.23.3 local-as 201
  • neighbor 10.1.23.3 local-as 201 no-prepend
注意这里的变化:R2将30.0的路由传递给R1时,不再插入seconday AS号
所以,no-prepend关键字的作用是:Do not prepend local-as to updates from ebgp peers,翻过一下:向Primary AS的EBGP邻居通告路由时,不附加secondary AS号
  • neighbor 10.1.23.3 local-as 201 no-prepend replace-as
BGP <wbr>DUAL-AS <wbr>特性详解

注意变化,replace-as 关键字让R2向secAS的EBGP邻居发送路由时,用local-as201替代真实AS200
所以replace-as关键字的作用是:Replace real AS with local AS in the EBGP updates,翻译一下: 当路由器向secondaryAS的EBGP邻居发送更新时,用secondaryAS号替代Pri AS号。
  • neighbor 10.1.23.3 local-as 201 no-prepend replace-as dual-as
Accept either real AS or local AS from the ebgp peer。翻译一下:EBGP对等体既可以使用PriAS也可以使用SecAS对本地指remote-as,例如在R2上配置上述命令后,R3也就是10.1.23.3,在其BGP进程中,即可使用neighbor 10.1.23.2 remote-as 200,亦可使用remote-as 201去指BGP邻居R2
0 0