What is MPLS? Where Is it Used? • Label Distribution in MPLS Networks. LDP, RSVP, BGP. • Building MPLS Based Services. VPNs. AToM. Traffic Engineering. There are lot of IP people out there who still don't like MPLS. • Many of the concepts are completely foreign to pure IP networks. • Many parts of MPLS smell like. Each router in the network makes an independent decision when forwarding packets. MPLS helps reduce the number of routing lookups, possibly changes the.
|Language:||English, German, Japanese|
|Genre:||Fiction & Literature|
|ePub File Size:||19.65 MB|
|PDF File Size:||10.57 MB|
|Distribution:||Free* [*Register to download]|
establishes label to destination network mappings. 2. Ingress label Edge Router receives packet, performs. Layer 3 value-added services, and “MPLS” packets. Definition of MPLS. • Multi Protocol Label Switching. – Multiprotocol, it supports ANY network layer protocol, i.e.. IPv4, IPv6, IPX, CLNP, etc. packets. All core routers (identified simply as LSRs) in the MPLS network forward solely based on the label. As a packet traverses the core MPLS network, core.
MPLS Implementing the technol- address field. The MPLS module will use it to push, ogy. Addison-Wesley, The other components of the  E. Rosen, Cisco Systems, A. Viswanathan, Linux networking system will not be affected by the Force10 Networks, R.
Callon, and Juniper Net- change with one exception. The Ethernet interface must works. Multiprotocol label switching architecture. Rosen, D. Tappan, G. Rekhter, Juniper Networks, D. Farinacci, since in normal operation it discards frames whose T. Li, Procket Networks, A. Mpls label stack encoding. Davie, J.
Lawrence, K. McCloghrie, E. Rosen, configurable. By example, a Linux box running as an G. Swallow, Cisco Systems, Y. Doolan, and Ennovate Networks. MPLS module. Andersson, Nortel Networks, P. Doolan, Enno- vate Networks, N. Fre- dette, PhotonEx Corp, B.
Thomas, and Cisco Systems. Ldp specification. Thomas, Cisco Systems, E. Gray, and Zaffire. Ldp applicability. Prentice Hall, Awduche, J. Malcolm, J. Agogbua, M. MPLS was created in the late s as a more efficient alternative to traditional IP routing, which requires each router to independently determine a packet's next hop by inspecting the packet's destination IP address before consulting its own routing table.
This process consumes time and hardware resources, potentially resulting in degraded performance for real-time applications such as voice and video. In an MPLS network, the very first router to receive a packet determines the packet's entire route upfront, the identity of which is quickly conveyed to subsequent routers using a label in the packet header. While router hardware has improved exponentially since MPLS was first developed -- somewhat diminishing its significance as a more efficient traffic management technology-- it remains important and popular due to its various other benefits, particularly security, flexibility and traffic engineering.
Sandwiched between Layers 2 and 3, a label is a four-byte -- bit -- identifier that conveys the packet's predetermined forwarding path in an MPLS network. Labels can also contain information related to quality of service QoS , indicating a packet's priority level. Ru then has the choice of whether to keep track of such bindings, or whether to discard such bindings.
If Ru keeps track of such bindings, then it may immediately begin using the binding again if Rd eventually becomes its next hop for the FEC in question.
If Ru discards such bindings, then if Rd later becomes the next hop, the binding will have to be reacquired. Liberal label retention mode allows for quicker adaptation to routing changes, but conservative label retention mode though requires an LSR to maintain many fewer labels. The Label Stack So far, we have spoken as if a labeled packet carries only a single label.
As we shall see, it is useful to have a more general model in which a labeled packet carries a number of labels, organized as a last-in, first-out stack. We refer to this as a "label stack".
Although, as we shall see, MPLS supports a hierarchy, the processing of a labeled packet is completely independent of the level of hierarchy. The processing is always based on the top label, without regard for the possibility that some number of other labels may have been "above it" in the past, or that some number of other labels may be below it at present.
An unlabeled packet can be thought of as a packet whose label stack is empty i. If a packet's label stack is of depth m, we refer to the label at the bottom of the stack as the level 1 label, to the label above it if such exists as the level 2 label, and to the label at the top of the stack as the level m label. It contains the following information: 1. Standards Track [Page 13] RFC MPLS Architecture January c 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.
It may also contain: d the data link encapsulation to use when transmitting the packet e the way to encode the label stack when transmitting the packet f any other information needed in order to properly dispose of the packet. In this case, the LSR would need to pop the top level label, and then "forward" the resulting packet to itself.
It would then make another forwarding decision, based on what remains after the label stacked is popped. This may still be a labeled packet, or it may be the native IP packet. This implies that in some cases the LSR may need to operate on the IP header in order to forward the packet.
It is used when forwarding packets that arrive as labeled packets. If the ILM maps a particular label to a set of NHLFEs that contains more than one element, exactly one element of the set must be chosen before the packet is forwarded.
The procedures for choosing an element from the set are beyond the scope of this document.
File Extensions and File Formats
It is used when forwarding packets that arrive unlabeled, but which are to be labeled before being forwarded. Label Swapping Label swapping is the use of the following procedures to forward a packet.
In order to forward a labeled packet, a LSR examines the label at the top of the label stack. Using the information in the NHLFE, 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. Popping the label stack would, of course, be illegal in this case.
Troubleshooting MPLS Networks .pdf - TROUBLESHOOTING MPLS...
In such cases, we may say that Rd is using a different "label space" for the labels it distributes to Ru1 than for the labels it distributes to Ru2. Standards Track [Page 15] RFC MPLS Architecture January In general, Rd can only tell whether it was Ru1 or Ru2 that put the particular label value L at the top of the label stack if the following conditions hold: - Ru1 and Ru2 are the only label distribution peers to which Rd distributed a binding of label value L, and - Ru1 and Ru2 are each directly connected to Rd via a point-to- point interface.
When these conditions hold, an LSR may use labels that have "per interface" scope, i. We may say that the LSR is using a "per-interface label space". When these conditions do not hold, the labels must be unique over the LSR which has assigned them, and we may say that the LSR is using a "per- platform label space.
This prohibition holds even if the bindings are regarded as being at different "levels of hierarchy". In MPLS, there is no notion of having a different label space for different levels of the hierarchy; when interpreting a label, the level of the label is irrelevant. The question arises as to whether it is possible for an LSR to use multiple per-platform label spaces, or to use multiple per-interface label spaces for the same interface.
This is not prohibited by the architecture.
However, in such cases the LSR must have some means, not specified by the architecture, of determining, for a particular incoming label, which label space that label belongs to. For example, [ MPLS-SHIM ] specifies that a different label space is used for unicast packets than for multicast packets, and uses a data link layer codepoint to distinguish the two label spaces. At no time during P's transit from R1 to R[n-1] does its label stack ever have a depth of less than m; 4. This may be because: a the decision is not based on the label stack or the network layer header at all; b the decision is based on a label stack on which additional labels have been pushed i.
A consequence or perhaps a presupposition of this is that whenever an LSR pushes a label onto an already labeled packet, it needs to make sure that the new label corresponds to a FEC whose LSP Egress is the LSR that assigned the label which is now second in the stack. Since data travels along this tree towards the root, this may be called a multipoint-to-point tree. Penultimate Hop Popping Note that according to the definitions of section 3.
From an architectural perspective, this is perfectly appropriate. The purpose of the level m label is to get the packet to Rn. 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. There is also a practical advantage to doing penultimate hop popping. If one does not do this, then when the LSP egress receives a packet, it first looks up the top label, and determines as a result of that lookup that it is indeed the LSP egress. Then it must pop the stack, and examine what remains of the packet.
If there is another label on the stack, the egress will look this up and forward the packet based on this lookup. If there is no other label on the stack, then the packet is forwarded according to its network layer destination address. Note that this would require the egress to do TWO lookups, either two label lookups or a label lookup followed by an address lookup.
If, on the other hand, penultimate hop popping is used, then when the penultimate hop looks up the label, it determines: - that it is the penultimate hop, and - who the next hop is. The penultimate node then pops the stack, and forwards the packet based on the information gained by looking up the label that was previously at the top of the stack. When the LSP egress receives the Rosen, et al. Standards Track [Page 18] RFC MPLS Architecture January packet, the label which is now at the top of the stack will be the label which it needs to look up in order to make its own forwarding decision.
Or, if the packet was only carrying a single label, the LSP egress will simply see the network layer packet, which is just what it needs to see in order to make its forwarding decision. This technique allows the egress to do a single lookup, and also requires only a single lookup by the penultimate node. The creation of the forwarding "fastpath" in a label switching product may be greatly aided if it is known that only a single lookup is ever required: - the code may be simplified if it can assume that only a single lookup is ever needed - the code can be based on a "time budget" that assumes that only a single lookup is ever needed.
However, some hardware switching engines may not be able to pop the label stack, so this cannot be universally required.
There may also be some situations in which penultimate hop popping is not desirable. If the next node in the LSP does support MPLS, but does not make such a request, the penultimate node has no way of knowing that it in fact is the penultimate node.
An LSR which is capable of popping the label stack at all MUST do penultimate hop popping when so requested by its downstream label distribution peer. It may be asked whether the egress node can always interpret the top label of a received packet properly if penultimate hop popping is used.
As long as the uniqueness and scoping rules of section 3. Note that the LSP Next Hop may differ from the next hop which would be chosen by the network layer routing algorithm. We will use the term "L3 next hop" when we refer to the latter. 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 is tempting to think that the labels can just be removed, and the packet forwarded as an unlabeled IP packet.
However, in some cases, doing so could cause a loop. If the upstream LSR thinks the label is bound to an explicit route, and the downstream LSR doesn't think the label is bound to anything, and if the hop by hop routing of the unlabeled IP packet brings the packet back to the upstream LSR, then a loop is formed. It is also possible that the label was intended to represent a route which cannot be inferred from the IP header.
Therefore, when a labeled packet is received with an invalid incoming label, it MUST be discarded, UNLESS it is determined by some means not within the scope of the current document that forwarding it unlabeled cannot cause any harm. This corresponds to the way that conventional IP datagram routing works; 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.
If one wants to ensure that traffic in a particular FEC follows a path with some specified set of properties e. With independent control, some LSRs may begin label switching a traffic in the FEC before the LSP is completely set up, and thus some traffic in the FEC may follow a path which does not have the specified set of properties. Ordered control also needs to be used if the recognition of the FEC is a consequence of the setting up of the corresponding LSP.
Ordered LSP setup may be initiated either by the ingress or the egress. Ordered control and independent control are fully interoperable. However, unless all LSRs in an LSP are using ordered control, the overall effect on network behavior is largely that of independent control, since one cannot be sure that an LSP is not used until it is fully set up.
This architecture allows the choice between independent control and ordered control to be a local matter. Since the two methods interwork, a given LSR need support only one or the other.
Generally speaking, the choice of independent versus ordered control does not appear to have any effect on the label distribution mechanisms which need to be defined. Aggregation One way of partitioning traffic into FECs is to create a separate FEC for each address prefix which appears in the routing table. For example, a set of distinct address prefixes might all have the same egress node, and label swapping might be used only to get the the traffic to the egress node.
This creates a choice: should a distinct label be bound to each component FEC, or should a single label be bound to the union, and that label applied to all traffic in the union?
The procedure of binding a single label to a union of FECs which is itself a FEC within some domain , and of applying that label to all Rosen, et al. The MPLS architecture allows aggregation.This is the usual mode today in existing IP networks. Davie, J. The only exception is policy-based routing PBR , which bypasses the destination-based routing lookup. Existing protocols have been extended so that label distribution can be piggybacked on them see, e.
Bussiere Cabletron , H.
Ghanwani IBM , S. Bandwidth management for ip net- be restarted. If two LSRs are label distribution peers, we will speak of there being a "label distribution adjacency" between them.