目录

OptionA

基本概念

路由传递过程

数据转发过程

OptionB

基本概念

路由传递过程

数据转发过程

OptionA和B的优缺点

OptionA

OptionB


跨域VPN指的是将AS内的VPN信息扩散到其它AS区域,为实现此要求,提出了以下三种解决方案

OptinA、B、C

mpls option b中的absr是如何传递数据的 mpls option b原理_网络


OptionA

基本概念

OptionA中,ASBR之间不需要运行MPLS,也不需要为跨域进行特殊的配置

两个AS的边界ASBR直接相连,都把对端ASBR看作自己的CE设备,为每一个VPN创建VPN实例,使用EBGP的方式向对端发布IPv4路由(将Vpnv4的路由转为IPv4的路由发放)

路由传递过程

邻居关系建立如下(PE到CE之间的路由协议按照实际情况选择)

PE1与ASBR1通过环回口建立Vpnv4的IBGP邻居,开启MPLS LDP

ASBR1与ASBR2通过物理接口建立IPv4的EBGP邻居(不需要开启MPLS)

ASBR2与PE2通过环回口建立Vpnv4的IBGP邻居,开启MPLS LDP

传递的路由类型

mpls option b中的absr是如何传递数据的 mpls option b原理_路由表_02

具体的路由传递过程

CE1将IPv4路由传递给PE1

CE1上宣告一条1.1.1.1/32的路由进入PE1实例路由表

PE1从实例1收到CE1传递过来的IPv4路由后

将1.1.1.1路由加入到实例1的IPv4路由表(1.1.1.1  下一跳为CE1)

然后将1.1.1.1路由从实例1引入到BGP中,生成vpnv4路由(1.1.1.1 1:1),将此Vpnv4路由加入到BGP vpnv4路由表中(1.1.1.1 1:1  下一跳为0.0.0.0)

然后将此Vpnv4路由通告给MP-BGP邻居ASBR1,携带ex RT值 200:1和MP-BGP产生的私网标签①,下一跳为2.2.2.2

ASBR1收到PE1发来的Vpnv4路由后

匹配vpnv4路由携带的ex RT值,将其放入BGP vpnv4路由表中(1.1.1.1 1:1,下一跳2.2.2.2)

然后将vpnv4剥离RD值,加入到自身对应实例2的IPv4路由表中(1.1.1.1,N-Hop2.2.2.2)

并将此路由携带的私网标签①存放在标签转发表项中,用于数据转发

ASBR1将IPV4路由传递给ASBR2

由于ASBR1与ASBR2在实例下建立了EBGP邻居

ASBR1将实例2中的IPV4路由(1.1.1.1)通过实例EBGP传递给ASBR2

ASBR2从实例3收到ASBR1传递过来的IPv4路由后

ASBR2将从ASBR1收到的1.1.1.1路由加入到实例3的IPv4路由表(1.1.1.1  下一跳为10.0.45.4)

然后将1.1.1.1路由从实例3引入到BGP中,生成vpnv4路由(1.1.1.1 3:3),此Vpnv4路由加入到BGP vpnv4路由表中(1.1.1.1 3:3 下一跳为0.0.0.0)

然后将此Vpnv4路由通告给MP-BGP邻居PE2,携带ex RT值 400:1和MP-BGP产生的私网标签②,下一跳为5.5.5.5

PE2收到ASBR2发来的Vpnv4路由后

匹配vpnv4路由携带的ex RT值,将其放入BGP vpnv4路由表中(1.1.1.1 3:3,下一跳5.5.5.5)

然后将vpnv4剥离RD值,加入到自身对应实例4的IPv4路由表中(1.1.1.1,N-Hop5.5.5.5)

并将此路由携带的私网标签①存放在标签转发表项中,用于数据转发

PE2将IPv4路由传递给CE1

PE2将实例4中的IPv4路由(1.1.1.1)传递给CE1

数据转发过程

mpls option b中的absr是如何传递数据的 mpls option b原理_服务器_03

具体的数据转发过程

CE2到PE2

CE2访问1.1.1.1,查找FIB表,将数据包转发给PE2

