L2与L3 VPN是什么?

2019-09-24 17:20:36 云杰MPLS-VPN 114

  MPLS技术提供了类似于虚电路的标签交换业务,这种基于标签的交换可以提供类似于帧中继、ATM的网络安全性。同时相对于传统的VPN技术来说, MPLSVPN可以实现底层标签自动的分配,在业务的提供上比传统的VPN技术更廉价,更快速。同时MPLSVPN可以充分的利用MPLS技术的一些先进的特性,比如说MPLS流量工程能力,MPLS的服务质量保证,结合这些能力,MPLS VPN可以向客户提供不同服务质量等级的服务,也更容易实现跨运营商骨干网服务质量的保证。同时MPLS VPN还可以向客户提供传统基于路由技术VPN无法提供的业务种类,比如像支持VPN地址空间复用。对于MPLS的客户来说,运营商的MPLS网络可以提供客户需要的安全机制,以及组网的能力,VPN底层连接的建立、管理和维护主要由运营商负责,客户运营其VPN的维护和管理都将比传统的VPN解决方案简单,也减低了企业在人员和设备维护上的投资和成本。基于MPLS的VPN可以作为传统的基于二层专线的VPN、纯三层的IP VPN和隧道方式的VPN的替代技术,在现阶段可以作为传统VPN技术的有效补充。

  具体到MPLSVPN的实现方式,根据运营商边界设备PE是否参与客户的路由,运营商在建立基于IP/MPLS的VPN时有两种选择:

  第三层的解决方案,通常称作是Layer3MPLSVPNs

  第二层的解决方案,通常称作是Layer2MPLSVPNs

  衡量一个VPN解决方案的优劣主要基于以下几点的考虑

  支持的业务种类

  可以向用户提供的连接的种类

  扩展性;

  部署的复杂度

  业务开展的复杂度

  管理和维护的复杂度

  部署的成本

  管理和维护的成本

  当然这些因素并不是绝对的,实际的应用中很难简单的说这两个方案谁优谁劣。两个方案都有其优缺点,有其特定的业务模式,也都还处在不断完善发展的阶段,选择一个方案的关键是运营商实际的网络运营环境,和运营商自身的业务定位,要向客户提供什么样的服务模式。

  Layer3 MPLS VPN

  Layer3MPLSVPN是一种基于路由方式的MPLSVPN解决方案,ITEF RFC2547中对这种VPN技术进行了描述,MPLS Layer3 VPN也被称作是BGP/MPLS VPNs。BGP/MPLS VPN使用类似传统路由的方式进行IP分组的转发,在路由器接收到IP数据包以后,通过在转发表查找IP数据包的目的地址,然后使用预先建立的LSP进行 IP数据跨运营商骨干的传送。为了使运营商的路由器可以感知客户网络的可达性信息,运营商的边界路由器(PE)和客户端路由器(CE)进行路由信息的交互。PE和CE之间的路由交换可以采用静态路由,也可以采用RIP、OSPF、ISIS和BGP等动态的路由协议。BGP/MPLS VPN的解决方案支持对等方式的VPN网络结构。PE之间属于同一MPLS VPN的路由信息通过BGP协议承载进行交互。PE路由器使用LSP进行路由转发,对于运营商路由器P并不需要知道客户VPN网络的信息,这种透明可以有效的减小P路由器的负担,提高网络的扩展性和业务开展的灵活性。通过PE之间、PE和CE之间的路由交互,客户的路由器可以知道属于同一个VPN的网络拓扑信息。

  BGP/MPLSVPNs可以解决基于纯IPLayer3 VPN无法实现的一些功能,主要有:

  支持地址重叠,即同时支持使用公有地址的客户端设备和私有地址的客户端设备,或者多个VPN使用同一个地址空间。

  支持重叠VPN,即一个站点可以同时属于多个VPN

  对于传统基于路由的VPN来说,要解决以上的问题有一定的挑战性。MPLSVPN使用VPN路由转发表(VRF)解决地址重叠的问题。在运营商PE路由器上使用基于每VPN的路由转发表隔离不同VPN的路由。通过路由信息的隔离,实现支持VPN地址的重叠。如果一个PE上有多个CE属于同一个VPN,那么这些CE共享PE上的VPN路由转发表。对于重叠VPN的情况,重叠发生的站点需要使用独立的VRF表存储来自其所属VPN的路由信息。地址重叠的另一个问题是,PE路由器从邻居的BGP更新中会收到属于不同VPN的重叠路由信息。为了区别来自不同VPN的路由信息,PE使用8octet的路由标识(RD)对来自不同VPN的路由信息进行标识。这个8octet的路由标识作为4 octet的IP地址前缀的扩展构成了一个新的地址类(VPN-IPv4地址)。RD不参与路由发布的过程,它所起的作用仅仅是区分属于不同VPN站点的路由。RD和VRF之间建立了一种一一映射的关系,VRF在发布路由信息时将同时附带相应的RD信息。对于重叠VPN的情况,这类站点虽然同时属于多个 VPN,但是它只需要一个RD,并不需要多个RD以对应多个VRF,其主要的目的是为了节省PE路由器上的存储资源。对于这类的VPN成员站点,路由分布的策略和单一VPN成员站点是一致的。为了防止PE路由器接收到不属于该PE 上VPN成员的路由信息而浪费PE的资源,MPLS VPN使用BGP的扩展属性来控制运营商网络中路由信息的发布。这个功能是通过对BGP的团体属性来实现的,所有的客户VPN都被赋予一个唯一的团体属性值。在PE接收到一条路由时,BGP进程将检查该路由的扩展属性,如果该属性和该PE上承载的VPN的扩展属性相同PE将接收该路由,如果不同,PE将忽略这些BGP路由。 通过这种方式,PE路由器可以避免存储一些不必要的路由信息,提高网络的可扩展性。

  从以上的分析可以看出,MPLSVPN可以支持创建重叠VPN,所谓重叠VPN是指同一个站点同时属于多个VPN的情况。这种功能特别适用于企业之间并购时的网络整合或者企业之间由于合作的需要,相互之间需要共享网络资源。用户将依靠服务提供商来实现特定的路由控制,也就是说,路由控制来自于CE路由器并且派送到PE路由器。在图1中,用户A,站点1,既归属于VPNA,又归属于VPNC。该站点的路由信息由本地PE路由器在一个RD中进行通告,这个RD 同时包含了两个Route Target扩展属性:一个用于VPN A,另一个用于VPN C。远端的PE根据BGP扩展属性对来自该PE的路由信息进行接收和处理。

  当通告一个VPN-IPv4路由时,BGP信息中携带了VPN的内标签信息和相关VPN的BGP下一跳信息。PE路由器可以通过LSP可以建立两两之间之间的通信。这些LSP可以看做是MPLSVPN的外层标签,可以通过多种信令协议方式建立,比如LDP或者RSVP/TE。当PE接收到一个目的为远端 VPN站点的IP分组时,PE给分组包附加两层MPLS标签。

  外标签或者称作是隧道标签用于标识BGP的下一跳即远端PE的地址;内标签或者称之为VPN标签标识PE上特定的VPN成员,具体的说应该是标识到PE上的VRF。P路由器只是根据标签进行数据转发,整个过程VPN过程对于P路由器透明。