MPLS BGP VPN跨域
文章目录
背景
一般MPLS VPN体系结构都是在一个自制西戎内运行,任何VPN的路由信息都是只能在一个自治系统内按需扩展,没有提供自治系统内的VPN信息向其他自治系统扩散的功能
同一个VPN两个站点位于不同AS,普通MPLS BGP VPN不能解决。
跨域VPN-OptionA方式
方案思路
跨域VPN-OptionA是基本BGP/MPLS IP VPN在跨域环境下的应用,ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。这种方式下,两个AS的边界ASBR直接相连,ASBR同时也是各自所在自治系统的PE。两个ASBR都把对端ASBR看作自己的CE设备,将会为每一个VPN创建VPN实例,使用EBGP方式向对端发布IPv4路由。
跨域VPN-OptionA方式(控制平面)
-
在AS100中,通过运行LDP协议, PE1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1。
-
在AS100中,通过运行LDP协议, P1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T2给ASBR-PE1。
-
在AS200中,同样通过运行LDP协议, ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2。
-
在AS200中,通过运行LDP协议, P2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T4给PE2。
-
CE1通告路由Client1给PE1 ,路由的下一跳为CE1的接口地址。
-
PE1将IPv4路由Client1通过MP- BGP重发布为VPNv4路由,并且下一跳改为PE1 ,分配一个VPN标签V1 ,然后通告给ASBR-PE1.
-
ASBR-PE1将VPNv4路由变为IPv4路由,把IPv4路由Client1通告给ASBR-PE2 ,并且下一跳指向ASBR-PE1.
-
ASBR-PE2将IPv4路由Client1通过MP-
BGP重发布为VPNv4路由,并且下一跳ASBR-PE2,为该路由分配一个VPN标签V2 ,将其通告给PE2。 -
PE2将VPNv4路由转变为IPv4路由Client1 ,把路由Client1通告给CE2 ,并且下一跳指向PE2。
跨域VPN-OptionA方式(转发平面)
- CE2发送一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V2 ,再封装外层标签T4 ,然后将此报文发送给P2.
- P2进行标签交换,把外层标签T4换成T3 ,然后将此报文发送给ASBR-PE2。
- ASBR-PE2去掉所有标签,将报文(普通IP报文)转发给ASBR-PE1.
- ASBR-PE1收到IP报文后进行MPL S标签的封装,先封装VPN标签V1 ,再封装外层标签T2 ,然后将此报文发送给P1。
- P1进行标签交换,把外层标签T2换成T1 ,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文(普通IP报文)转发给CE1
跨域VPN-OptionB方式
方案思路
跨域VPN-OptionB中,两个ASBR通过MP-EBGP交换它们从各自AS的PE设备接收的标签VPN-IPv4路由。
跨域VPN-OptionB方案中,ASBR接收本域内和域外传过来的所有跨域VPN-IPv4路由,再把VPN-IPv4路由发布出去。但MPLS
VPN的基本实现中,PE上只保存与本地VPN实例的VPN
Target相匹配的VPN路由。通过对标签VPN-IPv4路由进行特殊处理,让ASBR不进行VPN
Target匹配把收到的VPN路由全部保存下来,而不管本地是否有和它匹配的VPN实例。
跨域VPN-OptionB方式(控制平面)
- 在AS100中,通过运行LDP协议, PE1分配一一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1
- 在AS100中 ,通过运行LDP协议, P1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T2给ASBR-PE1
- 在AS200中,同样通过运行LDP协议, ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2
- 在AS200中 ,通过运行LDP协议, P2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T4给PE2
- CE1 通告路由Client1给PE1 ,路由的下一跳为CE1的接口地址
- PE1将IPv4路由Client1通过MP-IBGP重发布为VPNv4路由 ,并且下一跳改为PE1 ,分配一个VPN标签V1 ,然后通告给ASBR-PE1
- ASBR-PE 1通过MP-EBGP将Client1的VPNv4路由通告给ASBR-PE2 ,将下一跳改为ASBR-PE1 ,并重新分配一个VPN标签V2
- ASBR-PE2将收到的Client1 的VPNv4路由通过MP-1BGP通告给PE2 ,将下一跳指向自己,并重新分配一个VPN标签V3
- PE2将Client 1的VPNv4路由变为IPv4路由,把路由Client1通告给CE2 ,并且下一跳改为PE2
跨域VPN-OptionB方式(转发平面)
- CE2发送一一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V3 ,再封装外层标签T4 ,然后将此报文发送给P2。
- P2进行标签交换,把外层标签T4换成T3 ,然后将此报文发送给ASBR-PE2.
- ASBR-PE2去掉外层标签,将VPN标签V3交换为V2 ,再将其转发给ASBR-PE1 (此时报文仅带有一层私网标签)。
- ASBR-PE交换VPN标签V2成V1 ,再加一个外层标签T2 ,并将报文转发给P1。
- P1进行标签交换,把外层标签T2换成T1 ,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文(普通IP报文)转发给CE1。
跨域VPN-OptionC方式(方案一)
前面介绍的两种方式都能够满足跨域VPN的组网需求,但这两种方式也都需要ASBR参与VPN-IPv4路由的维护和发布。当每个AS都有大量的VPN路由需要交换时,ASBR就很可能阻碍网络进一步的扩展
方案思路
在本端ASBR从对端的ASBR学到对端AS域内的带标签BGP公网路由后,通过策略为该路由分配标签,发布给支持标签能力的IBGP邻居PE,从而建立一条完整的公网LSP。
跨域VPN-OptionC方式(方案一)(控制平面)
-
在AS100中,通过运行LDP协议,PE1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1
-
在AS100中,通过运行LDP协议,P1分配一个与去往PE1的路由相关联的隧道标签(外层标 签)T2给ASBR-PE1
-
在AS200中,同样通过运行LDP协议,ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2
-
在AS200中,通过运行LDP协议,P2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T4给PE2
ASBR1通过EBGP会话通告一条去往PE1的带标签的IPv4路由给ASBR2,其中下一跳为ASBR1,标签为BGP标签,值为B1 -
ASBR2通过BGP会话通告一条去往PE1的带标签的IPv4路由给PE2,其中下一跳为ASBR2,标签为BGP标签,值为B2。
注意∶这里假设PE2与ASBR1所在的AS已经为去往它们的路由分配了隧道标签(公网标签),并且去往PE2的带标签路由也已经被通告。PE1与PE2建立起MP-EBGP会话
- CE1 通告路由Client1给PE1,路由的下一跳为CE1的接口地址
- PE1将IPv4路由Client1通过MP-EBGP重发布为VPNv4路由,并且下一跳改为PE1,分配一个VPN标签V1,将其通告给PE2
- PE2将VPNv4路由变为IPV4路由,把IPv4路由Client通告给CE2,并且下一跳改