Multi Protocol Label Switching (MPLS) is a networking architecture commonly used in telecommunications networks and has replaced traditional IP routing. Labels, or tags, are used to create a predefined path through the carrier’s wide-area network.
MPLS networks are a common offering by service providers and telephone companies worldwide and are widely deployed and often the preferred WAN connectivity option.
Data is switched from node to node through the carrier’s network from your source to destination using MPLS labels. MPLS uses predetermined paths using a label swapping push, pop, and swap method. This gives the operator significantly more flexibility and enables users to experience a greater SLA by reducing latency and jitter. RFC 3031 offers a good overview of MPLS.
MPLS is an encapsulation protocol that can be used by customers and managed service providers to establish a Direct Connect cross-connection from the AWS network to the existing enterprise WAN. Integrating AWS into existing customer MPLS networks prevents the enterprise from having to redesign its current WAN topology.
MPLS networks have several variants that support layer 3 (IP-based) or layer 2 (single broadcast domain) architectures. Layer 3 MPLS service provider networks implement routing inside their networks and appear to the customer as a WAN router. Layer 2 MPLS can be thought of as a distributed L2 Ethernet switch where the service provider forwards frames at layer 2 and does not participate in routing that is managed by the customer.
AWS does not directly offer an MPLS service. However, for the Advanced Networking exam, it is important that you understand the protocol as it is frequently used to interconnect customer networks with AWS Direct Connect facilities. However, the actual interconnect will still be Ethernet frames over a single-mode fiber connection.
The downsides of deploying MPLS networks are that they can be expensive to lease from the carriers, there are often long lead times to provision changes or add new locations, and long-term contracts are often required that may lock you into link speed commitments that make future topology changes difficult.
With traditional routing protocols, the routing tables are used to look up the next hop router to know where to send the packet based on the destination IP address. This operation is performed in every router in the path until the packet reaches its destination. Traditional routing requires each router to perform a header analysis at each hop that increases the processing needed in every router in the source-to-destination path. Since the route tables select the best path, some links may become congested, while others are lightly loaded or idle. This increases latency, degradation of throughput, and the potential for dropped packets. MPLS allows us to use traffic engineering in the routing of packets to utilize all paths available.
MPLS supports, as the name suggests, all network-layer protocols. The labels in the name tags are added to the top of the packet and are assigned when the packets enter the MPLS network. The packets are switched based on the labels and not the destination IP address. While MPLS supplements IP in the network, it does not replace it. The traffic is marked with the label and routed based on the assigned path to the destination. MPLS also has quality-of-service capabilities to identify traffic in the network, assign a classification, and forward traffic based on characteristics such as voice or video traffic taking precedence over web-based traffic. While IP routing is performed at each hop, label assignment and classification are performed only at the ingress router.