PE2从实例4收到CE2发来的数据包后

PE2查找实例4的FIB表项,发现去往1.1.1.1的下一跳为5.5.5.5和其对应的私网标签②

此时报文为(D:1.1.1.1 私网标签②)下一跳5.5.5.5

PE2查找FIB表,发现5.5.5.5的Tunnel为 非0,即去往5.5.5.5通过LDP标签转发,于是查看LFIB表项,找到对应5.5.5.5的公网标签和下一跳

此时报文为(D:1.1.1.1 私网标签② 公网标签)下一跳为直连下一跳

P2收到PE2发来的数据包后

P2通过LFIB表项查找此公网标签对应的入标签,以此找到对应的下一跳和出标签

P2发现下一跳为自己分配的出标签为3,所以在报文发送时将公网标签弹出

此时报文为(D:1.1.1.1 私网标签②)下一跳为直连下一跳

ASBR2收到P2发来的数据包后

ASBR2查找LFIB表,发现私网标签②是自己产生的,于是通过私网标签②找到对应的实例3,并剥离掉私网标签②

查找实例3的FIB表项,发现去往1.1.1.1的下一跳为4.4.4.4

此时报文为(D:1.1.1.1)下一跳为直连下一跳

ASBR1从实例2收到ASBR2发来的数据包后

PE2查找实例2的FIB表项,发现去往1.1.1.1的下一跳为2.2.2.2和其对应的私网标签①

此时报文为(D:1.1.1.1 私网标签①)下一跳2.2.2.2

PE2查找FIB表,发现2.2.2.2的Tunnel为 非0,即去往2.2.2.2通过LDP标签转发,于是查看LFIB表项,找到对应2.2.2.2的公网标签和下一跳

此时报文为(D:1.1.1.1 私网标签① 公网标签)下一跳为直连下一跳

后续到达PE1的过程同PE2到达ASBR2的过程


OptionB

基本概念

两个ASBR建立MP-EBGP邻居,交换它们从各自AS的PE设备接收的标签Vpnv4路由,ASBR之间需要运行MPLS

路由传递过程

邻居关系建立如下(PE到CE之间的路由协议按照实际情况选择)

PE1与ASBR1通过环回口建立Vpnv4的IBGP邻居,开启MPLS LDP

ASBR1与ASBR2通过物理口建立Vpnv4的EBGP邻居,需要开启MPLS(不需要开启LDP)

ASBR2与PE2通过环回口建立Vpnv4的IBGP邻居,开启MPLS LDP

传递的路由类型

mpls option b中的absr是如何传递数据的 mpls option b原理_网络_04

具体的路由传递过程

每建立一个MP-BGP邻居,就会分配一个私网标签

CE1将IPv4路由传递给PE1

CE1上宣告1.1.1.1的路由进入PE1实例表

PE1从实例1收到CE1传递过来的路由后

将1.1.1.1路由加入到实例1的IPv4路由表(1.1.1.1  下一跳为CE1)

然后将1.1.1.1路由从实例1引入到BGP中,生成vpnv4路由(1.1.1.1 1:1),将此Vpnv4路由加入到BGP vpnv4路由表中(1.1.1.1 1:1  下一跳为0.0.0.0)

然后将此Vpnv4路由通告给MP-BGP邻居ASBR1,携带ex RT值 200:1和MP-BGP产生的私网标签①,下一跳为2.2.2.2

ASBR1接收到PE1传递过来的路由后

ASBR1关闭对RT值的检查,将此Vpnv4路由放入BGP Vpnv4路由表(1.1.1.1 1:1 下一跳10.0.45.4)

并将此路由携带的私网标签①存放在标签转发表项中,用于数据转发

然后将此Vpnv4路由通告给MP-BGP邻居ASBR2,携带之前的ex RT值200:1和MP-BGP新产生的私网标签②。

ASBR2接收到ASBR1传递过来的路由后

ASBR2关闭对RT值的检查,将此Vpnv4路由放入BGP Vpnv4路由表(1.1.1.1 1:1 下一跳4.4.4.4)

并将此路由携带的私网标签②存放在标签转发表项中,用于数据转发

