MPLS Architecture 1 MPLS Network Model Internet LER IP LER LSR LSR MPLS LSR MPLS LSR LER LSR = Label Switched Router LER = Label Edge Router IP 2 MPLS Benefits Comparing MPLS with existing IP core and IP/ATM technologies, MPLS has many advantages and benefits: • The performance characteristics of layer 2 networks • The connectivity and network services of layer 3 networks • Improves the price/performance of network layer routing • Improved scalability 3 MPLS Benefits (cont’d) • Improves the possibilities for traffic engineering • Supports the delivery of services with QoS guarantees • Avoids need for coordination of IP and ATM address allocation and routing information 4 Necessity of L3 Forwarding • For security – To allow packet filtering at firewalls – Requires examination of packet contents, including the IP header • For forwarding at the initial router - used when hosts don’t support MPLS • For Scaling – Forward on a finer granularity than the labels can provide 5 MPLS Architecture • Down stream label assignment for unicast traffic – On demand – Unsolicited • Path selection – Hop by hop – Explicit • Ordered vs. independent control • Loop detection and prevention mechanisms 6 Label Distribution Protocol (LDP) • Set of procedures used by LSRs to establish LSPs • Mapping between network-layer routing information directly to data-link layer switched paths • LDP peers: – Two LSRs which use LDP to exchange label/stream mapping – Information exchange known as “LDP Session” 7 LDP Messages • Discovery messages – Used to announce and maintain the presence of an LSR • Session/Adjacency messages – Used to establish, maintain and terminate sessions between LDP peers • Advertisement messages – Used to create, change, and delete label mappings • Notification messages – Used to provide advisory information and to signal error information 8 Forwarding Equivalence Class (FEC) • Introduced to denote packet forwarding classes • Comprises traffic – To a particular destination – To destination with distinct service requirements 9 LSP - FEC Mapping • FEC specified as a set of two elements – IP Address Prefix - any length from 0 – 32 – Host Address - 32 bit IP address • A given packet matches a particular LSP if and only if IP Address Prefix FEC element matches packet’s IP destination address 10 Label Spaces • Useful for assignment and distribution of labels • Two types of label spaces – Per interface label space: Interface-specific labels used for interfaces that use interface resources for labels – Per platform label space: Platform-wide incoming labels used for interfaces that can share the same label space 11 LDP Discovery • A mechanism that enables an LSR to discover potential LDP peers • Avoids unnecessary explicit configuration of LSR label switching peers • Two variants of the discovery mechanism – Basic discovery mechanism: used to discover LSR neighbors that are directly connected at the link level – Extended discovery mechanism: used to locate LSRs that are not directly connected at the link level 12 LDP Discovery (Cont’d) • Basic discovery mechanism – To engage - send LDP Hellos periodically – LDP Hellos sent as UDP packets for all routers on that subnet • Extended discovery mechanism – To engage - send LDP targeted Hellos periodically – Targeted Hellos are sent to a specific address – Targeted LSR decides whether to respond or to ignore the targeted Hello 13 Session Establishment • Exchange of LDP discovery Hellos triggers session establishment • Two step process – Transport connection establishment • If LSR1 does not already have a LDP session for the exchange of label spaces LSR1:a and LSR2:b, it attempts to open a TCP connection with LSR2 • LSR1 determines the transport addresses at its end (A1) and LSR2’s end (A2) of the TCP connection • If A1>A2, LSR1 plays the active role; otherwise it is passive – Session initialization • Negotiate session parameters by exchanging LDP initialization messages 14 Label Distribution and Management • Two label distribution techniques – Downstream on demand label distribution: An LSR can distribute a FEC label binding in response to an explicit request – Downstream Unsolicited label distribution: Allows an LSR to distribute label bindings to LSRs that have not explicitly requested them • Both can be used in the same network at the same time; however, each LSR must be aware of the distribution method used by its peer 15 Label Distribution Control Mode • Independent Label Distribution Control – Each LSR may advertise label mappings to its neighbors at any time – Independent Downstream on Demand mode - LSR answers without waiting for a label mapping from next hop – Independent Downstream Unsolicited mode - LSR advertises label mapping for a FEC whenever it is prepared – Consequence: upstream label can be advertised before a downstream label is received 16 Distribution Control Mode (cont’d) • Ordered Label Distribution Control – Initiates transmission of label mapping for a FEC only if it has next FEC next hop or is the egress – If not, the LSR waits till it gets a label from downstream LSR – LSR acts as an egress for a particular FEC, if • Next hop router for FEC is outside of label switching network • FEC elements are reachable by crossing a domain boundary 17 Label Retention Mode • Conservative Label Retention Mode – Advertised label mappings are retained only if they are used for forwarding packets – Downstream on Demand Mode typically used with Conservative Label Retention Mode – Advantage: only labels required are maintained – Disadvantage: a change in routing causes delay • Liberal Retention Mode – All label mappings are retained regardless of whether LSR is next hop or not – Faster reaction to routing changes 18 Label Information Base • LSR maintains learned labels in Label Information Base (LIB) • Each entry of LIB associates an FEC with an (LDP Identifier, label) pair • When next hop changes for a FEC, LSR will retrieve the label for the new next hop from the LIB 19 Hierarchical Routing in MPLS •External Routers A,B,C,D,E,F - Talk BGP •Internal Routers 1,2,3,4,5,6 - Talk OSPF C D Domain #2 1 A B Domain #1 6 2 3 4 5 F E Domain #3 Note: Internal routers in domains 1 and 3 not shown 20 Hierarchical Routing (cont’d) • When IP packet traverses domain #2, it will contain two labels, encoded as a “label stack” • Higher level label used between routers C and D, which is encapsulated inside a lower level label used within Domain #2 • Operation at C – C needs to swap BGP label to put label that D expects – C also needs to add an OSPF label that 1 expects – C therefore pushes down the BGP label and adds a lower level label 21 Explicit Routing in MPLS • Two options for route selection: – Hop by hop routing – Explicit routing • Explicit Routing (Source Routing) is a very powerful technique – With pure datagram routing, overhead of carrying complete explicit route is prohibitive – MPLS allows explicit route to be carried only at the time the LSP is setup, and not with each packet – MPLS makes explicit routing practical 22 Explicit Routing (Cont’d) • In an explicitly routed LSP – LSP next hop is not chosen by the local node – Selected by a single node, usually the ingress • The sequence of LSRs may be chosen by – Configuration (e.g., by an operator or by a centralized server) 23 Loops and Loop Handling • Routing protocols used in conjunction with MPLS are based on distributed computation which may contain loops • Loops handling - 3 categories – Loop Mitigation/Survival – Loop Detection – Loop Prevention 24 Loop Mitigation • Minimizes the impact of loops by limiting the amount of resources consumed by the loop • Method – Based on use of TTL field which is decremented at each hop – Use of dynamic routing protocol converging rapidly to non-looping paths 25 Loop Detection • Loops may be setup but they are subsequently detected • The detected loop is then broken by dropping label relationship • Broken loops now necessitates packets to be forwarded using L3 forwarding 26 Loop Detection (Cont’d) • Method is based on transmitting a Loop Detection Control Packet (LDCP) whenever a route changes • LDCP is forwarded towards the destination until – Last MPLS node along the path is reached – TTL of the LDCP expires – It returns to the node which originated it 27 Loop Prevention • Ensures that loops are never set up • Labels are not used until it is sure to be loop free • Methods – Labels are propagated starting at the egress switch – Use source routing to set up label bindings from the egress switch to each ingress switch 28