4. IP RAN业务承载:L2VPN(VPWS、VPLS)原理与配置、L3VPN原理与配置、PW冗余保护

各位好,咱们今天聊聊IP RAN网络里最核心的业务承载部分——VPN。说实话,我刚开始接触IP RAN那会儿,最头疼的就是各种VPN类型。VPWS、VPLS、L3VPN,再加上PW冗余保护,光名字就够绕的。但干久了你会发现,这些技术说白了就是解决同一个问题:怎么在IP网络上安全、可靠地跑用户业务。

我个人习惯把VPN分成两大类来看:二层VPN和三层VPN。二层VPN里,又分点对点的VPWS和多点对多点的VPLS。嗯,咱们一个一个来拆解。

4.1 L2VPN之VPWS:点对点的专线思维

VPWS,全称是Virtual Private Wire Service。你想想看,它就像在IP网络里拉了一根虚拟的网线。两端设备感觉不到中间经过了多少跳路由器,就像直接连在一起。

核心原理:VPWS通过MPLS标签交换,在两端PE设备之间建立一条伪线(PW)。CE设备发过来的二层帧,被PE封装上MPLS标签,穿过核心网络,在远端PE解封装后交给对端CE。

关键点:VPWS只关心两个站点之间的连通性。它不学习MAC地址,不关心广播风暴,就是一条干净的点到点通道。

配置示例(华为设备)

#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 100
#
mpls l2vpn
#
pw-template 1to2
 pw-type vlan
 control-word enable
#
l2vpn vsi vsi1 static
 pwsignal ldp
  pw pw1
   pw-template 1to2
   peer 2.2.2.2
   tnl-policy policy1
#

我在项目中遇到过一件事。有个客户反映专线丢包,查了半天发现是PW的control-word没开。control-word说白了就是给PW报文加了个序列号,能检测乱序和丢包。嗯,这个细节很容易被忽略,但实际影响很大。

我的建议:配置VPWS时,一定要确认两端的封装类型一致。VLAN封装和Raw封装混用,会导致业务不通。我曾经因为这个排查了整整一个下午。

4.2 L2VPN之VPLS:多点互联的以太网

VPLS,全称是Virtual Private LAN Service。它解决的是多点互联的问题。你想想看,如果公司有三个分部要互相通信,用VPWS得拉三条PW,太麻烦了。VPLS直接模拟了一个交换机,所有站点都在同一个广播域里。

核心原理:VPLS在PE设备上维护一张MAC地址表,通过PW在PE之间转发二层帧。它支持MAC地址学习、广播、未知单播泛洪——说白了,就是一台分布式的交换机。

配置示例(华为设备)

#
l2vpn vsi vsi2 static
 pwsignal ldp
  vsi-id 100
  peer 2.2.2.2
  peer 3.3.3.3
#
interface GigabitEthernet0/0/2
 l2 binding vsi vsi2
#

这里要注意,VPLS的MAC地址表容量是有限的。我记得有一次,一个客户在VPLS网络里接了上千个终端,结果PE设备的MAC表爆了,导致大量丢包。后来我们调整了MAC老化时间,才解决问题。

避坑指南:我曾经见过有人把VPLS的广播域搞得太大,导致广播风暴把核心网络都打瘫了。建议用H-VPLS(分层VPLS)来隔离广播域,或者用STP/RSTP做环路保护。

4.3 L3VPN:三层路由的灵活承载

L3VPN,全称是Layer 3 Virtual Private Network。它跟二层VPN最大的区别是:PE设备参与用户的路由学习。说白了,CE设备跟PE设备之间要跑路由协议,PE把用户路由通过MP-BGP扩散到对端PE。

核心原理:L3VPN使用VRF(虚拟路由转发)来隔离不同用户的路由。每个VRF有自己的路由表、接口和转发表。PE之间通过MP-BGP传递VPNv4路由,加上MPLS标签实现数据转发。

配置示例(华为设备)

#
ip vpn-instance customer_a
 route-distinguisher 100:1
 vpn-target 100:1 export-extcommunity
 vpn-target 100:1 import-extcommunity
#
interface GigabitEthernet0/0/3
 ip binding vpn-instance customer_a
 ip address 192.168.1.1 255.255.255.0
#
bgp 100
 ipv4-family vpn-instance customer_a
  import-route direct
  peer 2.2.2.2 as-number 100
#

我个人习惯在配置L3VPN时,先确认RT(Route Target)的导入导出方向。很多新手搞混了export和import,导致路由学不到。你想想看,export是把自己的路由发出去,import是把别人的路由收进来,这个逻辑一定要理清楚。

重要提醒:L3VPN的RD(Route Distinguisher)必须全局唯一。如果两个VPN实例用了相同的RD,路由会冲突。我建议用AS号加索引号的方式,比如100:1、100:2,这样基本不会重复。

4.4 PW冗余保护:业务不中断的保障

PW冗余保护,说白了就是给伪线加个备份。主PW断了,业务自动切换到备PW上。这在IP RAN网络里特别重要,因为基站业务对可靠性要求极高。

实现方式

  • 主备模式:一条PW主用,一条PW备用。主PW故障时,备PW接管业务。
  • 负载分担模式:两条PW同时转发流量,一条断了,另一条承担全部流量。

配置示例(华为设备)

#
l2vpn vsi vsi3 redundancy
 pwsignal ldp
  pw pw_master
   peer 2.2.2.2
   priority 1
  pw pw_slave
   peer 3.3.3.3
   priority 2
#

嗯,这里要注意PW的优先级配置。优先级数值越小,优先级越高。我建议主PW优先级设为1,备PW设为2,这样切换逻辑清晰。

我的经验:PW冗余保护一定要配合BFD(双向转发检测)使用。BFD能快速检测链路故障,毫秒级触发切换。我曾经遇到过没有配BFD的情况,主PW断了,备PW等了30秒才切换,基站业务早就中断了。

切换时间对比

保护方式 切换时间 适用场景
PW冗余(无BFD) 3-30秒 非关键业务
PW冗余(有BFD) 50-200毫秒 基站回传、专线
PW冗余(BFD+FRR) <50毫秒 高可靠性场景

避坑指南:我曾经见过一个案例,PW冗余配置了,但备PW的路径跟主PW完全一样。结果主路径断了,备PW也断了,冗余完全失效。记住,主备PW一定要走不同的物理路径,否则冗余就是摆设。

好了,关于IP RAN业务承载的L2VPN、L3VPN和PW冗余保护,咱们就聊到这儿。你想想看,这些技术其实都是围绕一个核心:在不可靠的IP网络上,构建可靠的业务通道。VPWS适合点对点专线,VPLS适合多点互联,L3VPN适合三层路由场景,PW冗余则是给所有业务加了一道保险。嗯,下次遇到VPN故障,你可以先从这几个维度去排查,应该能省不少时间。