Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multiprotocol Label Switching (MPLS) 中正大學資工系 黃仁竑.

Similar presentations


Presentation on theme: "Multiprotocol Label Switching (MPLS) 中正大學資工系 黃仁竑."— Presentation transcript:

1 Multiprotocol Label Switching (MPLS) 中正大學資工系 黃仁竑

2 中正資工 / 黃仁竑 2 Outline v Introduction v Label Encoding v Label Assignment v Label Distribution v Label Swapping v Label Merging v Conclusion

3 中正資工 / 黃仁竑 3 Introduction v IETF Multiprotocol Label Switching Working Group created in 1997 v Integrates the label swapping forwarding paradigm with network layer routing  Use a short, fixed-length label v Examples of MPLS  Tag Switching (Cisco)

4 中正資工 / 黃仁竑 4 Why MPLS v MPLS versus Datagram Routed Network  Simplified forwarding  Efficient explicit routing  Traffic engineering  QoS routing  Complex mapping from IP packets to FEC (Forwarding Equivalence Class) v MPLS versus ATM  Scaling of the routing protocol  Common operation over packet and cell media  Easier management

5 中正資工 / 黃仁竑 5 Basics of MPLS v Semantics assigned to a stream label  Labels are associated with specific streams of data (FEC) v Forwarding Methods  Short fixed length labels to identify streams  Looking up a label in a table, swapping labels, and possibly decreasing and checking a TTL  May make direct use of layer 2 forwarding (e.g. ATM) v Label Distribution Methods  Allow nodes to determine which labels to use for specific streams  May use some sort of control exchange, or be piggybacked on a routing protocol  By LDP

6 中正資工 / 黃仁竑 6 Next Hop Label Forwarding Entry v NHLFE is used when forwarding a labeled packet, it contains  next hop  operations u replace the label at the top of the label stack with a new label u pop the label stack u replace and push one or more new labels u data link encapsulation u how to encode the label stack u other information for properly dispose of the packet

7 中正資工 / 黃仁竑 7 Label Stack v Label stack  A labeled packet may carry a number of labels v A Label  A short fixed length significant identifier  Based on the stream or forwarding equivalence class (FEC)  Only have local significance v Label encoding  MPLS generic encapsulation mechanism  ATM SVC, SVP, SVP multipoint encoding methods  Others

8 中正資工 / 黃仁竑 8 Label Switched Path (LSP) v Begins with an LSR ( LSP Ingress ) that pushes on a level m label v Intermediate LSRs make their forwarding decision by label switching on a level m label v Ends ( LSP Egress ) when forwarding decision is made by label switching on a level m-k label (k>0) or when a forwarding decision is made by non- MPLS forwarding procedures v The label stack may be popped at the penultimate LSR of the LSP, rather than at the LSP Egress  reduce times of label lookup at LSP egress

9 中正資工 / 黃仁竑 9 Label Encoding v Generic MPLS encapsulation  Between the data link layer and network layer headers  Network layer protocol independent  A label contains u Label Stack  A sequence of label stack entries u Time-to-Live (TTL)  Similar to what is provided by IP (e.g. traceroute) u Class of Service (CoS)  Allows multiple service classes within the same label

10 中正資工 / 黃仁竑 10 Label Stack Entry v Label(20bits)  carries the actual value of the label  0/2:IPv4/v6 Explicit NULL Label u must be sole label stack entry (forward based on IPv4/v6)  1:Router Alert Label;(need software process)  3:Implicit NULL Label v Exp(3bits):reserved v S(1bits):Bottom of Stack v TTL(8bits):Time to Live 0202331 LabelExpSTTL

11 中正資工 / 黃仁竑 11 Label Encoding v ATM Switches as LSRs  SVC Encoding u Use the VPI/VCI field to encode the label u Each LSP is realized as an ATM SVC u ATM-LSR cannot perform PUSH or POP  SVP Encoding u VPI : Top of label stack u VCI : Second label on the stack u Permits the use of ATM VP switching u can’t include a non-MPLS ATM network  SVP Multipoint Encoding u VPI : Top of label stack u VCI : Part for the second label on the stack, the remainder to identify the LSP ingress u Multipoint-to-point VPs

12 中正資工 / 黃仁竑 12 Label Assignment v Topology driven (Tag)  In response to normal processing of routing protocol control traffic  Labels are pre-assigned; no label setup latency at forwarding time v Request driven (RSVP)  In response to normal processing of request based control traffic  May require a large number of labels to be assigned v Traffic driven (Ipsilon)  The arrival of data at an LSR triggers label assignment and distribution  Label setup latency; potential for packet reordering

13 中正資工 / 黃仁竑 13 Label Distribution v Explicit Label Distribution  Downstream label allocation u label allocation is done by the downstream LSR u most natural mechanism for unicast traffic  Upstream label allocation u label allocation is done by the upstream LSR u may be used for optimality for some multicast traffic  A unique label for an egress LSR within the MPLS domain u Any stream to a particular MPLS egress node could use the label of that node.

14 中正資工 / 黃仁竑 14 Label Distribution v Explicit Label Distribution Protocol (LDP)  Reliability : by transport protocol (TCP) or as part of LDP  Separate routing computation and label distribution v Piggybacking on Other Control Messages  Use existing routing/control protocol for distributing routing/control and label information  OSPF, BGP, RSVP, PIM  Combine routing and label distribution v Label purge mechanisms  By time out  Exchange of MPLS control packets

