MPLS/BGP VPN提供了灵活的地址管理。由于采用了单独的路由表,允许每个VPN使用单独的地址空间,称为VPN-IPv4地址空间,RD加上IPv4地址就构成了VPN-IPv4地址。很多采用私有地址的用户不必再进行地址转换NAT,NAT只有在两个有冲突地址的用户需要建立Extranet进行通信时才需要。
在MPLS/BGP VPN中属于同一的VPN的两个site之间转发报文使用两层标签来解决,在入口PE上为报文打上两层标签:第一层(外层)标签在骨干网内部进行交换,代表了从PE到对端PE的一条隧道,VPN报文打上这层标签就可以沿着LSP到达对端PE;第二层(内层)标签,指示了报文应该到达哪个site,或者更具体一些到达哪一个CE。这样报文到达PE时剥掉了外层标签,这时,根据内层标签就可以找到转发的接口。
MPLS L2VPN提供基于MPLS网络的二层VPN服务。使用基于MPLS的L2VPN解决方案,运营商可以在统一的MPLS基础网络架构上,提供基于不同媒介(包括ATM、FR、VLAN、Ethernet、PPP等)的二层VPN服务。同时这个MPLS网络仍然可以提供通常的IP、三层VPN、流量工程和QoS等其他服务,极大地节省网络建设的投资。
简单来说,MPLS L2VPN就是在MPLS网络上透明传递用户的二层数据,从用户的角度来看这个MPLS网络就是一个二层的交换网络,通过这个网络可以在不同站点之间建立二层的连接。
对于MPLS二层VPN,网络运营商负责给二层VPN用户提供二层的连通性,不需要参与VPN用户的路由计算,在提供全连接的二层VPN时和传统的二层VPN一样( 如ATM PVC提供的VPN),存在N方问题。每个VPN的CE到其它的CE都需要在CE与PE之间分配一条连接。对于PE设备来说,在一个VPN有N个Site的时候,CE-PE必须有N-1个物理或逻辑端口连接。
在MPLS L2VPN中,CE、PE、P的概念与BGP/MPLS VPN一样,原理也很相似:它也是利用标签栈来实现用户报文在MPLS网络中的透明传送,外层标记(称为tunnel标记)用于将报文从一个PE传递到另一个PE,内层标记(在MPLS
L2VPN中称为VC标记)用于区分不同的VPN中的不同连接,接收方的PE根据VC标记决定将报文传递给哪个CE。
由于MPLS L2VPN中PE设备不参与用户的路由处理,因此它的可扩展性比L3VPN要好得多。MPLS L2VPN的可扩展性只与PE能连接的VPN用户数目相关,但是作为代价L2VPN的灵活性要差一些,无法实现Extranet。