MPLS服务质量.ppt
MPLS-QoS,Jay K,Agenda,QoS ModelsDifferentiated Model FeaturesModular QoS CLI(MQC)MPLS QoSSample Examples,QoS Models,Integrated Services(IntServ)Differentiated Services(Diffserv),Time,The QoS Pendulum,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 trafficFine grain,providing strict QoS.,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).,Differentiated IP Services,Guaranteed:Latency and Delivery,Best Effort Delivery,Guaranteed Delivery,Voice,E-mail,WebBrowsing,E-Commerce,Application Traffic,Platinum Class Low Latency,Silver,Bronze,Gold,Voice,TrafficClassification,Differentiated Model Divide Traffic into Classes,SwitchingFabric,rx queue,tx queue,tx hw,recv hw,Differentiated Model,Classification/Marking policy,Droppolicy,Schedulingpolicy,Agenda,QoS ModelsDifferentiated Model FeaturesModular QoS CLI(MQC)MPLS QoSSample Examples,Differential Model Features,Classification Marking Policing and Shaping Congestion Avoidance Congestion Management,Differentiated Model Features Classification,Most fundamental QoS building blockThe component of a QoS feature that recognizes and distinguishes between different traffic streamsWithout classification,all packets are treated the same,Differentiated Model Features Marking,VersionLength,Len,Layer 3IPV4,ID,Offset,TTL,Proto,FCS,IP-SA,IP-DA,Data,ToS1 Byte,0,7,1,2,3,4,5,6,IP Precedence,DSCP,Unused Bits;,Differentiated Model Features Policing and Shaping,Policing is the QoS component that limits incoming traffic flow to a configured bit rateShaping is the QoS feature component that regulates outgoing traffic flow to a configured bit rate,Differentiated Model Features Congestion Avoidance,Drop PolicyTail DropRandom Early Detection(RED)Weighted Random Early Detection(WRED),Differentiated Model Features Congestion Management,Scheduling PolicyFIFOFair QueuingWeighted Fair Queuing(WFQ)Class Based Weighted Fair Queuing(CBWFQ)Low Latency Queuing(LLQ),Agenda,QoS ModelsDifferentiated Model FeaturesModular QoS CLI(MQC)MPLS QoSSample Examples,Modular QoS CLI,Modular QoS CLI(MQC)Command syntax introduced in 12.0(5)TReduces configuration steps and timeUniform CLI across all main Cisco IOS-based platformsUniform CLI structure for all QoS features,Basic MQC Commands,1.Create Class Map,Router(config)#class-map class1Router(config-cmap)#match ip precedence 5Router(config-cmap)#exit,Router(config)#policy-map policy1Router(config-pmap)#class class1Router(config-pmap-c)#set mpls experimental 5Router(config-pmap-c)#bandwidth 3000 Router(config-pmap-c)#queue-limit 30Router(config-pmap)#exit,Router(config)#interface e1/1Router(config-if)#service-policy output policy1 Router(config-if)#exit,2.Create Policy Map,3.Attach Service Policy,Basic MQC Commands,Agenda,QoS ModelsDifferentiated Model FeaturesModular QoS CLI(MQC)MPLS Quality of ServiceSample Examples,ConventionalRouter,Label EdgeRouters,ATM-LSR,Label SwitchingRouter(LSR),Note:End to end service is IP;therefore,IP class of service is what MPLS must support,MPLS QoS,ISP Customer,MPLS,3)Invoke QoS Policy Action Based on EdgeClassification(based on MPLS EXP),e.g.LLQ,CBWFQ,Drop PolicyLow Priority via WRED if rate limit exceeded,1)Packet Classificationthrough IP Prec/DSCP,2)Match IP Prec/DSCP;Set MPLS EXP.Rate-limit/Police and apply drop policy,Core,MPLS QoS,MPLS QoS,Differentiated Model approach:Set IP precedence or MPLS Exp bit at the edge of the networkWRED by MPLS Exp,and WFQ by class in the coreBecause MPLS is there primarily to transport IP,MPLSs primary QoS goal is to support existing IP QoS modelsBecause MPLS is there to support very large scale operations,MPLS should also be capable of supporting Diff-Serv in the future,MPLS QoS,Copy of IP Precedence into MPLS EXPMapping of IP Precedence into MPLS EXP,Prec:xyz,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 serviceDSCP=Differentiated Services Code PointThe value in the IP Header indicating which PHB is to be applied to the packetBA=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”),MPLS QoSDiff-Serv:DSCP,1 0 1 1 1 0,DSCP,CU,EF,x x x y y 0,DSCP,CU,AFxy,Class,DropPrecedence,AF Class=1,2,3,4,Drop Precedence=2,4,6,MPLS QoS Diff-Serv over MPLS,Two methods:E-LSP“Queue”inferred from Label and EXP field“drop priority”inferred from label and EXP fieldL-LSP“Queue”inferred exclusively from Label“drop priority”inferred from EXP field,by Francious Le Faucheur,et al,MPLS QoS E-LSP Example,E-LSPs can be established by various label binding protocols(LDP or RSVP)Example above illustrates support of EF and AF1 on single E-LSPNote: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,E-LSP,LSR,LDP/RSVP,LDP/RSVP,EF,AF1,MPLS QoSL-LSP Example,L-LSPs can be established by various label binding protocols(LDP or RSVP)Example above illustrates support of EF and AF1 on separate L-LSPsEF 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,L-LSPs,LSR,MPLS QoSEdge DiffServ LSR with L-LSP,IPv4 Packet,MPLS Header,Non-MPLS Diff-Serv Domain,MPLS Diff-Serv Domain,DSCP,Edge LSR,1)identify incoming packets BA looking at incoming DSCP2)pick the LSP/label which supports the right FEC and the right BA3)mark the EXP field to reflect the packets BA,DSCP,MPLS QoSSignaling,E-LSPs can be set up with existing(non-DS-aware)signallingLDP,RSVP etc.EXP-PHB mapping is configured on every router as per DiffservL-LSPs require signalling extension to bind“queue”to a labelNew DIFFSERV object/TLV added to RSVP/LDP to signal the“queue”in which to enqueue the labelMeaning of EXP bits is well-known(ie standardised for each PSC),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),MPLS QoS,On non-ATM LSRs,MPLS-QoS is simpleCopy or Map IP precedence to MPLS exp fieldExact same mechanism as IP-QoSNet result is end-to-end QoS indistinguishable from non-MPLS(IP)network,MPLS QoS,MPLS QoS on ATM-LSRsTwo Challenges:No WRED in switchesNo EXP field in headerSolution Modes:ATM Forum PVCMulti VC(LSP),MPLS QoS ATM Forum PVC Mode,Looks like packet interface to MPLS QoSBW and other parameters configured on the PVCRequires significant amount of configuration,ATM-LSR,PVC,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,MPLS QoS Multi VC Mode,Queuing is done through CBWFQ(eg.Premium gets 80%of link,standard gets 20%)Unused bandwidth available to other classesNo per-router-pair configuration required,as in ATM Forum PVC,Agenda,QoS ModelsDifferentiated Model FeaturesModular QoS CLI(MQC)MPLS Class of ServiceExamples,Examples,PE 2,Pos 1/0,PE 3,MPLS Network,PE 1,PE 4,CE 4,CE 2,PE 5,CE 1,CE 3,Pos 1/1,Pos 5/0,Pos 4/0,Pos 2/0,P 3,Examples,!Matching voice traffic from customer 1Pe1(config)#class-map match-all cus1_voicePe1(config-cmap)#match interface POS1/0Pe1(config-cmap)#match ip precedence 4Pe1(config-cmap)#end!Matching voice traffic from customer 2Pe1(config)#class-map match-all cus2_voicePe1(config-cmap)#match interface POS1/1Pe1(config-cmap)#match ip precedence 5Pe1(config-cmap)#end!Matching any e2e trafficPe1(config)#class-map erpPe1(config-cmap)#match ip precedence 2Pe1(config-cmap)#end,Examples,Pe1(config)#class-map isp_voicePe1(config-cmap)#match mpls experimental 4Pe1(config-cmap)#endPe1(config)#class-map isp_erpPe1(config-cmap)#match mpls experimental 2Pe1(config-cmap)#endPe1(config)#class-map isp_routinePe1(config-cmap)#match mpls experimental 1Pe1(config-cmap)#end,Examples,!Input Policy for setting experimental 4,2,1Pe1(config)#policy-map pe1_inputPe1(config-pmap)#class cus1_voicePe1(config-pmap-c)#set mpls experimental 4Pe1(config-pmap-c)#exitPe1(config-pmap)#class cus2_voicePe1(config-pmap-c)#set mpls experimental 4Pe1(config-pmap-c)#exitPe1(config-pmap)#class erpPe1(config-pmap-c)#set mpls experimental 2Pe1(config-pmap-c)#exitPe1(config-pmap)#class class-defaultPe1(config-pmap-c)#set mpls experimental 1Pe1(config-pmap)#exit,Examples,!Output Policy for configuring bandwidth,queuePe1(config)#policy-map policy pe1_outputPe1(config-pmap)#class isp_voicePe1(config-pmap-c)#priority 100Pe1(config-pmap-c)#exitPe1(config-pmap)#class isp_erpPe1(config-pmap-c)#bandwidth 50Pe1(config-pmap-c)#queue-limit 30Pe1(config-pmap-c)#exitPe1(config-pmap)#class class-defaultPe1(config-pmap-c)#bandwidth 20Pe1(config-pmap-c)#queue-limit 100Pe1(config-pmap-c)#exitPe1(config-pmap)#exit,Examples,Pe1(config)#interface POS1/0Pe1(config-if)#service-policy input pe1_inputPe1(config)#interface POS1/1Pe1(config-if)#service-policy input pe1_inputPe1(config)#interface POS2/0Pe1(config-if)#service-policy output pe1_output,Examples,PE 2,Pos 1/0,PE 3,MPLS Network,LC-ATM,PE 4,CE 4,CE 2,PE 5,CE 1,CE 3,Pos 1/1,Pos 5/0,Pos 4/0,ATM Core,PE 1,LSC1,Pe1(config)#ATM1/0Pe1(config-if)#no ip addressPe1(config-if)#atm clock INTERNALPe1(config-if)#no atm ilmi-keepalivePe1(config-if)#exitPe1(config)#interface ATM1/0.1 tag-switchingPe1(config-if)#ip unnumbered loopback0Pe1(config-if)#tag-switching multi-vcPe1(config-if)#tag-switching atm vpi 2-5Pe1(config-if)#tag-switching ip!Sets up 3 LVCs.Pe1(config)#cos-map 1!3-standardPe1(config-mpls-cos-map)#class 3 standard!2-premiumPe1(config-mpls-cos-map)#exit!1-standard!0 availablePe1(config)#mpls prefix-map 1 access-list 1 cos-map 1,Examples,Examples,!Matching voice traffic from customer 1Pe1(config)#class-map match-all cus1_voicePe1(config-cmap)#match interface POS1/0Pe1(config-cmap)#match ip precedence 4Pe1(config-cmap)#end!Matching voice traffic from customer 2Pe1(config)#class-map match-all cus2_voicePe1(config-cmap)#match interface POS1/1Pe1(config-cmap)#match ip precedence 5Pe1(config-cmap)#end!Matching any e2e trafficPe1(config)#class-map erpPe1(config-cmap)#match ip precedence 2Pe1(config-cmap)#end,Examples,P!Input Policy for setting experimental 2,1,0e1(config)#policy-map pe1_inputPe1(config-pmap)#class cus1_voicePe1(config-pmap-c)#set mpls experimental 2!Voice for customer 1Pe1(config-pmap-c)#exitPe1(config-pmap)#class cus2_voicePe1(config-pmap-c)#set mpls experimental 2!Voice for customer 2Pe1(config-pmap-c)#exitPe1(config-pmap)#class erpPe1(config-pmap-c)#set mpls experimental 1!ERP dataPe1(config-pmap-c)#exitPe1(config-pmap)#class class-defaultPe1(config-pmap-c)#set mpls experimental 0!All other trafficPe1(config-pmap)#exitPe1(config)#class-map isp_voicePe1(config-cmap)#match mpls experimental 2Pe1(config-cmap)#end,Examples,Pe1(config)#class-map isp_erpPe1(config-cmap)#match mpls experimental 1Pe1(config-cmap)#endPe1(config)#class-map isp_availablePe1(config-cmap)#match mpls experimental 0Pe1(config-cmap)#end!Output Policy for configuring bandwidth,queuePe1(config)#policy-map policy pe1_outputPe1(config-pmap)#class isp_voicePe1(config-pmap-c)#priority 100,Examples,Pe1(config-pmap-c)#exitPe1(config-pmap)#class isp_erpPe1(config-pmap-c)#bandwidth 50Pe1(config-pmap-c)#queue-limit 30Pe1(config-pmap-c)#exitPe1(config-pmap)#class isp_availablePe1(config-pmap-c)#bandwidth 20Pe1(config-pmap-c)#queue-limit 100Pe1(config-pmap-c)#exitPe1(config-pmap)#exit,Examples,LSC1Interface XTagATM11 extended-port ATM3/0 bpx 1.1 tag-switching atm vpi 2-15 tag-switching atm cos available 20 tag-switching atm cos standard 30 tag-switching atm cos premium 50 tag-switching ipInterface XTagATM12 extended-port ATM3/0 bpx 1.2 tag-switching atm vpi 2-15 tag-switching atm cos available 20 tag-switching atm cos standard 30 tag-switching atm cos premium 50 tag-switching ip,