Introduction to Implementation
At present, MPLS L2VPN has not formed a formal standard. The IETF ’s PPVPN (Provider-provisioned Virtual Private Network) working group has developed a number of framework drafts, the most important of which are the Martini draft and the Kompella draft:
①draft-martini-l2circuit-trans-Mpls
The Martini draft defines a method for implementing MPLS L2VPN by establishing a point-to-point link. It uses LDP (Label Distribution Protocol, Label Distribution Protocol) as the signaling protocol to transfer the VC labels of both parties, called Martini MPLS L2VPN.
②draft-kompella-ppvpn-l2vpn
The Kompella draft defines the establishment of MPLS L2VPN on an MPLS network in an end-to-end (CE to CE) manner. Currently, it uses the extended BGP (Border Gateway Protocol, Border Gateway Protocol) is a signaling protocol to publish Layer 2 reachable information and VC labels, called Kompella MPLS L2VPN.
The MPLS L2VPN service can be implemented by statically configuring the VC label. CCC (Circuit Cross-Connect) and SVC (Static Virtual Circuit) are two implementations of statically configured MPLS L2VPN.
Features and implementation
①CCC MPLS L2VPN
Unlike ordinary MPLS L2VPN, CCC uses a layer of labels to transmit user data. Therefore, the use of LCC (Label Switched Path) by CCC is exclusive. The CCC LSP is only used to transfer the data of this CCC connection. It cannot be used for other MPLS L2VPN connections, nor can it be used for MPLS L3VPN or carrying ordinary IP packets.
The biggest advantage of this method is that it does not require any label signaling to transmit Layer 2 VPN information, as long as it can support MPLS forwarding, ensuring that under any circumstances, operators can be interconnected. In addition, since the LSP is dedicated, it can provide a QoS guarantee.
There are two types of CCC connections: local connection and remote connection.
a) Local connection: A connection established between two local CEs, that is, two CEs are connected to the same PE. The role of PE is similar to that of a Layer 2 switch, which can directly complete the switch without configuring a static LSP.
b) Remote connection: The connection established between the local CE and the remote CE, that is, the two CEs are connected to different PEs, and a static LSP needs to be configured to transfer the packet from one PE to another PE.
②SVC MPLS L2VPN
SVC (Static Virtual Circuit) is also a static MPLS L2VPN. No signaling protocol is used in L2VPN information transmission.
The SVC method is very similar to the Martini MPLS L2PVN, but it does not use LDP to transmit Layer 2 VC and link information. You can configure the VC label information manually. In fact, it is a static implementation of the Martini method.
③ Martini MPLS L2VPN
Martini MPLS L2VPN focuses on establishing VC (Virtual Circuit, Virtual Circuit) between two CEs. It is more suitable for sparse layer 2 connections, such as star connections.
The Martini method uses VC-TYPE plus VC ID to identify a VC. VC-TYPE indicates the encapsulation type of VC: ATM, VLAN or PPP; VC ID is used to uniquely identify a VC. In all VCs of the same VC-TYPE, the VC ID must be unique in the entire PE.
PEs connecting two CEs exchange VC labels through LDP and bind the corresponding CEs through VC IDs. When the LSP connecting the two PEs is successfully established, and the label exchange and binding between the two parties are completed, a VC is established, and CEs can pass Layer 2 data through this VC.
In order to exchange VC labels between PEs, the Martini draft expands LDP and adds the FEC type of VC FEC (Forwarding Equivalence Class). In addition, because the two PEs that exchange VC tags may not be directly connected, the LDP must use a remote peer to establish a session (Session) and pass VC FEC and VC tags on this session.
In the Martini method, since only PE devices need to save a small amount of information such as the mapping between VC label and LSP in the operator network, P devices do not contain any Layer 2 VPN information, so they have good scalability. In addition, when a new VC needs to be added, only one unidirectional VC connection needs to be configured on the relevant PE devices at both ends, which does not affect the operation of the network.
④Kompella MPLS L2VPN
Unlike the Martini method, the Kompella MPLS L2VPN does not directly operate the connection between CE and CE but divides different VPNs between the entire operator network and numbers the CEs within the VPN. To establish a connection between two CEs, simply set the CE ID of the local CE and remote CE on the PE, and specify the Circuit ID assigned by the local CE for this connection (for example, VPI / VCI of ATM).
Kompella MPLS L2VPN uses BGP as a signaling protocol to distribute VC labels. When assigning labels, the Kompella method uses a label block method to assign labels to multiple connections at once.
The user can specify the CE range of a VPN (CE range), indicating the maximum number of CEs that can be connected to the current VPN. The system allocates one label block to this CE at a time, and the size of the label block is equal to the CE range. This method allows users to assign some additional tags to the VPN for later use. In the short term, this will cause a waste of label resources, but it will bring a great benefit, that is, it can reduce the configuration workload during VPN deployment and capacity expansion.
Suppose an enterprise VPN includes 10 CEs but considering that an enterprise will expand its business, there may be 20 CEs in the future. In this way, the CE range of each CE can be set to 20, and the system will allocate labels for the next 10 CEs in advance. In the future, when a VPN adds a CE node, the configuration modification is limited to the PE directly connected to the new CE, and other PEs do not require any modification. This makes VPN expansion very simple.
Similar to MPLS L3VPN, Kompella MPLS L2VPN also uses VPN Target to distinguish different VPNs, which makes VPN networking extremely flexible.
Comments