 VPN: Multiprotocol Label Switching (MPLS) is a widely used protocol for VPN in the core network. Compared to the link layer VPN, MPLS VPN is much more scalable because they are based on connectionless architecture. Each customer site requires a customer edge router connected to a provider edge router in the provider network. MPLS also has advantages of providing performance QoS guarantees. Using Layer 3 routing protocols, for example, Border Gateway Protocol (BGP), the MPLS labels are distributed across all the customer and provider edge routers. Each IP packet is pushed with an MPLS label. The intermediate routers have a forwarding table that matches the label to a specific output forwarding port. The underlying infrastructure only performs the forwarding based on the label. The mapping between label and the original IP packet is maintained at the edge. MPLS is usually referred to Layer 2.5, between the link layer and the network layer. IP VPN: IP-based VPN is implemented at the network layer either by tunneling or by network layer encryption. A tunnel connects two points of a VPN across the shared network infrastructure. The network layer packets leaving a VPN node at one end of the tunnel are appended with an outer IP header with the destination address of the other end of the tunnel. The packets are then routed based on the outer IP address through the shared network infrastructure to the other end. The outer IP header is popped at the remote VPN node and the original packet is forwarded afterward. The tunneling method can encapsulate multiple protocol types on the same infrastructure. A disadvantage of the tunneling method is the management of a large number of tunnels. The network layer VPN can also use stronger secure encryption method, such as IPSec. IPSec can encrypt and encapsulate the original IP packet at the same time. Based on the layer at which the VPN service provider's interchange VPN reachability information with customer sites, VPNs cam also be classified into three types: Layer 1 VPN (L1VPN),