然后将此Vpnv4路由通告给MP-BGP邻居ASBR2,携带之前的ex RT值200:1和MP-BGP新产生的私网标签③

PE2接收到ASBR1传递过来的路由后

匹配vpnv4路由携带的ex RT值,将其放入BGP vpnv4路由表中(1.1.1.1 1:1,下一跳5.5.5.5)

然后将vpnv4剥离RD值,加入到自身对应实例2的IPv4路由表中(1.1.1.1,N-Hop5.5.5.5)

并将此路由携带的私网标签③存放在标签转发表项中,用于数据转发

数据转发过程

mpls option b中的absr是如何传递数据的 mpls option b原理_网络_05

CE2到PE2

CE2访问1.1.1.1,查找FIB表,将数据发给PE2

PE2从实例2收到CE2发来的数据包后

PE2查找实例4的FIB表项,发现去往1.1.1.1的下一跳为5.5.5.5和其对应的私网标签②

此时报文为(D:1.1.1.1 私网标签③)下一跳5.5.5.5

PE2查找FIB表,发现5.5.5.5的Tunnel为 非0,即去往5.5.5.5通过LDP标签转发,于是查看LFIB表项,找到对应5.5.5.5的公网标签和下一跳

此时报文为(D:1.1.1.1 私网标签③ 公网标签)下一跳为直连下一跳

P2收到PE2发来的数据包后

P2通过LFIB表项查找此公网标签对应的入标签,以此找到对应的下一跳和出标签。

P2发现下一跳为自己分配的出标签为3,所以在报文发送时将公网标签弹出

此时报文为(D:1.1.1.1 私网标签③)下一跳为直连下一跳

ASBR2收到P2发来的数据包后

ASBR2查找LFIB表,发现私网标签③是自己产生的,剥离私网标签③

然后查找vpnv4路由表项,发现去往1.1.1.1的下一跳为4.4.4.4和其对应的私网标签②

此时报文为(D:1.1.1.1 私网标签②)下一跳为直连下一跳

ASBR1收到ASBR2发来的数据包后

ASBR2查找LFIB表,发现私网标签②是自己产生的,剥离私网标签②

然后查找vpnv4路由表项,发现去往1.1.1.1的下一跳为2.2.2.2和其对应的私网标签①

此时报文为(D:1.1.1.1 私网标签①)下一跳为2.2.2.2

PE2查找FIB表,发现2.2.2.2的Tunnel为非0,即去往2.2.2.2通过LDP标签转发,于是查看LFIB表项,找到对应2.2.2.2的公网标签和下一跳

此时报文为(D:1.1.1.1 私网标签① 公网标签)下一跳为直连下一跳

P1收到ASBR1发来的数据包后

P2通过LFIB表项查找此公网标签对应的入标签,以此找到对应的下一跳和出标签。

P2发现下一跳为自己分配的出标签为3,所以在报文发送时将公网标签弹出

此时报文为(D:1.1.1.1 私网标签①)下一跳为直连下一跳

PE1收到P1发来的数据包后

PE1查找LFIB表,发现私网标签②是自己产生的,于是通过私网标签①找到对应的实例1,并剥离掉私网标签①

查找实例1的FIB表项,发现去往1.1.1.1的下一跳为CE1

此时报文为(D:1.1.1.1)下一跳为CE1


OptionA和B的优缺点

OptionA

优点

配置简单,ASBR之间不需要运行MPLS,也不需要为跨AS做特殊配置,只要ASBR支持基本的PE功能即可

缺点

可扩展性差,由于ASBR需要管理所有VPN路由,需要为每个VPN创建VPN实例,可能会造成ASBR的CRF资源出现瓶颈

由于ASBR之间是普通的IP转发,要求为每个跨域的VPN使用不同的接口,提高了对设备的接口要求

OptionB

优点

不受ASBR之间互联链路数目的限制,扩展性好

缺点

VPN的路由信息是通过AS之间的ASBR来保存和扩散的,如果不增加路由策略,ASBR会承载大量Vpnv4的路由,ASBR负担重,容易成为故障点