Table of Contents MPLS Multi Protocol Label Switching (an introduction) Karst Koymans Cosmin Dumitru Informatics Institute University of Amsterdam Faster IP forwarding ATM and MPLS MPLS Operation Labels, paths and switching MPLS Control and Label Management (version 1.4, 2013/03/14 15:51:41) Thursday, March 14, 2013 IP Forwarding MPLS Applications MPLS VPN techniques ATM (Asynchronous Transfer Mode) I I Forwarding IP packets I I I I Normally done by destination IP address Routing protocols are used to distribute layer 3 information Decisions are made hop-by-hop independently I I I Connectionless operation Routing protocol should offer consistency I I I I I I Often data needs to be fragmented Switching based on labels I I Search time is ≈ O(log N) for table of size N I Limited traffic engineering options Layer 2 and layer 3 information is unrelated I I A fixed size header of 5 bytes A fixed size payload of 48 bytes Uses VCs (Virtual Circuits) between endpoints Routing tables may become very large I Each cell contains 53 bytes I Shortcomings I Uses small fixed size cells to transport data An 8-bit (UNI) or 12-bit (NNI) Virtual Path Identifier (VPI) An 16-bit Virtual Channel Identifier (VCI) Switching lookup is now O(1) Promises QoS, for instance low jitter Higher level protocols use the ATM Adaptation Layer (AAL) MPLS (Multi Protocol Label Switching) I I Defined in RFC 3031 Combine the best of both worlds I I I I Packet forwarding Circuit switching Route at the edges, switch at the core Agnostic to the protocol used at layer 2 Label Switching I I I MPLS Network Multi Protocol I I MPLS Network Uses labels instead of IP addresses Routing at the speed of switching Hybrid, “layer 2.5”, shim protocol MPLS Label (RFC 3032) LER (Label Edge Router) LSR (Label Switching Router) 0 19 20 22 23 24 Exp S Label 31 TTL I Label Edge Router I MPLS packet label fields I I Label Exp(erimental)1 S(tack) T(ime) T(o) L(ive) 1 Per router local semantics Class of Service Bottom of stack indication Incoming IP TTL Renamed to TC (Traffic Class) by RFC 5462 I Positioned at the edge of the MPLS network Adds or removes labels for incoming and outgoing traffic Also called Edge Label Switch Router (eLSR) Label Switch Router I I I Positioned in the core of the MPLS network Swaps labels and forwards packets Does not need to know about IP forwarding FEC (Forwarding Equivalence Class) and LSP (Label Switched Path) I I Mapping between previous hop (incoming port, label) and FEC I Mapping between FEC and next hop (outgoing port, label) Each router has its own LIB Forwarding Equivalence Class I I I I LIB (Label Information Base) Packets which are forwarded in the same manner Each label on a link determines a unique FEC Every FEC is associated with a certain LSP Label Switched Path I I I I 5 Incoming Port Label green red Output Port 3 1 Outgoing Port Label blue orange Control Plane I Exchange layer 3 and label information I 1. Classify into FEC green MPLS Network 4 Generates an LFIB (Label Forwarding Information Base) MPLS Separation of Control and Data 0. Receive IP packet at edge router 3 Details are implementation dependent Input Port 1 2 Hop-by-hop routing Explicit routing MPLS Operation (continued) I 2. Push (label green) 3. Swap (label green, label red) 2 I Sequence of intermediate routers on same stack depth on the path from ingress to egress router I 1 I 6 4. Swap (label red, label blue) 5. Pop (label blue) 6. Forward IP packet to destination I Several label distribution protocols (LDP, CR-LDP, RSVP-TE) Also piggybacked on routing protocols (OSPF-TE, ISIS-TE, MP-BGP) Data Plane I Switch (forward) packets based on labels I I I I I Push (ingress) Swap (intermediate) Swap and push (start LSP tunnel) Pop and swap (end LSP tunnel) Pop (egress) LDP (Label Distribution Protocol) I I UDP discovery and TCP session with peers Adjacent LSRs inform each other of the label bindings I I Downstream LSR determines the label On demand or unsolicited I An IGP protocol is configured on all LSRs I New IGP routes lead to new label bindings I Labels can be withdrawn when IGP routes are no longer valid Hard-state I I Extension of RSVP I I Unreliable delivery (protocol 46; sometimes UDP) Soft-state I Information needs to be periodically refreshed I An LSP is created by propagating an RSVP message to the endpoint I Paths are terminated if not refreshed on time Applications (2) TE (Traffic Engineering) I I I I I I Expected to work until explicitly torn down Applications (1) I RSVP-TE (Resource Reservation Protocol – Traffic Engineering) Traffic steering across network in order to fully utilize resources With the help of RSVP-TE and OSPF-TE or IS-IS-TE Full network view (OSPF, IS-IS) and extra information about link state RSPV-TE creates LSPs on demand QoS (Quality of Service) I I I Different types of service across the network Enforcing drop probability, bandwidth and delay (queueing) CoS bits or FEC (destination + class of service) I VPN (Virtual Private Network) I I I I I Private connections over shared networks Layer 2 or layer 3 based Business can choose the needed type of service Stacked labels: egress router and VPN identity LDP (layer 2) or BGP (layer 3) is used to transport label information Layer 2 VPN (1) I AToM (Any Transport over MPLS) I Transports layer 2 frames over an MPLS Network I I ATM, Frame-Relay, PPP, Ethernet Point-to-point service I I From ingress router/interface to egress router/interface Identified by using an inner label Layer 3 VPN I Uses the MP-BGP (Multi Protocol BGP) extension of BGP I Introduces the VPN-IPv4 address family I Extends the 32-bit IPv4 address with a 64-bit RD (route distinguisher) I A BGP route for VPN-IPv4 includes an MPLS label Each VPN has its own VRF (VPN Routing and Forwarding) instance I I I I Keeping separate routing tables for the VPNs Also separate from the global routing table MPLS forwarding uses stacked labels I I Outer label for LSP forwarding Inner label to differentiate between different VPNs Layer 2 VPN (2) I VPLS (Virtual Private LAN Service) I I I Transports layer 2 frames over an MPLS Network Works multipoint-to-multipoint The IP/MPLS core operates as a big virtual switch I I Outer label used for normal MPLS forwarding Inner label used for VPLS instances