1.mpls vpn跨域所产生的问题:
相比于域内MPLS VPN,跨域场景下VPN的工作原理不变,但是因为跨越了不同的AS,产生了以下问题:
AS之间不会运行LDP协议,因此AS之间无法建立外层隧道。
PE之间没有运行IGP协议,缺省情况下无法建立BGP邻居关系,进而无法直接传递VPNv4路由。
2、解决方案
Option A:
两台ASBR-PE之间用多个物理接口(或子接口)互连,每个接口关联一个VPN,每个ASBR-PE都把对端当成CE。
路由发布:
报文转发:
优点:配置简单,ASBR之间传输的为纯ip报文,不需要运行mpls。
缺点:ASBR需要维护多个实例的私网路由,VPNV4的路由数量过大,并且由于是IP转发,还需要为每个跨域的vpn使用不同的接口(可配置子接口),成本较大。
(在需要跨域的VPN数量比较小的情况,可以优先考虑)
OptionB :
相比于OptionA,OptionB无需在ASBR-PE创建VPN实例,无需绑定任何接口。
在OptionB方式中,两个ASBR通过MP-EBGP交换它们从各自AS的PE设备接收的VPNv4路由。
路由传递
数据传递
优点:ASBR之间不受物理链路的限制。(所有流量都要经过ASBR,流量具有很好的可控性,但是ASBR的负担较重,可在ASBR上针对RT做过滤,保留部分路由)
缺点:VPNv4的路由都是通过ASBR来保存以及传递的,ASBR需要储存多个实例的路由以及占用标签空间。在option B方案中,需要维护VPN对信息的ASBR一般不再负责公网IP的转发。
Option C:
相比于OptionA和OptionB,OptionC方案中,ASBR上不保存VPNv4路由,相互之间也不通告VPNv4路由。
OptionC方案中不同AS的PE之间建立Multihop方式的EBGP连接,交换VPNv4路由。针对不同方式实现PE之间路由互通,OptionC又可以分为两种方式:
方式一:由ASBR将去往其它AS中的PE路由通过BGP发送给本地PE设备。
方式二:由ASBR将去往其它AS中的PE路由引入IGP。
(option C的两种方式不同的点在与对端PE的路由本端PE是如何学习到的。在方式1中,对端PE的路由是通过BGP学习到的,而方式二中,对端PE的路由是通过IGP学习到的。基于两种方式路由学习的方式不同,大家应该注意的是隧道的建立也不一样)
方式一:
PE和PE及RR之间建立BGP 的vpnv4邻居关系,用于传递vpnv4路由。PE和RR及ASBR之间建立BGP的单播邻居,用于将本端PE的环回口路由传递给对端PE,目的是为了将流量迭代到隧道中。
路由传递:
- CE1通告IPv4路由给PE1。
- PE1将IPv4路由转化为VPNv4路由发送给PE2,并且设置下一跳为PE1,分配VPN标签V1。
- ASBR1通过EBGP会话通告一条去往PE1的带标签的IPv4路由给ASBR2,其中下一跳为ASBR1,标签为BGP标签,值为B1。
- ASBR2通过BGP会话通告一条去往PE1的带标签的IPv4路由给PE2,其中下一跳为ASBR2,标签为BGP标签,值为B2。
- PE1、P1分别为去往PE1的路由分配隧道标签T1、T2。
- ASBR2、P2分别为去往ASBR2的路由分配隧道标签T3、T4。
- PE2将VPNv4路由转变为IPv4路由,通告给CE2,并且设置下一跳为PE2
数据转发:
- CE2发送一个目的地为Net1的IP报文给PE2。
- PE2收到IP报文后先封装VPN标签V1,然后添加ASBR2分配的BGP标签B2做为中间标签,最后封装上外层标签T4。
- P2把外层标签T4换成T3,然后将此报文发送给ASBR2。
- ASBR2去掉外层标签,将BGP标签B2交换为B1,再将其转发给ASBR1。
- 当ASBR1收到报文后,去掉B1进一步查表转发,发现此时去往PE1的路由有一个关联的标签T2,因此,ASBR1将其加在栈顶,并转发给P1。
- P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文转发给CE1。
方式二:
PE和RR之间建立MP-BGP的vpnv4邻居关系,ASBR之间建立单播的BGP邻居,本端PE的路由通过路由引入的形式发布给对端PE。
路由传递:
- CE1通告IPv4路由给PE1。
- PE1将IPv4路由转化为VPNv4路由发送给PE2,并且设置下一跳为PE1,分配VPN标签V1。
- PE1、P1分别为去往PE1的路由分配隧道标签T1、T2。
- ASBR1通过EBGP会话通告一条去往PE1的带标签的IPv4路由给ASBR2,其中下一跳为ASBR1,标签为BGP标签,值为B1。
- ASBR2、P2分别为去往PE1的路由分配隧道标签T3、T4。
- PE2将VPNv4路由转变为IPv4路由,通告给CE2,并且设置下一跳为PE2。
数据传递:
- CE2发送一个目的地为Net1的IP报文给PE2。
- PE2收到IP报文后先封装VPN标签V1,由于去往Net1的下一跳PE1不是直连邻居,通过查表发现去往PE1的标签为T4,打上T4。
- P2把外层标签T4换成T3,然后将此报文发送给ASBR2。
- ASBR2去掉外层标签,将T3交换为B1,再将其转发给ASBR1。
- 当ASBR1收到报文后,去掉B1进一步查表转发,发现此时去往PE1的路由有一个关联的标签T2,因此,ASBR1将其加在栈顶,并转发给P1。
- P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文转发给CE1。
4.OptionC 的特点
优点:VPN 路由在入口PE 和出口PE 之间直接交换,不需要中间设备的保存和转发。VPN 的路由信息只出现在PE 设备上,而P 和ASBR 只负责报文的转发,使得中间域的设备可以不支持MPLS VPN 业务,只需支持MPLS 转发,ASBR 设备不再成为性能瓶颈。因此跨域VPN-OptionC更适合在跨越多个AS 时使用。更适合支持MPLS VPN 的负载分担。
缺点::维护一条端到端的PE 连接管理代价较大。