基本原理
PWE3的基本架构
PWE3以LDP为信令协议,通过隧道(如MPLS LSP隧道、MPLS TE隧道或者GRE隧道)承载CE(Customer Edge)端的各种二层业务(如各种二层数据报文),透明传递CE端的二层数据。如图5-2所示,PWE3网络的基本传输构件包括:
接入链路AC(Attachment Circuit)
虚链路PW(Pseudo wire)
转发器(Forwarder)
隧道(Tunnels)
PW信令协议(PW Signal)
以CE1到CE3的VPN1报文流向为例,说明基本数据流走向:
CE1上送二层报文,通过AC接入PE1。
PE1收到报文后,选定转发报文的PW。
PE1再根据PW的转发表项生成两层MPLS标签(私网标签用于标识PW,公网标签用于穿越隧道到达PE2)。
二层报文经公网隧道到达PE2,系统弹出私网标签(缺省情况下,公网标签在P设备上经倒数第二跳弹出)。
由PE2的转发器选定转发报文的AC,将该二层报文转发给CE3。
PWE3的分类
PWE3技术建立的PW,有如下两种分类方法:
从实现方案角度,可划分为:静态PW和动态PW。
Martini方式的VLL使用LDP信令协议建立动态PW。在此基础上,PWE3还支持不使用信令协议进行参数协商,而是通过手工指定PW信息建立起来的静态PW。
从组网类型角度,可划分为:单跳PW和多跳PW。
动态PW的建立、维护和拆除
动态PW采用LDP信令,通过扩展标准LDP的TLV来携带VC信息。建立PW时PE与PE之间需要建立LDP会话,PW的标签分配顺序采用下游自主分发DU(Downstream Unsolicited)模式,标签保留模式采用自由模式(liberal label retention)。
如果PE之间有P设备,则建立PE与PE之间的远端LDP会话。如果PE与PE直连,采用普通的LDP会话。
当PW两端的PE设备上完成了PWE3的配置,并且PE1与PE2间的LDP会话建立后,PE1和PE2之间的动态PW开始建立,如图5-4所示。
PE1发送Request请求和Mapping报文(携带本端的私网标签以及相关的属性)到PE2。
PE2接收到来自PE1的Request消息后,触发PE2发送Mapping报文给PE1。
PE2收到Mapping消息后检查本地是否也配置了同样的PW。如果本地配置的PW参数,如VC ID、VC Type、MTU、是否使能控制字等协商结果均一致,那么PE2将本端PW置为Up状态。
PE1收到来自PE2的Mapping消息,同样检查本地配置的PW参数,如果协商一致,PE1会将本端PW置为Up状态。此时PE1和PE2的动态PW建立完成。
PW建立以后,PE1和PE2通过Notification消息来通报彼此的状态。
当PW的AC端口Down或者Tunnel Down的时候,Martini和PWE3的处理有所不同:
- Martini协议的处理是发送Withdraw报文,拆除PW连接,这样等AC变为Up或者Tunnel变为Up的时候,需要重新进行一轮协商过程,以便建立连接。
- PWE3增加了Notification信令,协议的处理是发送Notification报文给对端,通知对端当前处于不能转发数据的状态,但PW连接本身并不拆除,等AC变为Up或者Tunnel变为Up的时候再用Notification报文知会对端可以转发数据。
只有当PW的配置被删除或者信令协议中断(如公网Down掉、PW隧道Down掉等)时,两端PE才拆除PW。这样的好处是在网络不稳定时,Notification报文可以避免由于链路震荡导致PW的反复建立和删除。
如图5-5所示为PW拆除过程:
- PE1上PW的配置被删除后,PE1删除本地VC标签,并发送Withdraw和Release消息给PE2。
Withdraw消息用于通知对端撤销标签,Release消息是对Withdraw的回应报文,通知发送Withdraw消息的对端设备撤销标签。为了更快的删除PW,PE1采用Withdraw和Release消息连续发送的方式。
- PE2收到PE1的Withdraw与Release消息后,删除远端VC标签,并发送Release消息给PE1。
- PE1收到PE2的Release消息后,PE1与PE2完成对PW的删除。
如图5-6所示,多跳PW与单跳PW相比,两个PE之间多了一个或者多个SPE。PE1与PE2分别与SPE建立连接,SPE将两段PW连接在一起。
在连接建立的信令协商过程中,UPE1发给SPE的Mapping报文中携带的参数,SPE会将其转发给UPE2;同样UPE2的参数也通过Mapping报文带给SPE后,由SPE转发给UPE1,两端的参数协商一致后,PW状态即为Up。Release、Withdraw和Notification报文同Mapping报文一样也是逐段传递。