15 中正資工 / 黃仁竑 15 Label Distribution Protocol v LDP Peer:  Two LSRs that exchange label/stream mapping information via LDP v LDP messages  Discovery messages u announce and maintain the presence of LSR u via UDP  Session messages u maintain session between LDP peers  Advertisement message u label operation (Label distribution)  Notification message u advisory information and signal error information u Error notification:signal fatal errors u Advisory notification: status of the LDP session or some previous message received from the peer.

16 中正資工 / 黃仁竑 16 Label Swapping v Labeled Packet  Map the incoming label to an next hop label, determines where to forward the packet  Encodes the new label stack into the packet, and then forwards it v Unlabeled Packet  LSR analyzes the L3 header, to determine the packet’s stream  Map the stream to a next hop, determines where to forward the packet  Encodes the new label stack into the packet, and then forwards it

17 中正資工 / 黃仁竑 17 Use of MPLS in a Hierarchy

18 中正資工 / 黃仁竑 18 Route Selection v Hop by hop routing  Like conventional IP routing  Each hop makes independent choice of next hop  Repair of a failed route done locally v Explicit routing  Manual or based on dynamic routing  The LSP next hop is chosen by a single node  Useful for policy routing and/or traffic engineering  If an explicit route is specified for an LSP, then that route must be followed

19 中正資工 / 黃仁竑 19 Loop Handling v Loop Survival  minimizes the impact of loops v Loop Detection  allows loops to be set up, but detects them and eliminates them later v Loop Prevention  avoiding setting up a loop

20 中正資工 / 黃仁竑 20 Loop Survival v Allow the network to operate well even though short term transient loops may be formed by the routing protocol v Possible solutions  Use of TTL to limit the hops that a packet traversed  Use of dynamic routing protocol which converges fast u looping packets may cause congestion which may then affect the converge speed of routing protocol  Use of fair queueing to limit the impact of looping packets on normal packets

21 中正資工 / 黃仁竑 21 Loop Detection v Loop may be set up, but will be subsequently detected. v Possible solutions  Loop Detection Control Protocol (LDCP) u transmit LDCP packet when route change u LDCP is forwarded towards destination until  destination  TTL exceeded  return to a node which originally transmitted it  Path Vector Control message: list of LSRs on the path  hop count to each egress node (like RIP?)

22 中正資工 / 黃仁竑 22 Loop Prevention v Ensure loops are never set up v Possible solutions  labels are propagated from the egress switch, control packets which propagate the labels also include the path  diffusion mechanism when route changes  colored mechanism u a color consist of address of the node that created the color and a local id that is unique within the node u a node that finds a change in the next hop creates a color and passes it to the new next hop u stops when a loop or a loop free path is found  explicit routing u configured u use routing protocol (link state or path vector)

23 中正資工 / 黃仁竑 23 Diffusion Algorithm v On a route change, R ask N for a label and the associated LSR ID for that stream v R looks in the LSR ID list  If R is in the list (route loop), the old LSP will continue to be used until the route protocol break the loop  If R is not in the list, R will start a diffusion computation v Diffusion computation prunes tree of paths that would loop if R switches to new LSP v When the diffusion completes, R switches to new LSP and discards old LSP

24 中正資工 / 黃仁竑 24 Diffusion Computation v An extension of Path Vector mechanism v An LSR, D, detects the next hop for an FEC has changed, transmits a query message with a Path Vector containing its id to its upstream v A LSR, U, that receives a query will determine if D is the next hop for the given FEC  if not, then U return OK message  if so, then U checks if the Path Vector already contains it id u if yes, a loop is detected, U responds with a LOOP msg u if not, U adds its id to the Path Vector and propagates the query message to its upstream neighbors

25 中正資工 / 黃仁竑 25 What to Do if a Loop is Detected v If a loop is know to exist  L2 label-swapped path is not setup  Packet is forwarding using normal L3 forwarding v Problems :  Nodes which are not capable of L3 forwarding u discard packet  L2 forwarding faster than L3 forwarding u node will not be capable of forwarding the same volume of traffic at l3, some packets will be discarded u packet lost cause TCP to backoff, which will in turn reduce the load and allow the network to stabilize until the label binding is reestablished again.

26 中正資工 / 黃仁竑 26 Label Merging v Label merging  An LSR may want to bind multiple incoming labels to a particular FEC u once packets are transmitted, the information that they arrived with different labels is not v Non-merging LSRs  In ATM, label merging may cause interleaving of cells from various packets  MPLS support procedures which allow ATM switches to function as merging LSRs

27 中正資工 / 黃仁竑 27 Merge over ATM v VP Merge (SVP multipoint encoding)  Packet from different sources are distinguished by using different VCs within the VP  Advantage : no new hardware  Disadvantage : requires coordination of the VCI space v VC Merge  Switches are required to buffer cells from one packet until the entire packet is received  Advantage : straightforward application of VC switching  Disadvantage : u New hardware (based on per-VC queuing) u Delays at the merge points

28 中正資工 / 黃仁竑 28 Conclusion v MPLS  A more general forwarding mechanism  Cooperates with routing/control protocol  Provides Integrated service, Differentiated service  Allows flow aggregation (FEC) for QoS routing  Support Multicast?


Download ppt "Multiprotocol Label Switching (MPLS) 中正大學資工系 黃仁竑."

Similar presentations


Ads by Google