Overview
Multi-Protocol Label Switching (Multi-Protocol Label Switching, MPLS) is a new generation IP high-speed backbone network switching standard, proposed by the Internet Engineering Task Force (IETF).
MPLS uses labels to forward data. When a packet enters the network, a short tag with a fixed length is assigned to it, and the tag is encapsulated with the packet. During the entire forwarding process, the switching node only forwards according to the tag. MPLS is independent of Layer 2 and Layer 3 protocols, such as ATM and IP. It provides a way to map IP addresses to simple fixed-length labels for different packet forwarding and packet switching technologies. It is an interface to existing routing and switching protocols, such as IP, ATM, Frame Relay, Resource Reservation Protocol (RSVP), Open Shortest Path First (OSPF), and so on.
In MPLS, data transmission occurs on the label switching path (LSP). LSP is a sequence of labels for each node along the path from the source to the terminal.
MPLS is mainly designed to solve network problems, such as network speed, scalability, quality of service (QoS) management, and traffic engineering. It also solves broadband management and service request issues for the next-generation IP hub network. In this part, we mainly focus on the general MPLS framework. For specific contents of LDP, CR-LDP, and RSVP-TE, please refer to individual documents.
Multi-protocol label switching MPLS was originally proposed to improve forwarding speed. Compared with the traditional IP routing method, it only analyzes the IP header at the network edge during data forwarding, instead of analyzing the IP header at each hop, thereby saving processing time. MPLS originated from IPv4 (Internet Protocol version 4), and its core technology can be extended to a variety of network protocols, including IPX (Internet Packet Exchange), Appletalk, DECnet, CLNP (Connectionless Network Protocol), etc. “Multiprotocol” in “MPLS” refers to support for multiple network protocols.
MPLS architecture diagram
Header structure
MPLS header length 32bit
20Bit is used as the label (Label) Label value to transfer the actual value of the label. When a label data packet is received, the label value at the top of the stack can be found, and the system knows: A, the next hop that the data packet will be forwarded; B, the possible operations on the label stack before forwarding, such as returning to The label enters the top of the stack while pushing a label out of the stack; or returns to the label top entry and pushes one or more labels onto the stack.
3 Bit EXP, which is not specified in the agreement and is usually used as COS
One Bit S is used to identify whether it is the bottom of the stack, indicating that the MPLS label can be nested.
8 Bit TTL
MPLS terminology
It is a relatively short, fixed-length, and usually only has a local significance of identification, these labels are usually located between the data link layer encapsulation header and the three-layer data packet, the label is mapped to FEC through the binding process.
FEC:
Forwarding Equivalence Class, FEC (Forwarding Equivalence Class), is a group of data packets processed in an equivalent manner during the forwarding process. FEC is an important concept in MPLS
MPLS is actually a classified forwarding technology. It groups packets with the same forwarding processing method (the same destination, the same forwarding path, or the same service level, etc.) into one category, called forwarding equivalence class. Packets belonging to the same forwarding equivalence class will get the same treatment in the same MPLS network. In general, FEC is divided according to the network-layer destination address of the packet. The way of FEC division is very flexible. Any combination of address, source port, destination port, protocol type, VPN, etc.
Subtlety
IP packets with different destination addresses are divided into the same FEC at the ingress and have the same label. In this way, at the LSR, it is only necessary to quickly exchange according to the label. For traditional IP routing, the actual at each hop The above is a process of redefining FEC. If a router also uses the cache function for IP routing and label switching, if a router also uses the cache function for IP routing and label switching, because, for routing, only the host route can be recorded in the cache, the entry will be very Limited, and the label corresponds to FEC, which may be a network segment, which can match a large number of packets with very few entries.
Fatal flaw
For an FEC, all devices along the way must have the same route (prefix and mask must be exactly the same) to build an LSP.
In other words, all devices that use MPLS forwarding cannot perform route aggregation for the routes that will use label forwarding.
LSP:
Label switching channel. An FEC data stream is given certain labels at different nodes, and data forwarding is performed according to these labels. The path taken by the data flow is the LSP.
LSR:
Label Switching Router, LSR is the core switch of the MPLS network, it provides label switching and label distribution functions, all LSRs have MPLS capabilities. The network formed by LSR is called the MPLS domain, which provides label switching and label distribution functions. Process: To build an IP routing table, all devices in the MPLS network will run IP routing protocols on their control plane. MPLS devices with IP packet forwarding functions will use the IP routing table to build an IP forwarding table (also known as a forwarding information base) (FIB)). After the IP routing table is constructed, the LSR will assign (or assign) MPLS labels to the routing entries (IP prefixes) contained in the IP routing table, and propagate the label distribution information to neighboring MPLS devices through the label distribution protocol (LDP).
LER:
Label Switching Edge Router, at the edge of the MPLS network, the traffic entering the MPLS network is divided into different FECs by the LER, and the corresponding labels are requested for these FECs. It provides traffic classification and label mapping, and label removal functions.
MPLS network components
Ingress
The packet entry LER is responsible for adding labels to packets entering the MPLS domain
Transit
The LSR inside the MPLS domain transmits the packet to the egress LER along the LSP composed of a series of LSRs according to the label.
Transit performs MPLS forwarding based on the label attached to the packet, and the LER at the edge of the MPLS domain is responsible for the conversion of MPLS and IP technology
Egress node
The packet exit LER is responsible for stripping the label in the packet and forwarding it to the destination network.
Comments