MPLS Multiprotocol Label Switching
Total Page:16
File Type:pdf, Size:1020Kb
MPLS Multiprotocol Label Switching Prof. Rami Langar LIGM/UPEM [email protected] http://perso.u-pem.fr/~langar 1 Outline o Routing vs. switching o Label Switching properties o IPOA o IP switching o Multi Protocol Label Switching (MPLS) o Label Distribution Protocol o Traffic Engineering 2 Two forwarding paradigms o Station breaks long message into packets o Packets sent one at a time to the network o Packets handled in two ways n Datagram (e.g., IP routing) n Virtual Circuit (e.g., ATM) 3 Datagram (e.g., IP routing) o Each packet treated independently o Packets can take any practical route o Packets may arrive out of order o Packets may go missing o Up to receiver to re-order packets and recover from missing packets 4 Conventional IP routing o Router have to execute a forwarding decision for every received IP packet : n Routing algorithm execution (performed in advance), n Packet reception from the input queue, n Header analysis (Checksum, TTL, @IP, …), n Access control (optional), n Send the packet to the output queue. => Important queue congestion if all packets are routed in the same way. 5 Conventional IP routing 1. Remove a packet 2. Check for sanity, 4. Place packet on from an input decrement TTL correct output queue field queue Forwarding Process 3. Match packet’s If queues If queues destination to get full, just get full, just a table entry drop packets! drop packets! IP Forwarding Table Router 6 Conventional IP routing o Advantages: n IP is the first defined and used protocol, n IP is the only protocol for global Internet working o Deployed in all machines since mid 90’s n Connectionless: Simplicity, no need for signalization n Flexibility (adaptive routing), o Disadvantages: n No QoS support, n High routing table size n Large IP Header (At least 20 bytes) n Poor performance (in early 2000’s 105 packets/s VS 108 today) n Usually designed to obtain shortest path, o Do not take into account additional metrics. 7 Virtual Circuit (e.g., ATM) o Preplanned route established before any packets sent o Each packet contains a virtual circuit identifier instead of destination address o No routing decisions required for each packet o Three steps: n Establishment of the connection, n Data transfer, n Connection release. Virtual Circuit 8 ATM o Advantages : n High performance – 20 millions of cells/s, n Connection mode – Supports QoS, n Fast packet switching with fixed length packets (cells) n Integration of different traffic types (voice, data, video) o Disadvantages: n Complex (More complex than routing), n Expensive n Need for signaling (Q.2931 for UNI and PNNI within ATM core networks) n Additional delay to establish the virtual path n Not widely adopted. 9 Best of both worlds o Idea: Combine the forwarding algorithm used in ATM with IP. n The aim of IP switching is to combine L3 functionalities (simplicity, flexibility, …) with the high performance of L2 (i.e., switching is faster than routing). n The gain is considerable: in switching mode, the delay is 10 microsec ; 10 to 15 higher in routing mode. Instead of having a rate of 300 000 packets/s with a classic router, we obtain 3 to 15 millions of packets/s with a switch. PACKET ROUTING HYBRID CIRCUIT SWITCHING IP ?? ATM 10 Solutions o First approach : IP over ATM (the oldest solution) n Supports TCP/IP applications, which are highly used before the development of ATM. n Allows interoperability between ATM networks and existing networks that use IP. o LAN Emulation (ATM Forum) o MPOA (ATM Forum) o IPOA (IETF) o Second approach : Label switching o IP switching o TAG switching o MPLS (IETF) 11 IPOA o Classical IP over ATM (IETF RFC 1577 et 1483) n Interconnect several IP LANs using ATM links : conversion of IP @ to ATM @ and vice-versa, n LAN stations form Logical IP subnets (LIS), n Use of AAL5 to encapsulate IP packets within the ATM layer, n Use of ATMARP servers for the translation between IP @ and ATM @, n Then, establishment of VC between stations, n No possible broadcast within a LIS. 12 Pre-MPLS o IP-switching: n Proposed by IPSILON (Nokia) in 1994 and based on ATM, n Route determined by IP flow, n IP-switch nodes replace IP routers: first packet routed normally to determine the VP. Then, packets within the same flow are switched, n IP switch is an hybrid IP router/ATM switch. o TAG-switching: n Proposed by CISCO in 1997, n Support other L2 technologies: ATM, Ethernet, PPP, … n Support resource reservation using RSVP n Basis for MPLS: Label switching. 13 MPLS o Multi-Protocol Label Switching : IETF Working Group established in April 1997. o Objective: develop a standard for IP switching and working on different types of networks such as ATM, Frame Relay, Ethernet, etc. o Integrate the proposals of different companies: n TAG switching : CISCO (Ethernet), n IP switching : IPSILON (IP over ATM), n ARIS : IBM (IP over ATM, FR) o Independent from routing protocols (RIP, OSPF, …), o Can be used with IPv4 and IPv6. 14 MPLS : Bases o Multi Protocol Label Switching is arranged between Layer 2 and Layer 3 15 MPLS: Principle o IP packet receives a LABEL upon the entrance in the network, o The packet is then switched based on the LABEL value, o The LABEL is changed at every hop, o And so on and so forth until the arrival at the boundary of the MPLS domain. o The label IP ‘popped’ and the IP packet is forwarded thanks to the destination IP address. 16 MPLS terminology (1) o LABEL: short and fixed-length value to identify a FEC, usually of local significance. o FEC: Forwarding Equivalence Class represents a group of packets that share the same requirements for their transport. n The assignment of a particular packet to a particular FEC is done just once (when the packet enters the network). o Label Stack: successive and ordered LABELs. o Label Switching Router (LSR): router with MPLS functionalities. o Label Edge Router (LER): resides at the edge of an MPLS network and assigns and removes the labels from the packets. o Label Switched Path (LSP): equiv. Virtual Circuit. Path through one or more LSRs at one level of hierarchy followed by packets in a particular FEC. o FTN – FEC To NHLFE Map: used for forwarding unlabeled packets. o ILM - Incoming Label Map: maps label to a set of NHLFE entries. o NHLFE - Next Hop Label Forwarding Entry: contains the information necessary to forward a packet for which a label has already been assigned: the packet's next hop address, operation (whether the MPLS header of the packet must be swapped or popped), and the label. 17 MPLS terminology (2) 18 MPLS terminology (3) 19 Ingress LER Output port, label, queuing and scheduling rules Forwarding FTN & Packet Labeling Table NHLFE Packet Context Queuing and classification scheduling Convention al IP ports MPLS IP IP payload MPLS IP Packet core header Label ports o LER terminates and originates LSP’s and performs both label based forwarding and conventional IP forwarding. o Ingress LER - labels unlabeled packets and creates an initial MPLS frame by pushing one or more MPLS label entries. o Egress LER - terminates LSP by popping the top MPLS stack entry. 20 LSR ILM & NHLFE Output Tables Ports Next hop + port Queuing and Scheduling Input MPLS MPLS Payload Ports Label o At each LSR, forwarding is done by the single index lookup into the switching table using the packet’s MPLS label. o The switching table is loaded a priori with a unique next-hop label, output port and queuing and scheduling rules. o The establishment of mapping information is responsibility of control part - done using Label Distribution Protocols 21 LSP Setup o “mpls-linux” is an open source project http://sourceforge.net/projects/mpls-linux/ o Scripts are designed to assist increating the entries in MPLS datastructures. n ./ingress.sh<label><interface><fwd_ip_add> o Updates NHLFE n ./lsr.sh<i/c_label><i/c_interface><o/g_label><o/g_interface> <fwd_ip_add> o Updates NHLFE + ILM n ./egress.sh<i/c_label><i/c_interface> o Updates ILM 22 Forwarding Equivalent Class (FEC) IP2 417 IP2 666 IP2 233 IP2 IP2 IP1 417 IP1 666 IP1 233 IP1 IP1 Packets IP1 and IP2 are forwarded in the same way --- they are in the same FEC. • FEC is a more general concept than virtual paths/channels used in ATM. All packets can be divided into subsets called FECs based on IP src @, IP dest @, IP protocol, src/dest port, etc. • FECs can be • coarse grained consisting of all the packets with same destination address • Allow the overall system of be scalable where it is useful to handle large bundle of flows as a single class of traffic • Help in rerouting in event of occurrence of a fault • fine grained as in packets belonging to a particular application running between two hosts. • Help in providing different QoS to different flows. 23 LABEL definition o LABEL is determined by the first router based on different parameters (TCP fields, IP address, etc.), o LABEL identifies a FEC : Forwarding Equivalent Class (FEC = “a subset of packets that are all treated the same way by a router”), o In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 lookup), in MPLS it is only done once at the network ingress nodes (at the edge of the network). o LABEL will be used by the internal nodes as an index in their tables to determine the next hop and the value of the next LABEL, o The concept of FECs provides for a great deal of flexibility and scalability.