图1 MPLS L3VPN报文结构

图2 MPLS L2VPN报文结构

各种公网隧道场景下的MPLS报文携带的标签在VPN场景下,MPLS报文携带M层私网标签+N层公网隧道标签,M取决于VPN的组网场景(请参见后文),N的取值取决于公网隧道类型。
场景 | 公网隧道标签层数N |
隧道为LDP LSP | 1层公网标签 |
隧道为static LSP | 1层公网标签 |
隧道为TE隧道 | 1层公网标签 |
隧道为LDP over TE隧道,报文在TE隧道上传输时 | 2层公网标签 |
TE FRR场景下,报文在bypass隧道上传输时 | 2层公网标签 |
隧道为LDP over TE且部署TE FRR场景下,被保护接口出现故障,业务切换到bypass隧道,报文在bypass隧道上传输时 | 3层公网标签 |
图3 各种公网隧道场景下的MPLS报文格式

跨域VPN OptionA场景在各AS域内传递时,报文携带1层私网MPLS标签 + N层公网隧道标签(公网隧道标签参见上文)。
在AS域间传递时,报文不携带MPLS标签。
图4 跨域VPN OptionA场景下的报文结构

跨域VPN OptionB场景在各AS域内传递时,报文携带1层私网MPLS标签 + N层公网隧道标签(公网隧道标签参见上文)。
在AS域间传递时,报文携带1层私网MPLS标签。
图5 跨域VPN OptionB场景下的报文结构

跨域VPN OptionC场景- 在首发的AS域内传递时,报文携带1层私网标签 + 1层BGP标签 + N层公网隧道标签
- 在AS域间传递时,报文携带1层私网标签+1层BGP标签
- 在第2个AS域间传递时,报文携带1层私网标签+ N层公网隧道标签
图6 跨域VPN OptionC场景下的报文结构

HoVPN/HVPLS场景- 核心层传递时,报文携带1层内层标签+N层公网隧道标签
- UPE和SPE之间传递时,报文携带1层内层标签
图7 跨域VPN OptionC场景下的报文结构

运营商的运营商CSC(Carriers' Carrier)场景与普通BGP/MPLS IP VPN相比,运营商的运营商的实现关键在于一级运营商CE接入到一级运营商PE这一部分。而二级运营商可能只是普通SP,也可能是BGP/MPLS IP VPN服务提供商。
- 二级运营商是普通SP时,需要在一级运营商CE之间建立BGP会话交换外部路由。二级运营商内部通过IGP或BGP扩散二级运营商的外部路由。二级运营商用户侧PE可以不部署MPLS。
- 二级运营商是BGP/MPLS IP VPN服务提供商时,其PE也需要运行MPLS,与一级运营商CE之间运行IGP和LDP。二级运营商PE之间通过MP-BGP会话交换外部路由。
图8 运营商的运营商场景(二级运营商为普通SP)

图9 运营商的运营商场景(二级运营商也为MPLS VPN SP)

报文示例图10 MPLS L2VPN报文

参考标准
标准 | 描述 |
RFC 3031 | Multiprotocol Label Switching Architecture |
RFC 3032 | MPLS Label Stack Encoding |
RFC 3034 | Use of Label Switching on Frame Relay Networks Specification |
RFC 3035 | MPLS using LDP and ATM VC Switching |
RFC 2547 | BGP/MPLS VPNs |
RFC 4090 | Fast Reroute Extensions to RSVP-TE for LSP Tunnels |
RFC 3107 | Carrying Label Information in BGP-4 |