MPLS-Part I_Introduction and Basic Operation.pdf
Document Details
Uploaded by FastPacedStarlitSky
C.I.F.P. Compostela
Full Transcript
THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I MPLS Introduction IP - The first protocol used and defined in Internet. - The only protocol for global communication in Internet. IP Cons - Not connection oriented: without QoS - Each router t...
THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I MPLS Introduction IP - The first protocol used and defined in Internet. - The only protocol for global communication in Internet. IP Cons - Not connection oriented: without QoS - Each router takes independent routing decisions based on the IP address - Large IP headers: minimum 20 Bytes - Routing defined at network level: Slower than level 2 switching - Normally the routing is designed to obtain the shortest path: Does not take other metrics into account ATM - Connection oriented: Supports QoS - Fast packet switching, these being of fixed length (cells) - Integration of different traffic types (voice, data, video) ATM Cons - Complex - Costly - Not amply adapted: ATM Forum was created to define interoperability standards in ATM systems to facilitate and extend their use. It was responsible for development of a wide range of ATM standards. Evolution In the mid 90´s the need to combine IP with ATM emerged: IP Switching (Ipsilon), Tag Switching (CISCO), Aggregate Routed-based IP Switching (IBM), etc. Challenge of telecommunication operators - Scalability in the Internet backbone. - Maintain multiple parallel network for different services is increasingly costly. - Need to provide new services over existing infrastructure - Need to give Quality of Service by application (QoS). Solution: - MultiProtocol Label Switching - First version by IETF in 2001. - Routing protocol based on labels (Label Switching). - Coexists with IP and is a better alternative than ATM. Why Multiprotocol? - With the label being independent of level 2 and level 3, it can transport ATM cells or IP packets or any other type of frame or packet. - The MPLS switching algorithm does not depend on the transported protocol. Idea: Combine the forwarding algorithm used in ATM with IP. - Defined between levels 2 and 3. Operates at layer 2.5 - MPLS is a hybrid model adopted by the IETF to incorporate the best characteristics of packet switching and circuit switching. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I MPLS benefits Have level 2 switching speed in level 3 - Provide a forwarding mechanism independent of routing tables - The routers make decisions to forward packets based on the content of a label, instead of doing a complex search based on the destination IP address - Assigns labels based on the concept of Forwarding Equivalent Classes (FEC): The considerations that determine how a packet is assigned to a FEC can become ever more and more complicated, without any impact at all on the routers that merely forward labeled packets. - Packet payloads are not examined by the forwarding routers, allowing for different levels of traffic encryption and the transport of multiple protocols. - Eliminate multiple layers: Use ATM in level 2 and IP in level 3 implicates to have an overlay model in which it is necessary to define the interrelation between both. o Resolves the problems of IP over ATM: Control and management complexity and Scalability. - Separation between routing and forwarding: Allows for development of new routing protocols without changing the forwarding techniques in each Internet router. - Facilitates the division of functionalities in the network: Processing of packets in the edges; forwarding in core nodes. Scalability. - Improves the routing scalability through the stacking of labels: Complete routing tables in the interior routers of a transit domain not necessary, only paths to the end routers needed. - Offers mechanisms to handle data flows of different granularities. - Packets can be assigned with a priority label, making Frame Relay and ATM-like quality- of-service guarantees possible o This function relates to the CoS field. - A packet can be forced to follow an explicit route rather than the route chosen by normal dynamic algorithm as the packet travels through the network o This may be done to support traffic engineering (TE, MPLS-TE), as a matter of policy or to support a given QoS. Elements of MPLS technology Forwarding Equivalent Classes (FEC) Defined in RFC 3031 Is a representation of a group of packets that share the same transport requirements. - Traffic policy that examines and classifies the traffic according to a set of conditions or attributes. - Possible classification attributes: o Combination source and destination subnetwork. o Combination destination subnetwork and application type. o Source or destination port number. - The assignment of a packet to a certain FEC is done just once when the packet enters the network. o Packets that belong to the same FEC have the same forwarding treatment. Label characteristics Consists of 20 bits that are used to identify a certain FEC. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I The MPLS header is inserted between the level 2 and level 3 headers. TC (Traffic Class) (3 bits) (previously known as EXP (Experimental)). To define COS that can influence in the discarding algorithms in the queues applied to the packets that pass through the network. S (Stack bit). Indicates the presence of a label stack. If it is 1 this indicates that it is the last label on the stack. Time to Live. Decreases each time that it passes through a MPLS node and is used to send the packets (avoid loops). Label stacking - Allows for hierarchical operation in MPLS - Facilitates the operation mode with MPLS tunnels. Only the routers at the ingress and the egress of a tunnel need to understand the underlying traffic carried over a tunnel. - Last-In First-Out buffer of labels placed by applications such as TE, VLL, VPLS, VPN. Packets that pass through one or various MPLS networks can be labelled various times as there exists a MPLS hierarchy. This can be given in different circumstances: - Network scalability hierarchically based and therefore limiting the number of LSPs (Label-Switched Paths) between routers, being these aggregation of labels. - Another application for label stacking is in the creation of MPLS VPN. MPLS Routers: Label Switch Routers Label Switch Router (LSR) refers to any router that has awareness of MPLS labels Edge LSR, Label Edge Router – LER or PE (Provider Edge router) - Found in the edges of an MPLS network. Assigns and deletes packet labels. o When the last label is deleted, the forwarding is based on the level 3 address (at the egress LER). o Ingress LER: Head-end LSR; Egress LER: Tail-end LSR. - Supports multiple ports connected to different networks (like for example Frame Relay, ATM and Ethernet). Core Label Switching Router – Core LSR or LSR or P (Provider router) - High speed routers in the core of an MPLS network. - Use the highest stacked label to determine: Next hop and The operation to be realized with the label: swap, pop, push. Position of routers in the network and MPLS Label Operations THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I MPLS architecture: Control Plane The CONTROL PLANE takes care of the routing information exchange and the label exchange between adjacent devices. The control plane builds a routing table (Routing Information Base [RIB]) based on the routing protocol. Various routing protocols, such OSPF, IGRP, EIGRP, IS-IS, RIP, and BGP, can be used in the control plane for managing L3 routing. Routing Protocol -> RIB The control plane uses a label exchange protocol to create and maintain labels internally, and to exchange these labels with other devices. The label exchange protocol binds labels to networks learned via a routing protocol and these labels are maintained in a LIB (Label Information Base) table in the control plane. Label exchange protocols include MPLS LDP, the older Cisco Tag Distribution Protocol (TDP), and BGP (used by MPLS VPN). Resource Reservation Protocol (RSVP) is used by MPLS TE to accomplish label exchange. Label exchange protocol -> LIB The control plane also builds two forwarding tables, a FIB from the information in the RIB, and a Label Forwarding Information Base (LFIB) table based on the label exchange protocol and the RIB. In most cases, the ingress router uses the FIB table for incoming packets, matching the destination IP to the best prefix (network) and assigning a label before forwarding it. The LFIB table (core LSR) includes label values and associations with the outgoing interface for every network prefix. MPLS architecture: Data Plane The DATA PLANE takes care of forwarding based on either destination addresses or labels; the data plane is also known as the forwarding plane. The data plane is a simple forwarding engine that is independent of the type of routing protocol or label exchange protocol being used. The data plane forwards packets to the appropriate interface based on the information in the LFIB or the FIB tables. MPLS Operation MPLS key points - Assignment of a particular packet to a particular FEC is done just once, as the packet enters the network. - Packets are “labeled” before they are forwarded to the next hop. - All forwarding is driven by labels. - No further analysis of the packet’s network layer header at subsequent hops. - Label is used as an index into a table which specifies the next hop and a new label. The old label is swapped with the new label and the packet is forwarded to its next hop. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I The ingress LER identifies the egress LER to which the packet must be sent and the corresponding LSP (Label Switched Path). The label value used corresponds to the LSP. - How does the ingress LER know the label value(s) to use? It is learnt through either the LDP (Label Distribution Protocol) or the RSVP-TE signaling protocols. - The ingress LER inserts an MPLS header into a packet before the packet is forwarded. Label in the MPLS header encodes the packet’s FEC. At subsequent LSRs - The label is used as an index into a label forwarding table (LFIB) that specifies the next hop and a new label. - The old label is replaced with the new label, and the packet is forwarded to the next hop. Egress LSR strips the label and forwards the packet to final destination based on the IP packet header. Label-Switched Paths - LSPs Thus, for each FEC, a specific path called Label Switched Path (LSP) is assigned - The LSP is unidirectional. The traffic in the opposite direction must take another LSP. To set up an LSP, each LSR must - Assign an incoming label to the LSP for the corresponding FEC: Labels have only local significance. - Inform the upstream node of the assigned label. - Learn the label that the downstream node has assigned to the LSP. Thus, a label distribution protocol is need so that an LSR can inform others of the label/FEC bindings it has made. A label forwarding table is constructed as the result of label distribution. MPLS provides two options to provide an LSP: - Hop to hop routing: Each LSR selects the next hop independent for each FEC. LSR supports any routing protocol (OSPF, etc.). - Explicit routing: Similar to source-routing. The ingress LSR specifies the list of nodes that the packet needs to pass through. o Advantages: ▪ Operator has routing flexibility (policy-based, QoS-based). ▪ Can use routes other than shortest path. ▪ Can compute routes based on constraints on distributed topology database (traffic engineering). Label exchange Use of a signalling protocol - IETF has not standardized one specific protocol. - LDP (Label Distribution protocol): Creates Best Effort LSPs (BE). Does not support TE (Traffic Engineering). - RSVP-TE: Permits reservation of channels for large bandwidth transmissions. o Originally for resource reservation, extended to propagate labels. Supports TE. - CR-LDP (Constraint-based routing of LSPs): LDP extended to support constraints (TE). - Label Distribution Protocol - LDP An application level protocol for the distribution of label relations in the LSR (RFC 3036). - Used to bind FECs to labels, by which LSPs are created. Forwarding tables are built, mapping the incoming label and the outgoing label. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I - LDP sessions are established between LDP pairs in the MPLS network (not necessarily adjacent) (LDP peers). - LDP-established LSPs always follow the IGP shortest patch (e.g. OSPF) o The scope of these LSPs is limited to the scope of the IGP. Cannot traverse autonomous systems boundaries. o A synchronization between IGP and LDP is needed LDP message types: - Discovery messages: announce and maintain the presence of a LSR in a network (Hello packets) - Session messages: establish, maintain and end sessions between LDP pairs. - Advertisement messages: create, change and delete maps between labels and FECs. - Notification messages: provide information of signal errors. LDP Operation Label distribution ensures that adjacent routers have a common view of FEC label bindings LDP Label Distribution Modes The Label Distribution Protocol (LDP) is used to establish MPLS transport LSPs when traffic engineering is not required. It establishes LSPs that follow the existing IP routing table, and is particularly well suited for establishing a full mesh of LSPs between all of the routers on the network. LDP can operate in many modes to suit different requirements; however the most common usage is unsolicited mode, which sets up a full mesh of tunnels between routers. - In solicited mode, the ingress router sends an LDP label request to the next hop router, according its IP routing table. This request is forwarded on through the network hop-by- hop by each router. Once the request reaches the egress router, a return message is generated. This message confirms the LSP and tells each neighbor router the label mapping to use on each link for that LSP. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I - In unsolicited mode, the egress routers broadcast label mappings for each external link to all of their neighbors. These broadcasts are fanned across every link through the network until they reach the ingress routers. Across each hop, they inform the upstream router of the label. This mode of label distribution allows an LSR to distribute bindings to upstream LSRs that have not explicitly requested them. Avoids black-holed traffic until the LSP is requested. Two modes of label distribution between R1 (Edge LSR) and R2 (LSR). In the downstream on demand distribution process, LSR R2 requests a label for the destination 172.16.10.0. R1 replies with a label mapping of label 17 for 172.16.10.0. In the unsolicited downstream distribution process, R1 does not wait for a request for a label mapping for prefix 172.16.10.0 but sends the label mapping information to the upstream LSR R2. Label Retention Modes More MPLS Features Penultimate Hop Popping (PHP) - PHP is used by MPLS Edge Routers to reduce the load of two lookups (MPLS lookup and IP lookup). - The label between the penultimate LSR and the egress LSR is called the Explicit Null Label (with a value 0). o Explicit NULL could be used in environments where you want to use MPLS QoS values that are different from IP DSCP/IP Precedence values. - The implicit null label allows an egress LSR to receive MPLS packets from the previous hop without the outer LSP label. o The egress router has to signal to its upstream neighbor (the penultimate router) that it should NOT swap the label, but it has to be popped. For this, it uses "implicit null" label (= 3) in TDP/LDP updates to signal that the top label should be popped, not rewritten. THE EVOLUTION FROM CIRCUITS TO PACKETS: MPLS I LSP Merge - Merging two LSPs (going to the same destination) reduces the number of labels being used in the network. However it makes it impossible to differentiate between traffic common from two different sources before the merging happened. - Application: protection Equal Cost Multi Path (ECMP) - As a means of potentially reducing delay and congestion, IP networks have taken advantage of multiple paths through a network by splitting traffic flows across those paths. Problems about flows arriving with jitter and out of order. None of this is in violation of the basic service offering of IP, but it is detrimental to the performance of various classes of applications. It also complicates the measurement, monitoring, and tracing of those flows.