MPLS Architecture Overview Adopted from Stefano Previdi’s presentation 麟瑞科技 技術經理 張晃崚
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Day in the Life of a Packet
MPLS Concepts MPLS: Multi Protocol Label Switching MPLS is a layer 2+ switching Developed to integrate IP and ATM MPLS forwarding is done in the same way as in ATM switches Packet forwarding is done based on Labels
MPLS Concepts Unlike IP, classification/label can be based on: Destination Unicast address Traffic Engineering VPN QoS FEC: Forwarding Equivalence Class A FEC can represent a: Destination address prefix, VPN, Traffic Engineering tunnel, Class of Service.
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Summary
LSRs and Labels LSR: Label Switch Router Edge-LSR: LSRs that do label imposition and disposition ATM-LSR: An ATM switch with Label Switch Controller
LSRs and Labels IGP domain with a label distribution protocol An IP routing protocol is used within the routing domain (e.g.:OSPF, i-ISIS) A label distribution protocol is used to distribute address/label mappings between adjacent neighbors The ingress LSR receives IP packets, performs packet classification, assign a label, and forward the labelled packet into the MPLS network Core LSRs switch packets/cells based on the label value The egress LSR removes the label before forwarding the IP packet outside the MPLS network
LSRs and Labels Uses new Ethertypes/PPP PIDs/SNAP values/etc More than one Label is allowed -> Label Stack MPLS LSRs always forward packets based on the value of the label at the top of the stack Label = 20 bits Exp = Experimental, 3 bits S = Bottom of stack, 1bit TTL = Time to live, 8 bits Label | Exp|S| TTL
LSRs and Labels PPP Header Layer 3 Header Shim Header PPP Header(Packet over SONET/SDH) Ethernet Hdr Layer 3 Header Shim Header Ethernet FR Hdr Layer 3 Header Shim Header Frame Relay ATM Cell Header HEC DATA CLP PTI VCI GFC VPI Label HEC DATA CLP PTI VCI GFC VPI Label Subsequent cells
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Day in the Life of a Packet
Label Assignment and Distribution Labels have link-local significance Each LSR binds his own label mappings Each LSR assign labels to his FECs Labels are assigned and exchanged between adjacent neighboring LSR Applications may require non-adjacent neighbors
Label Assignment and Distribution Rtr-C is the downstream neighbor of Rtr-B for destination /24 Rtr-B is the downstream neighbor of Rtr-A for destination /24 LSRs know their downstream neighbors through the IP routing protocol Next-hop address is the downstream neighbor /24 Rtr-BRtr-ARtr-C /24 Upstream and Downstream LSRs
Label Assignment and Distribution LSRs distribute labels to the upstream neighbors /24 Rtr-B Rtr-A Rtr-C /24 Next-Hop InLab -... AddressPrefix OutI/F 1... OutLab InI/F 0... Next-Hop InLab AddressPrefix OutI/F 1... OutLab InI/F 0... Next-Hop InLab AddressPrefix OutI/F 1... OutLab -... InI/F 0... Use label 40 for destination /24 Use label 30 for destination /24 IGP derived routes Unsolicited Downstream Distribution
Label Assignment and Distribution Upstream LSRs request labels to downstream neighbors Downstream LSRs distribute labels upon request /24 Rtr-B Rtr-A Rtr-C /24 Use label 30 for destination /24 Use label 40 for destination /24 Request label for destination /24 On-Demand Downstream Distribution
Label Assignment and Distribution Liberal retention mode LSR retains labels from all neighbors Improve convergence time, when next-hop is again available after IP convergence Require more memory and label space Conservative retention mode LSR retains labels only from next-hops neighbors LSR discards all labels for FECs without next-hop Free memory and label space Label Retention Modes
Label Assignment and Distribution Label Distribution Modes Independent LSP control LSR binds a Label to a FEC independently, whether or not the LSR has received a Label the next-hop for the FEC The LSR then advertises the Label to its neighbor Ordered LSP control LSR only binds and advertise a label for a particular FEC if: it is the egress LSR for that FEC or it has already received a label binding from its next-hop
Label Assignment and Distribution Several protocols for label exchange LDP Maps unicast IP destinations into labels RSVP, CR-LDP Used in traffic engineering BGP External labels (VPN) PIM For multicast states label mapping
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Day in the Life of a Packet
Label Switch Path (LSP) LSPs are derived from IGP routing information LSPs may diverge from IGP shortest path LSP tunnels (explicit routing) with TE LSPs are unidirectional Return traffic takes another LSP LSP follows IGP shortest pathLSP diverges from IGP shortest path IGP domain with a label distribution protocol
Label Switch Path (LSP) Penultimate Hop Popping The label at the top of the stack is removed (popped) by the upstream neighbor of the egress LSR The egress LSR requests the “popping” through the label distribution protocol Egress LSR advertises implicit-null label The egress LSR will not have to do a lookup and remove itself the label One lookup is saved in the egress LSR
Label Switch Path (LSP) Penultimate Hop Popping 0 1 Summary route for / /24 Next-Hop InLabAddressPrefixOutI/FOutLabInI/F /162pop Next-Hop InLabAddressPrefixOutI/FOutLabInI/F / Egress LSR summarises more specific routes and advertises a label for the new FEC Summary route is propagate through the IGP and label is assigned by each LSR Use label “implicit-null” for FEC /16 Summary route for /16 Use label 4 for FEC / /24 Address Prefix and mask /24 Next-Hop InterfaceSerial / Serial /16...Null Egress LSR needs to do an IP lookup for finding more specific route Egress LSR need NOT receive a labelled packet
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Summary
ATM LSRs ATM switches forward cells, not packets Label Dist is Downstream on-demand, Ordered IGP label is carried in the VPI/VCI field Merging LSR: Ability to use the same label for different FECs if outgoing interface is the same Save label space on ATM-LSRs Cell interleave problem Non Merging LSR: ATM-LSR requests one label per FEC and per incoming interface (upstream neighbors) Downstream LSR may request itself new label to its downstream neighbors
ATM LSRs Non-Merging Downstream on Demand InLab AddressPrefix OutI/F OutLab InI/F IP Packet ATM cell ATM-LSR requested additional label for same FEC in order to distinguish between incoming interfaces (Downstream on Demand)
ATM LSRs VC-Merging Downstream on Demand InLab AddressPrefix OutI/F OutLab InI/F IP Packet ATM cell ATM-LSR transmitted cells in sequence in order for the downstream LSR to re-assembling correctly the cells into packets
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Summary
Loops and TTL In IP networks TTL is used to prevent packets to travel indefinitely in the network MPLS may use same mechanism as IP, but not on all encapsulations TTL is present in the label header for PPP and LAN headers (shim headers) ATM cell header does not have TTL
Loops and TTL LSRs using ATM do not have TTL capability Some suggested options: - hop-count object in LDP - Path Vector object in LDP
Loops and TTL TTL is decremented prior to enter the non-TTL capable LSP If TTL is 0 the packet is discarded at the ingress point TTL is examined at the LSP exit IGP domain with a label distribution protocol LSR-1 LSR-2 LSR-4 LSR-5 LSR- 3 LSR-6 Egress IP packet TTL = 6 Label = 25 IP packet TTL = 6 IP packet TTL = 10 LSR-6 --> 25 Hops=4 IP packet TTL = 6 Label = 39 IP packet TTL = 6 Label = 21
Agenda MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Day in the Life of a Packet
LDP Concepts Label Distribution Protocol Labels map to FECs for Unicast Destination Prefix LDP works between adjacent/non-adjacent peers LDP sessions are established between peers
LDP Messages Discovery messages Used to discover and maintain the presence of new peers Hello packets (UDP) sent to all-routers multicast address Once neighbor is discovered, the LDP session is established over TCP
LDP Messages Session messages Establish, maintain and terminate LDP sessions Advertisement messages Create, modify, delete label mappings Notification messages Error signalling
MPLS Concepts LSRs and labels Label assignment and distribution Label Switch Paths ATM LSRs Loops and TTL LDP overview Day in the Life of a Packet Agenda
Day in the life of a Packet 0 Summary route for / /24 Next-Hop InLabAddressPrefixOutI/FOutLabInI/F /162pop Next-Hop InLabAddressPrefixOutI/FOutLabInI/F / Egress LSR summarises more specific routes and advertises a label for the new FEC Summary route is propagate through the IGP and label is assigned by each LSR Use label “implicit-null” for FEC /16 Summary route for /16 Use label 4 for FEC /16 Egress LSR needs to do an IP lookup for finding more specific route /24 Address Prefix and mask /24 Next-Hop InterfaceSerial / Serial /16...Null Use label 7 for FEC /16 Next-Hop InLabAddressPrefixOutI/FOutLabInI/F / CE PE PP
Day in the life of a Packet Basic Layout
Day in the life of a Packet Database Layout
Day in the life of a Packet
Summary LSRs forward packet based on label information IP header and forwarding decision have been de-coupled for better flexibility Label information can derive from different sources IP routing protocols (destination based unicast routing) Multicast Traffic Engineering QoS VPN
Summary MPLS allows flexible packet classification and network resources optimisation Labels are distributed by different protocols LDP, RSVP, BGP, PIM Different distribution protocols may co- exist in the same LSR Label have local (LSR) significance No need for global (domain) wide label allocation/numbering