570 likes | 882 Views
MPLS Architecture. Gautham Pamu CS590F - Design of MultiService Networks. Goals of MPLS. Scalability of network layer routing. Using labels as a means to aggregate forwarding information,while working in the presence of routing hierarchies. Greater flexibility in delivering routing services.
E N D
MPLS Architecture Gautham Pamu CS590F - Design of MultiService Networks
Goals of MPLS • Scalability of network layer routing. • Using labels as a means to aggregate forwarding information,while working in the presence of routing hierarchies. • Greater flexibility in delivering routing services. • Using labels to identify particular traffic which are to receive special services, e.G. QoS. • Increased performance. • Using the label-swapping paradigm to optimize network performance.
Goals of MPLS • Simplify integration of routers with cell switching based technologies. • Making cell switches behave as routers. • By making information about physical topology available to network layer routing procedures.
Motivation Behind MPLS • MPLS improves internet scalability by eliminating the need for each router and switch in a packet's path to perform traditionally redundant address lookups and route calculation. • Improves scalability through better traffic engineering. • MPLS also permits explicit backbone routing, which specifies in advance the hops that a packet will take across the network. • This should allow more deterministic, or predictable, performance that can be used to guarantee QoS.
Introduction to MPLS • These paths function at layer 3 or can even be mapped directly to layer 2 transport such as ATM or frame relay. • Explicit routing will give IP traffic a semblance of end-to-end connections over the backbone. • The MPLS definition of IP QoS parameters is limited. • Out of 32 bits total, an MPLS label reserves just three bits for specifying QoS.
Introduction to MPLS • Label-switching routers (LSRs) will examine these bits and forward packets over paths that provide the appropriate QoS levels. But the exact values and functions of these so-called 'experimental bits‘ remain to be defined. • The MPLS label could specify whether traffic requires constant bit rate (CBR) or variable bit rate (VBR) service, and the ATM network will ensure that guarantees are met.
MPLS Architecture MPLS Egress Node MPLS Ingress Node
Labels • A label is short, fixed length physically continuous identifier which is used to identify a FEC ( forwarding equivalence class), usually of local significance. • Ru can transmits a packet labeled L to Rd, if they can agree to a binding between label L and FEC F for packets moving from Ru to Rd. • Ru (upstream LSR) Rd (downstream LSR with respect to a given binding). • L becomes Ru’s “outgoing label” representing FEC F, and L becomes rd’s “incoming label” representing FEC F. • Rd must make sure that the binding from label to FEC is one-to-one.
Labels • Rd must not agree with Ru1 to bind L to FEC F1, while agreeing with some other LSR Ru2 to bind L to a different FEC F2, unless rd can always tell, when it receives a packet with incoming label L, whether the label was put on the packet by Ru1 or Ru2. Ru1 L for FEC F1 Rd Ru2 L for FEC F2
Labeled Packet • A packet into which a label has been encoded. • The label resides in an encapsulation header which exists specifically for this purpose. • Or the label may reside in a existing data link or network layer header. • The particular encoding technique which is used must be agreed to by both the entities which encodes the label and the entity which decodes the label.
Label Assignment and Distribution • The decision to bind a particular label L to a particular FEC F is made by the LSR which is downstream with respect to that binding. • The downstream LSR informs the upstream LSR of the binding. • The labels are ‘downstream assigned’ and label binding are distributed in the ‘downstream to upstream’ direction.
Label Distribution Protocols • It is set of procedures by which one LSR informs another LSRs of the bindings (label/FEC) it has made. • Two LSRs which use a distribution protocol to exchange label/FEC binding information are known as “label distributing peers” with respect to the binding information they exchange. • There exists many different distribution protocols ( [MPLS- BGP], [MPLS-RSVP], [MPLS-RVSP-TUNNELS], [MPLS-CR-LDP]).
Unsolicited Downstream Vs. Downstream-on-demand • Downstream-on-demand label distribution. • An LSR explicitly request (a label binding for that FEC ),from its next hop for a particular FEC. • Unsolicited downstream label distribution. • LSR distribute bindings to LSRs that have not explicitly requested them. • Both these label distribution techniques can be used in the same network at the same time. • Which protocol is provided by the MPLS implementation depends on the characteristics of the interfaces which are supported by a particular implementation.
Label Retention Mode • An LSR Ru receives a label binding for a particular FEC from an LSR Rd, even though Rd is not Ru’s next hop. Ru then has the choice of whether to keep track or discard it. • Liberal label retention mode. • It maintains the bindings. • Allows for quicker adaptation to routing changes. • Conservative label retention mode. • It discards such bindings. • Requires an LSR to maintain many few labels.
The Label Stack • Label stack carries a number of labels organized as a last-in, first out stack. • The processing is always based on the top label. • An unlabeled packet can be thought as a packet whose label stack is empty. L2 L1 Packet L3
NHLFE • NHLFE (Next Hop Label Forwarding Entry) is used when forwarding a labeled packet. • It contains the following information. • The packet’s next hop. • The operation to perform on the packet’s label stack. • Replace the label at the top of the label stack with a specified new label. • Pop the label stack. • Replace the label at the top of the label stack with a specified new label, and then push one or more specified new labels onto the label stack.
Incoming Label Map (ILM) • Maps each incoming label to a set of NHLFEs. • Used when forwarding packets that arrive as labeled packets. • Exactly one element of set must be chosen before the packet is forwarded. • It is used to load balance over multiple equal-cost paths. Set of NHFLE Label
FEC-to-NHFLE Map (FTN) • FTN maps each FEC to a set of NHFLEs. • It is used when forwarding packets that arrive unlabeled, but are labeled before being forwarded. Set of NHFLE FEC
Label Swapping • In order to forward a labeled packet, a LSR examines the label at the top of the label stack. It uses the ILM to map this label to an NHLFE. • Using the information in the NHFLE, it determines where to forward the packet, and performs an operation on the packet’s label stack. It then encodes the new label stack into the packet, and forwards the result.
Label Swapping • In order to forward an unlabeled packet, a LSR analyzes the network layer header, to determine the packet’s FEC. It then uses FTN to map this label to an NHFLE. • Using the information in the NHFLE, it determines where to forward the packet, and performs an operation on the packet’s label stack. It then encodes the new label stack into the packet, and forwards the result.
Uniqueness of Labels • A given LSR Rd may bind label L to FEC F1, and distribute that binding to label distribution peer Ru1. Rd may also bind a label to FEC F2, and distribute that binding to label distribution peer Ru2. If RD can tell when it receives a packet whose top label is L, whether the label was put there by RU1 or RU2, then the architecture does not require that F1==F2. • Rd may be using different label space for the labels it distributed to Ru1 than to Ru2.
LSP, LSP Ingress, LSP Egress • A ‘label switched path (LSP) of level m’ for a particular packet P is a sequence of routers. • <R1, …., Rn> • With following properties • R1, the “LSP ingress”, is an LSR which pushes a label onto P’s label stack, resulting in a label stack of depth m. • For all I, 1< I < n, P has a label stack of depth m when received by LSR Ri. • At no time during P’s transit from R1 to r[n-1] does it label stack ever have a depth of less than m.
LSP, LSP Ingress, LSP Egress • A ‘label switched path (LSP) of level m’ for a particular packet P is a sequence of routers. • Which begins with an LSR ( an “LSP ingress”) that pushes on a level m label. • All of whose intermediate LSRs make their forwarding decision by label switching on a level m label. • Which ends ( at an “LSP egress”) when a forwarding decision is made by label switching on a level m-k label, where k > 0 or when a forwarding decision is made by ‘ordinary’, non-MPLS forwarding procedures.
Penultimate Hop Popping • If <R1, …, Rn> is level m LSP for packet P, P may be transmitted from r[n-1] to Rn with a label stack of depth m-1. That is, the label stack may be popped at the penultimate LSR of the LSP, rather than at the LSP egress. • Once r[n-1] has decided to send the packet to Rn, the label no longer has any function, and need no longer be carried. • Allows the egress to do a single lookup, and also requires only a single lookup by the penultimate node. • In this case, LSP egress need not even be an LSR.
Penultimate Hop Popping • There may be situations when penultimate hop popping is not desirable. • Therefore the penultimate node pops the label stack only if this is specifically requested by the egress node. • Or • If the next node in the LSP does not support MPLS.
LSP Next Hop • The LSP next hop for a particular labeled packet in a particular LSR is the LSR which is the next hop, as selected by the NHFLE entry used for forwarding that packet. • The LSP next hop for a particular FEC is the next hop as selected by the NHFLE entry indexed by the label which corresponds to that FEC. • The LSP next hop may differ from the next hop which would be chosen by the network layer routing algorithm.
Invalid Incoming Labels • What should an LSR do if it receives a labeled packet with a particular incoming label, but has no binding for that label ? • It must be discarded. • It is not safe to strip off the label and the packet is forwarded as an unlabeled packet. • It could cause a loop.
Independent LSP Control • Independent LSP control – each LSR, upon noting that it recognizes a particular FEC, make an independent decision to bind a label to that FEC and to distribute that binding to its label distribution peers. • Similar to conventional IP datagram routing, where each node makes an independent decision as to how to treat each packet, and relies on the routing algorithm to converge rapidly so as to ensure that each datagram is correctly delivered.
Ordered LSP Control • Ordered LSP Control – an LSR only binds a label to a particular FEC if it is the egress LSR for that FEC, or if it has already received a label binding for that FEC from its next hop for that FEC. • To ensure that traffic in a particular FEC follow a path with some specified set of properties, ordered control must be used. • It has to be initiated either by the egress or the ingress LSR.
LSP Control • To have ordered control – all LSRs in an LSP should use ordered control otherwise the overall effect on the network behavior is largely that of independent control, since one cannot be sure that an LSP is not used until it is fully setup. • Both methods interoperate. • A given LSR needs support of only one or other.
Aggregation • In MPLS Domain, all the traffic in a set of FECs might follow the same route. • Example – a set of distinct address prefixes might all have the same egress node. In such case, the union of those FECs it itself a FEC. • The procedure of binding a single label to a union of FECs which is itself a FEC, and applying that label to all traffic in the union is known as Aggregation. • It reduces the no of labels and reduces the amount of label distribution control traffic needed.
Whose Granularity Is Used ? • In ordered control – each LSR should adopt, for a given set of FECs, the granularity used by its next hop for those FECs. • In independent control – it is possible that there will be two adjacent LSRs, Ru and Rd, which aggregate some of FECs differently.
Granularity of Aggregation • If Ru has finer granularity than Rd, this does not cause a problem. • Ru distribute more labels for that set of FECs than Rd does. This means that when Ru needs to forward labeled packets in those FECs to Rd, it may withdraw the set of n labels into m labels, where n > m. Or it may with draw the set of n labels it has distributed and then distribute a set of m labels.
Granularity • If Ru has coarser granularity than Rd, it has two choices. • It may adopt Rd’s finer level of granularity, This would require it to withdraw m labels it has distributed and distribute n labels. • It may simply map its m labels into a subset of Rd’s n labels, if it can determine that this will not produce the same routing.
Route Selection • Route selection refers to the method used for selecting the LSP for a particular FEC. • Hop by Hop Routed LSP – each node independently choose the next hop for that FEC. • Explicitly routed LSP – each LSR does not independently choose the next hop, rather, a single LSR, generally the LSP ingress or the LSP egress, specifies several of the LSRs in the LSP.
Advantages of Explicit Routing • It is useful for policy routing and traffic engineering. • The explicit route has to be specified at the time that labels are assigned, but the explicit route does not have to be specified with each IP packet. • It makes MPLS explicit routing much more efficient than the alternative of IP source routing.
Lack of Outgoing Label • If a labeled packet reaches an LSR at which the ILM does not map the packet’s incoming label into an NHFLE, even though the incoming label is valid. • Discard the packet to be safe • It is unsafe to strip off the label stack and attempt to forward the packet further via conventional forwarding, based on its network layer header.
TTL • Provides some level of protection against forwarding loops that exist due to misconfigurations or due to failure or slow convergence of the routing algorithm. • It also supports traceroute commands and multicast scoping. • The MPLS label values are carried in an MPLS-specific “shim” header. • If the MPLS labels are carried in an L2 header, such as ATM header or a frame relay
Loop Control • On a non-TTL LSP Segment, TTL cannot be used to protect against forwarding loops. • It depends on the hardware used to provide the LSR functions along the non-TTL LSP segment. • Example : ATM hardware is used to provide MPLS switching function, with the label being carried in the VPI/VCI field. Since ATM switching hardware cannot decrement TTL, there is no protection again loops. • If it provides fair access to the buffer pools for incoming labels, this looping may not cause deleterious effect on other traffic otherwise even transient loops may cause severe degradation of the LSR’s total performance.
Label Encoding • Architecture supports different encoding techniques, the choice of encoding technique depends on the particular kind of device being used to forward labeled packets. • MPLS-specific hardware/software to forward packets. • To encode the label stack, we need to define a new protocol to be used as a “shim” between the data link layer and network layer headers. • It is protocol independent, used to encapsulate any network layer.
ATM switches as LSRs • MPLS forwarding procedures are similar to those legacy ‘label swapping’ switches such as ATM switches. • ATM switches use the input port and the incoming VPI/VCI value as the index into a switching table, from which they obtain the output port and an outgoing VPI/VCI value. • If one or more labels can be encoded directly into the fields which are accessed by these switches, then the switches can be used as LSRs.
Encoding labels in ATM Cell header • SVC Encoding • Use the VPI/VCI to encode the label which is at the top of the label stack. • Can be used in any network. • Label distribution protocol becomes ATM signaling. • ATM LSRs cannot perform ‘push’ and ‘pop’ operation on the label stack.
Encoding labels in ATM Cell header • SVP Encoding • Use VPI field to encode the label which is at the top of the label stack and VCI field to encode the second label on the stack. • Cannot always be used, when the network includes an ATM Virtual path through a non-MPLS ATM network. • Since VPI field is not necessarily available for use by MPLS.
Encoding labels in ATM Cell header • SVP Multipoint Encoding • Use the VPI field to encode the label which is at the top of the label stack, use part of the VCI field to encode the second label on the stack, if one is present, and use the remainder of the VCI to identify the LSP egress. • It enables us to do label merging, without running into cell interleaving problems, on ATM switches which can provide multipoint-to-point VPs, but which do not have the VC merge capability.
Switching Table • VPI/VCI label is looked up in switching table • Output port is chosen • VPI/VCI is relabeled • VPI/VCI has local significance only VPI.in VCI.in Port.in VPI.out VCI.out Port.out
ATM Switching example Port 1 Port 1 (2,1) (3,1) (2,1) Port 1 Port 1 (1,1) (2,1) (1,1) (2,2) (1,2) (1,2) (2,2) Port 2 (1,3) Port 2 (4,1) Port 1 Port 1 (2,1) (4,2) (1,1) Port 2 Port 2 (4,1) (2,1) (4,2) (4,2) (1,3) Port 2 Port 2
Interoperability Among Encoding Techniques • If <R1, R2, R3> is a segment of a LSP, it is possible that R1 will use one encoding of the label stack when transmitting packet P to R2 but R2 will use a different encoding when transmitting a packet P to R3. • Architecture supports LSPs with different label stack encoding used on different hops. • ATM switches have no capability of translating from one encoding technique to another.
Interoperability Among Encoding Techniques LSR with SHIM interface LSR P L1 P L2 LSR The LSR may swap off an ATM encoded label stack on the Incoming interface and replace With MPLS shim header The LSR may swap off an MPLS shim encoded label stack on the Incoming interface and replace With ATM encoded label LSR LSR with ATM Interface
Label Merging • With label merging, the no of outgoing labels per FEC need only be one. L1 for FEC F LSR L1 L2 for FEC F LSR LSR L2 L4 L4 L4 LSR L3 With label merging the no of outgoing Labels per FEC need only be one. L3 for FEC F
Merge over ATM • Methods to eliminate the cell interleaving problem in ATM. • VP Merge, using the SVP Multipoint Encoding • Multiple virtual paths are merged into a virtual path, but packets from different sources are distinguished by using different VCIs with the VP. • VC Merge • Switches are required to buffer cells from one packet until the entire packet is received.