mpls

Document Sample
mpls Powered By Docstoc
					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 Ingress Node   MPLS Egress 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.


          Packet    L3   L2    L1
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.
            Label               Set of NHFLE




   Exactly one element of set must be chosen before
    the packet is forwarded.
      It is used to load balance over multiple equal-cost

       paths.
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
                          (VPI,VCI,Port)        Port 1            Port 1
                          2,1,1 -> 3,1,2       (2,1)

                          2,1,2 -> 1,1,2
                          2,2,2 -> 1,2,2
                                                                   (3,1)
                                                (2,1)
   Port 1                            Port 1
                                                                   (1,1)
                                    (2,1)
(1,1)
                                                (2,2)              (1,2)
(1,2)                               (2,2)
(1,3)                                              Port 2         Port 2
                                     (4,1)                                          (VPI,VCI,Port)
                                                         Port 1            Port 1
(2,1)                                                                               4,1,1 -> 1,1,1
                                    (4,2)                                  (1,1)
    Port 2                            Port 2                                        4,2,1 -> 4,2,2
                                                         (4,1)
                                                                           (2,1)    1,3,2 -> 2,1,1
                                                                                    1,9,2 -> 3,1,1
             (VPI,VCI,Port)                              (4,2)
                                                                            (4,2)
             2,1,2 -> 4,2,2
                                                       (1,3)
             1,1,1 -> 2,1,1
             1,2,1 -> 2,2,1                                            Port 2
                                                       Port 2
             1,3,1 -> 4,1,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
              The LSR may swap off an
                                                                 Incoming interface and replace
              MPLS shim encoded label stack on the
                                                                 With MPLS shim header
              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

                         L2                               LSR               L4         L4

                                                                       L4

                                           L3                With label merging the no of outgoing
                  LSR
                                                             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.
Applications of MPLS
   MPLS   and   Hop by Hop Routed Traffic
   MPLS   and   Explicitly Routed LSP
   MPLS   and   Multicast
   MPLS   and   Multi-Path Routing
Diff-Serv and MPLS
   Two major IETF standardization efforts are making IP
    QoS a reality. Sometimes perceived as rivals.
   Both are in fact complementary developments that
    approach the QoS challenge from two different
    network perspectives.
   DiffServ and MPLS are in fact independent
    developments that can function with or without each
    other's help. Neither specification requires the other,
    but MPLS networks should be able to derive QoS
    status from DiffServ traffic.
   There is hope that they can be used together as
    access (DiffServ) and backbone (MPLS) counterparts.
Diff-Serv
   DiffServ is a layer 3 solution that addresses QoS
    requirements in a connectionless environment.
   Its main purpose is to standardize a set of QoS
    building blocks with which providers can fashion QoS-
    enhanced IP services.
   DiffServ QoS is meant to be implemented at the
    network edge by access devices and then supported
    across the backbone by DiffServ-capable routers.
   Since it operates purely at layer 3, DiffServ can be
    deployed on any layer 2 infrastructure. DiffServ and
    non-DiffServ routers and services can be mixed in the
    same environment.
Conclusion
   MPLS is a strategy for streamlining the backbone
    transport of IP packets across a layer 3/layer 2
    network. Although it does involve QoS issues, that is
    not its main purpose.
   MPLS is focused mainly on improving internet
    scalability through better traffic engineering.
   MPLS will help to build backbone networks that
    better support QoS traffic, but it entails significant
    changes in existing network architecture.
Conclusion
   MPLS is essentially a hybrid of the network (layer 3)
    and transport (layer 2) structure, and may represent
    an entirely new way of building IP backbone
    networks.
   In the near term, DiffServ may have more relevance.
    It tackles IP QoS head-on, and it provides
    mechanisms for achieving both access QoS and
    backbone QoS across the network.
   The specification is drafted, early implementations of
    the technology have proven stable for over half a
    year, and standards-based products will soon be
    available.
Conclusion
   MPLS, on the other hand, is not expected to reach
    RFC status until some time later this year. Backed by
    established and emerging players, such as Cisco
    systems, inc. And juniper networks, inc., MPLS
    should become a major element of internet backbone
    growth next year.




                                                     56

				
DOCUMENT INFO