1 / 52

MPLS-QoS

MPLS-QoS. Jay Kumarasamy jayk@cisco.com. Agenda. QoS Models Differentiated Model Features Modular QoS CLI (MQC) MPLS QoS Sample Examples. QoS Models. Integrated Services (IntServ) Differentiated Services (Diffserv). The QoS Pendulum. Time. Integrated Model.

tanginika
Download Presentation

MPLS-QoS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MPLS-QoS Jay Kumarasamyjayk@cisco.com

  2. Agenda • QoS Models • Differentiated Model Features • Modular QoS CLI (MQC) • MPLS QoS • Sample Examples

  3. QoS Models • Integrated Services (IntServ) • Differentiated Services (Diffserv)

  4. The QoS Pendulum Time

  5. Integrated Model • Application requests a specific kind of QoS service, through explicit signaling. • Resource Reservation Protocol (RSVP) is used by applications to signal their QoS requirements to the router. • Complex to use. • Difficult to support with a large number of RSVP connections, due to: the amount of state information required for every flow. the amount of control traffic • Fine grain, providing strict QoS.

  6. Differentiated Model • Qos is provided by differential treatment to each packet or class of packets. • No explicit signaling from the application. • This model is appropriate for aggregate flows. • Coarse grain, not strict QoS (no guarantees).

  7. Differentiated Model Divide Traffic into Classes Differentiated IP Services Platinum Class Low Latency Voice E-Commerce Guaranteed: Latency and Delivery Gold Application Traffic Traffic Classification E-mail, WebBrowsing Guaranteed Delivery Silver Voice Best Effort Delivery Bronze

  8. Differentiated Model Classification/ Marking policy Drop policy Scheduling policy Switching Fabric rx queue tx queue recvhw tx hw

  9. Agenda • QoS Models • Differentiated Model Features • Modular QoS CLI (MQC) • MPLS QoS • Sample Examples

  10. Differential Model Features • Classification • Marking • Policing and Shaping • Congestion Avoidance • Congestion Management

  11. Differentiated Model Features Classification Most fundamental QoS building block The component of a QoS feature that recognizes and distinguishes between different traffic streams Without classification, all packets are treated the same

  12. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | EXP |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Differentiated Model Features Marking Layer 3IPV4 Version Length Len ID Offset TTL Proto FCS IP-SA IP-DA Data ToS1 Byte 2 1 3 7 6 5 4 0 Unused Bits; IP Precedence DSCP

  13. Differentiated Model Features Policing and Shaping • Policing is the QoS component that limits incoming traffic flow to a configured bit rate • Shaping is the QoS feature component that regulates outgoing traffic flow to a configured bit rate

  14. Differentiated Model Features Congestion Avoidance Drop Policy • Tail Drop • Random Early Detection (RED) • Weighted Random Early Detection (WRED)

  15. Differentiated Model Features Congestion Management Scheduling Policy • FIFO • Fair Queuing • Weighted Fair Queuing (WFQ) • Class Based Weighted Fair Queuing (CBWFQ) • Low Latency Queuing (LLQ)

  16. Agenda • QoS Models • Differentiated Model Features • Modular QoS CLI (MQC) • MPLS QoS • Sample Examples

  17. Modular QoS CLI Modular QoS CLI (MQC) • Command syntax introduced in 12.0(5)T • Reduces configuration steps and time • Uniform CLI across all main Cisco IOS-based platforms • Uniform CLI structure for all QoS features

  18. router(config)# class-map [match-any | match-all] class-name • 1.Create Class Map - a traffic class( match access list, input interface, IP Prec, DSCP, protocol (NBAR) src/dst MAC address, mpls exp). router(config)# policy-map policy-map-name • 2. Create Policy Map (Service Policy) - Associate a class map with one or more QoS policies(bandwidth, police, queue-limit, random detect, shape, set prec, set DSCP, set mpls exp). router(config-if)# service-policy {input | output} policy-map-name • 3. Attach Service Policy- Associate the policy map with an input or output interface. Basic MQC Commands

  19. Basic MQC Commands • 1. Create Class Map Router(config)# class-map class1 Router(config-cmap)# match ip precedence 5 Router(config-cmap)# exit • 2. Create Policy Map Router(config)# policy-map policy1 Router(config-pmap)# class class1 Router(config-pmap-c)# set mpls experimental 5 Router(config-pmap-c)# bandwidth 3000 Router(config-pmap-c)# queue-limit 30 Router(config-pmap)# exit • 3. Attach Service Policy Router(config)# interface e1/1 Router(config-if)# service-policy output policy1 Router(config-if)# exit

  20. Agenda • QoS Models • Differentiated Model Features • Modular QoS CLI (MQC) • MPLS Quality of Service • Sample Examples

  21. MPLS QoS ATM-LSR Conventional Router Label Edge Routers Label Switching Router (LSR) • Note: End to end service is IP; therefore, IP class of service is what MPLS must support

  22. MPLS QoS 2) Match IP Prec/DSCP; Set MPLS EXP. Rate-limit/Police and apply drop policy ISP Customer MPLS Core 3) Invoke QoS Policy Action Based on Edge Classification (based on MPLS EXP), e.g. LLQ, CBWFQ, Drop Policy Low Priority via WRED if rate limit exceeded 1) Packet Classification through IP Prec/DSCP

  23. MPLS QoS • ‘Differentiated Model’ approach: Set IP precedence or MPLS Exp bit at the edge of the network • WRED by MPLS Exp, and WFQ by class in the core • Because MPLS is there primarily to transport IP, MPLS’s primary QoS goal is to support existing IP QoS models • Because MPLS is there to support very large scale operations, MPLS should also be capable of supporting Diff-Serv in the future

  24. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | EXP |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MPLS Domain Non-MPLS Domain IPv4 Packet MPLS Hdr MPLS EXP: xyz Prec: xyz MPLS QoS • Copy of IP Precedence into MPLS EXP • Mapping of IP Precedence into MPLS EXP Prec: xyz

  25. MPLS QoSDiff-Serv : Jargon • PHB = Per Hop BehaviorThe Diff-Serv treatment (scheduling/dropping) applied by a Router to all the packets which are to experience the same Diff-Serv service • DSCP = Differentiated Services Code PointThe value in the IP Header indicating which PHB is to be applied to the packet • BA = Behavior AggregateThe set of all the packets which have the same DSCP (and thus that will receive the same PHB) • OA = Ordered AggregateThe set of BAs which have an ordering constraint (“must go into the same queue”) • PSC = PHB Scheduling ClassThe set of PHBs applied to an OA (the set of PHBs using the same queue”)

  26. MPLS QoSDiff-Serv : DSCP DSCP 1 0 1 1 1 0 EF CU DSCP x x x y y 0 AFxy CU Drop Precedence Class AF Class = 1, 2, 3, 4 Drop Precedence = 2, 4, 6

  27. MPLS QoS Diff-Serv over MPLS • Two methods: • E-LSP • “Queue” inferred from Label and EXP field • “drop priority” inferred from label and EXP field • L-LSP“Queue” inferred exclusively from Label • “drop priority” inferred from EXP field • <draft-ietf-mpls-diff-ext-03.txt>, by Francious Le Faucheur, et al

  28. MPLS QoS E-LSP Example LSR LDP/RSVP LDP/RSVP E-LSP AF1 EF • E-LSPs can be established by various label binding protocols (LDP or RSVP) • Example above illustrates support of EF and AF1 on single E-LSP • Note: EF and AF1 packets travel on single LSP (single label) but are enqueued in different queues (different EXP values) • Queue is selected based on EXP

  29. MPLS QoSL-LSP Example LDP/RSVP LDP/RSVP LSR L-LSPs • L-LSPs can be established by various label binding protocols (LDP or RSVP) • Example above illustrates support of EF and AF1 on separate L-LSPs • EF and AF1 packets travel on separate LSPs and are enqueued in different queues (different label values) • Queue is selected based on label, Discard is based on ESP

  30. MPLS QoSEdge DiffServ LSR with L-LSP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Label| EXP|S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MPLS Diff-Serv Domain Non-MPLS Diff-Serv Domain Edge LSR IPv4 Packet MPLS Header DSCP DSCP 1) identify incoming packet’s BA looking at incoming DSCP 2) pick the LSP/label which supports the right FEC and the right BA 3) mark the EXP field to reflect the packet’s BA

  31. MPLS QoSSignaling • E-LSPs can be set up with existing (non-DS-aware) signalling • LDP, RSVP etc. • EXP -> PHB mapping is configured on every router as per Diffserv • L-LSPs require signalling extension to bind “queue” to a label • New DIFFSERV object/TLV added to RSVP/LDP to signal the “queue” in which to enqueue the label • Meaning of EXP bits is well-known (ie standardised for each PSC)

  32. MPLS QoSE-LSP & L-LSP Applicability • MPLS over PPP and LAN: • both E-LSPs and L-LSPs are applicable • MPLS over ATM: • only L-LSPs possible (EXP is not seen by ATM LSR)

  33. MPLS QoS • On non-ATM LSRs, MPLS-QoS is simple • Copy or Map IP precedence to MPLS exp field • Exact same mechanism as IP-QoS • Net result is end-to-end QoS indistinguishable from non-MPLS (IP) network

  34. MPLS QoS MPLS QoS on ATM-LSRs Two Challenges: • No WRED in switches • No EXP field in header Solution Modes: • ATM Forum PVC • Multi VC (LSP)

  35. MPLS QoS ATM Forum PVC Mode ATM-LSR PVC • Looks like packet interface to MPLS QoS • BW and other parameters configured on the PVC • Requires significant amount of configuration

  36. MPLS QoS Multi VC Mode ATM-LSR MPLS LVCs • MPLS ATM core provides MPLS QoS at each link • Configure each non-ATM LSR to support a number • of classes (2-4) • Parallel LVCs automatically established • Assign weight to each class

  37. MPLS QoS Multi VC Mode • Queuing is done through CBWFQ (eg. Premium gets 80% of link, standard gets 20%) • Unused bandwidth available to other classes • No per-router-pair configuration required, as in ATM Forum PVC

  38. Agenda • QoS Models • Differentiated Model Features • Modular QoS CLI (MQC) • MPLS Class of Service • Examples

  39. Examples MPLS Network PE 2 PE 3 CE 1 CE 4 P 3 PE 4 Pos 5/0 Pos 1/0 PE 1 Pos 2/0 Pos 1/1 CE 2 CE 3 PE 5 Pos 4/0

  40. Examples ! Matching voice traffic from customer 1 Pe1(config)# class-map match-all cus1_voice Pe1(config-cmap)# match interface POS1/0 Pe1(config-cmap)# match ip precedence 4 Pe1(config-cmap)# end ! Matching voice traffic from customer 2 Pe1(config)# class-map match-all cus2_voice Pe1(config-cmap)# match interface POS1/1 Pe1(config-cmap)# match ip precedence 5 Pe1(config-cmap)# end ! Matching any e2e traffic Pe1(config)# class-map erp Pe1(config-cmap)# match ip precedence 2 Pe1(config-cmap)# end

  41. Examples Pe1(config)# class-map isp_voice Pe1(config-cmap)# match mpls experimental 4 Pe1(config-cmap)# end Pe1(config)# class-map isp_erp Pe1(config-cmap)# match mpls experimental 2 Pe1(config-cmap)# end Pe1(config)# class-map isp_routine Pe1(config-cmap)# match mpls experimental 1 Pe1(config-cmap)# end

  42. Examples ! Input Policy for setting experimental 4, 2, 1 Pe1(config)# policy-map pe1_input Pe1(config-pmap)# class cus1_voice Pe1(config-pmap-c)# set mpls experimental 4 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class cus2_voice Pe1(config-pmap-c)# set mpls experimental 4 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class erp Pe1(config-pmap-c)# set mpls experimental 2 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class class-default Pe1(config-pmap-c)# set mpls experimental 1 Pe1(config-pmap)# exit

  43. Examples ! Output Policy for configuring bandwidth, queue… Pe1(config)# policy-map policy pe1_output Pe1(config-pmap)# class isp_voice Pe1(config-pmap-c)# priority 100 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class isp_erp Pe1(config-pmap-c)# bandwidth 50 Pe1(config-pmap-c)# queue-limit 30 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class class-default Pe1(config-pmap-c)# bandwidth 20 Pe1(config-pmap-c)# queue-limit 100 Pe1(config-pmap-c)# exit Pe1(config-pmap)# exit

  44. Examples Pe1(config)# interface POS1/0 Pe1(config-if)# service-policy input pe1_input Pe1(config)# interface POS1/1 Pe1(config-if)# service-policy input pe1_input Pe1(config)# interface POS2/0 Pe1(config-if)# service-policy output pe1_output

  45. Examples MPLS Network PE 2 PE 3 LSC1 Pos 1/0 PE 1 CE 1 LC-ATM CE 4 PE 4 Pos 5/0 ATM Core Pos 1/1 CE 2 CE 3 PE 5 Pos 4/0

  46. Examples Pe1(config)# ATM1/0 Pe1(config-if)# no ip address Pe1(config-if)# atm clock INTERNAL Pe1(config-if)# no atm ilmi-keepalive Pe1(config-if)# exit Pe1(config)# interface ATM1/0.1 tag-switching Pe1(config-if)# ip unnumbered loopback0 Pe1(config-if)# tag-switching multi-vc Pe1(config-if)# tag-switching atm vpi 2-5 Pe1(config-if)# tag-switching ip ! Sets up 3 LVCs. Pe1(config)# cos-map 1 ! 3 - standard Pe1(config-mpls-cos-map)# class 3 standard ! 2 - premium Pe1(config-mpls-cos-map)# exit ! 1 - standard ! 0 – available Pe1(config)# mpls prefix-map 1 access-list 1 cos-map 1

  47. Examples ! Matching voice traffic from customer 1 Pe1(config)# class-map match-all cus1_voice Pe1(config-cmap)# match interface POS1/0 Pe1(config-cmap)# match ip precedence 4 Pe1(config-cmap)# end ! Matching voice traffic from customer 2 Pe1(config)# class-map match-all cus2_voice Pe1(config-cmap)# match interface POS1/1 Pe1(config-cmap)# match ip precedence 5 Pe1(config-cmap)# end ! Matching any e2e traffic Pe1(config)# class-map erp Pe1(config-cmap)# match ip precedence 2 Pe1(config-cmap)# end

  48. Examples P! Input Policy for setting experimental 2, 1, 0 e1(config)# policy-map pe1_input Pe1(config-pmap)# class cus1_voice Pe1(config-pmap-c)# set mpls experimental 2 ! Voice for customer 1 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class cus2_voice Pe1(config-pmap-c)# set mpls experimental 2 ! Voice for customer 2 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class erp Pe1(config-pmap-c)# set mpls experimental 1 ! ERP data Pe1(config-pmap-c)# exit Pe1(config-pmap)# class class-default Pe1(config-pmap-c)# set mpls experimental 0 ! All other traffic Pe1(config-pmap)# exit Pe1(config)# class-map isp_voice Pe1(config-cmap)# match mpls experimental 2 Pe1(config-cmap)# end

  49. Examples Pe1(config)# class-map isp_erp Pe1(config-cmap)# match mpls experimental 1 Pe1(config-cmap)# end Pe1(config)# class-map isp_available Pe1(config-cmap)# match mpls experimental 0 Pe1(config-cmap)# end ! Output Policy for configuring bandwidth, queue… Pe1(config)# policy-map policy pe1_output Pe1(config-pmap)# class isp_voice Pe1(config-pmap-c)# priority 100

  50. Examples Pe1(config-pmap-c)# exit Pe1(config-pmap)# class isp_erp Pe1(config-pmap-c)# bandwidth 50 Pe1(config-pmap-c)# queue-limit 30 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class isp_available Pe1(config-pmap-c)# bandwidth 20 Pe1(config-pmap-c)# queue-limit 100 Pe1(config-pmap-c)# exit Pe1(config-pmap)# exit

More Related