Quality of Service 3 Overview > What is QoS? What is QoS? > Label-Based Routing Label-Based Routing > IPQoS IPQoS > ATM QoS ATM QoS > CLI CLI.

Презентация:



Advertisements
Похожие презентации
Quality of Service : an overview 3 787v structure.
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Introducing Congestion Avoidance.
© 2004 Cisco Systems, Inc. All rights reserved. IPTX v Introducing IP Quality of Service IP QoS Mechanisms.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement Wireless Scalability Implementing WLAN QoS.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Introduction to IP QoS Identifying Models for Implementing QoS.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
© 2005 Cisco Systems, Inc. All rights reserved. IPTX v Introducing IP Quality of Service The Differentiated Services Model.
© 2006 Cisco Systems, Inc. All rights reserved. CIPT1 v Deployment of Cisco Unified CallManager Release 5.0 Endpoints Configuring Cisco Unified CallManager.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Using Multihomed BGP Networks.
© 2006 Cisco Systems, Inc. All rights reserved.IP6FD v IPv6 Services Understanding QoS Support in an IPv6 Environment.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Configuring CBWFQ and LLQ.
SpeedTouch R6.1 L2QOS > Jan Jan > Technical Presales Manager.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Operating and Configuring Cisco IOS Devices Configuring a Router.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Connecting to Remote Networks Using Packet Switching in WANs.
© 2004 Cisco Systems, Inc. All rights reserved. IPTX v Module Summary Quality of Service (QoS) is the ability of the network to provide better or.
© 2006 Cisco Systems, Inc. All rights reserved. CVOICE v Configuring Voice Networks Configuring Dial Peers.
Designing QoS © 2004 Cisco Systems, Inc. All rights reserved. Identifying QoS Mechanisms ARCH v
© 2006 Cisco Systems, Inc. All rights reserved. ICND v Managing IP Traffic with ACLs Introducing ACLs.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Attributes Setting BGP Local Preferences.
Транксрипт:

Quality of Service

3 Overview > What is QoS? What is QoS? > Label-Based Routing Label-Based Routing > IPQoS IPQoS > ATM QoS ATM QoS > CLI CLI

QoS What is QoS?

5 Definition QoS = ability of network element to have some level of assurance that data traffic and service requirements can be satisfied

6 QoS Approaches > Relative QoS Example: Differentiated Services, VLAN user priority > Guaranteed QoS Example: Integrated Services, ATM QoS

QoS Label-Based Routing

8 Overview > History and Now > Classification and Routing > Configuration > Example

9 Label-Based Routing: History > = Evolution of source-based routing > Source-based routing: Present in all SpeedTouch router products up to R4.1 Allows to route traffic source and destination-based to certain gateways or ports (= atm pvcs) = Fixed label with only source address parameter

10 Label-Based Routing: Now > Available from R4.2 onwards > Classification of traffic on many criteria > Reuses firewall engine all firewall criteria available > Traffic routing through different ATM PVCs with different QoS classes > Can be combined with IPQoS in future

11 Classification and Routing > Classification: before routing packet enters router and is classified > Labels attached to routes > Routes with labels have highest priority > Routes with labels only route packets with correct labels

12 Classification and Routing – Continued > First match is chosen > Use of traffic stream cache First time: slow path Next time: fast path

13 Classification and Routing – Illustrated intf labelfwd Fast-path classifier Slow-path

14 Configuration > CLI only > Label menu Creation / deletion of labels TOS marking possible

15 Configuration – Continued > Label / rule menu Creation / deletion of rules Default chain = _auto_labels > Used for backward compatibility or when configuring source- based routes Default chain linked to user_labels User_labels chain to be used only Every new rule must be attached to user_labels with certain index Statistics possible: rule stats

16 Labelling Mechanism

17 Rules > Source Interface (preferably NOT used) [srcintf [!]= ] > Source Interface Group (preferably used) [srcintfgrp [!]= ] > IP src [!]= (IP/mask notation) dst [!]= (IP/mask notation)

18 Rules – Continued > ToS (tagging) tos [!]= precedence [!]= dscp [!]= > Protocol prot [!] = > Port srcport [!] & srcportend dstport [!] & dstportend

19 Rules – Continued > Known ports = {echo|discard|systat|daytime|qotd|chargen|ftp- data|ftp|telnet|smtp|time|nicname|dns|domain |sql*net|bootps|bootpctftp|gopher|finger|www- http|kerberos|rtelnet|pop2|pop3|sunrpc|auth|sqlserv|nntp|sntp| ntp |ingres-net|netbios-ns|netbios-dgm|netbios-ssn|imap2|sql- net|pcmail-srv|snmp|snmptrap|bgp|irc-o|at-rtmp |at-nbp|at-echo|at- zis|ipx|imap3|clearcase|ulistserv|ldap|netware- ip|snpp|ike|exec|biff|login|who|syslog |printer|talk|ntalk|utime|rip|timed|netwall|uucp|uucp-rlogin|new- rwho|rtsp|...} or number>

20 Example Scenario: > 2 PPPoA sessions with traffic separation Session 1: PPPoA1: only icmp traffic Session 2: PPPoA2: only UDP and TCP traffic > 4 labels required Label ICMP rule 0: from LAN and protocol ICMP through PPPoA1 Label TCP rule 1: from LAN and protocol TCP through PPPoA2 Label UDP rule 2: from LAN and protocol UDP through PPPoA2 Label DNSLOCAL rule 3: from local and protocol UDP port 53

21 Example: Network Setup SpeedTouch 610 Eth0 : BRAS Internet PC A : DG : TCP traffic, through pppoa2 ICMP traffic, through pppoa1 PPPoA PPPoA

22 Configuration: Example Start from configuration with 2 PPPoA sessions 1. Create labels :label add name=dnslocal :label add name=icmp :label add name=tcp :label add name=udp 2. Create label rules :label rule create chain=user_labels index=0 srcintfgrp=lan prot=icmp label=icmp :label rule create chain=user_labels index=1 srcintfgrp=lan prot=tcp label=tcp :label rule create chain=user_labels index=2 srcintfgrp=lan prot=udp label=udp :label rule create chain=user_labels index=3 srcintfgrp=local prot=udp dstport=dns label=dnslocal

23 Configuration: Example – Continued 3. Create routes to PPPoA1 and PPPoA2 :ip rtadd dst= /0 label=dnslocal intf=pppoa2 :ip rtadd dst= /0 label=icmp intf=pppoa1 :ip rtadd dst= /0 label=tcp intf=pppoa2 :ip rtadd dst= /0 label=udp intf=pppoa2 > Remark: PPP routes can be added Through PPP session directly Through IP menu used in this example because multiple routes had to be added

QoS IPQoS

25 Overview > Features > Implementation > Configuration > Example > Scenario

26 New Features: Problem Solving WANGateway Ethernet Mbps ADSL Mbps Delay Delay Variation Uncontrolled Packet Loss Packet Loss TCP slowdown Voice degradation Game hiccups Video noise Delay TCP choke (BW=Window/Delay) Slow response time for web browsing Delay Variation (jitter) Extra buffering delay on voice

27 New Features: How It Works – 600 Series WANGateway Ethernet Mbps ADSL Mbps Limited Delay Limited Delay Variation Controlled Packet Loss Best Effort Highest Priority Upstream IP traffic identified based on: labels: IP header-based : configured on CPE Diffserv Codepoints: set by applications VLAN tags (802.1p): Set by endpoints? TCP Ack => Ack filtering Traffic assigned to 1 of 6 queues: 1: Expedited Forwarding: Absolute top priority traffic (rate limited) 2-5: Assured Forwarding : each queue given fair share of available bandwidth 6:Best Effort: take what is left

28 New Features: How It Works – 500 Series LANWANGateway Ethernet Mbps ADSL Mbps Limited Delay Limited Delay Variation Controlled Packet Loss Best Effort Highest Priority Residential QoS focused on: Plug and play operation: VLAN, DiffServ Priority: EF: VoIP, Gaming AF: interactive sessions BE: rest Implementation : EF queues collapsed to 2 queues WFQ between 2 Queues Diffserv compliant NOT AF compliant

29 New Features: How It Works – For Dummies Through well-chosen defaults in templates ApplicationLabelDiffServTCP Ack Web (http) (pop, imap) Windows / MSN Messenger Rtp (SIP data) SIP phones (280/282) Download (ftp) speed unaffected by upload activity …

30 New Features: What Is Kept for R5.3 > Per flow rate limiting > ALG-based labelling > Head-of-Line blocking

31 Implementation in > Classification and labelling > IPQoS queues per VP/VC > Hierarchical Fixed Priority and Weighted Fair Queuing Scheduling > Tail Drop and Propagation discard strategies

32 Implementation in – Continued > Classification of data and configuration of corresponding internal Class (0..15) Defclass: Default class of assigned connection Ackclass: Class of ACK segments of TCP connection > Default set of labels with corresponding Class > Rate limiting for real-time queue > TCP-ACK filtering and prioritization

33 High-Level Module Overview Automatic class mapping: > VLAN User Priority > ATM QoS

34 High-Level Module Overview – Example DSCP – AF/EF

35 Routed Data Path – WFQ

36 Configuration > intf > IPQoS configuration Queuing mechanism Queuing rules > Label configuration Queuing order / Classification > Label rules Data matching

37 IPQoS Configuration – CLI dest = destination of interface (phonebook entry) [state = ] Enable, disable IP QoS for interface [discard = ] Packet discard strategy (congestion) [priority = ] Subqueue priority algorithm [realtimerate = ] Percentage of bandwidth [burstsize = ] Burst size in kilo bytes [weight1 = ] Weight of queue 1 used for WFQ [weight2 = ] [weight3 = ] [weight4 = ] [maxpackets = ] Maximum number of packets in all queues [maxbytes = ] Maximum size in kilo bytes in all queues default

38 IPQoS Queue Configuration – CLI > Propagation from queue to next lower priority queue > IPQoS queue configuration dest = destination of interface (phonebook entry) queue = Number of subqueue [propagate = ] Propagate packets in low priority queue (instead of dropping) [maxpackets = ] Maximum number of packets in subqueue [maxbytes = ] Maximum subqueue size in kilo bytes

39 Default Set of Labels WFQ per VP / VC

40 Labels – CLI > Label add name > Label configuration name = Name of label to config [classification = ] Methods of classification [defclass = ] Default class of assigned connection [ackclass = ] Class of ACK segments of TCP connection [ttloverwrite = ] Enable / disable ttl overwrite [ttl = ] Time To Live in IP packet (ttl- overwrite) [tosmarking = ] Enable/disable tos marking [tos = ] Type of Service specification in IP packet (tos-marking) [trace = ] Enable/disable tracing for this label

41 Labels – CLI – Illustrated

42 Labels / Rules > Rules = Label-based routing > Multiple PVCs Same labels / rules possible Other destination of routing = other PVC = other queues > Example configurations Default queues RT and BE WFQ with different weights ACK prioritization for maximal downstream

43 IPQoS: Example 1 SpeedTouch 610 Eth0 : BRAS Internet PC A : DG : IPoA PC A : DG :

44 Example 1 =>:ip ifconfig intf=ipoa dest=ipoa-qos =>:ip ipadd... Outdated CLI commands =>:ipqos config dest=ipoa-qos state=enabled =>:label rule create chain=user_labels index=0 src= label=RealTime =>:label rule create chain=user_labels index=1 src=! label=BestEffort

45 Statistics > UDP flood from PC > VoIP call Label rule stats Ipqos queue stats

46 Example 2: WFQ SpeedTouch 610 Eth0 : IPoA PC A : DG : WFQ2 5% BRAS Internet PC C : DG : WFQ4 75% FTP server PC B : DG : WFQ3 15%

47 Example 2: WFQ – Continued :ipqos config dest=ipoa2 state=enabled priority=wfq weight1=5 weight2=5 weight3=15 weight4=75 Default labels: Rules: :label rule create chain=user_labels src= label=WFQ2 :label rule create chain=user_labels src= label=WFQ3 :label rule create chain=user_labels src= label=WFQ4

48 Example 3 ACK SpeedTouch 610 Eth0 : BRAS Internet PC A : DG : IPoA :label config name=ack-prio classification=increase defclass=4 ackclass=14 :label rule create chain=user_labels src= /24 label=ack-prio MAXIMAL downstream bandwidth use!

49 ACK

50 IPQoS Scenario – WFQ > ATM 512kb uplink (100%) > 128kb Real Time and overload = drop (=25%) > 256kb Gold and overload = propagate to Silver (=50% guaranteed) > Silver = Best Effort (rest) RT queue 5 / 25% WFQ BE queue 0 / no label match PQ Silver weight=30 Gold weight= WFQ 3 weight=2 WFQ 4 weight=2 WAN LAN

51 IPQoS Scenario – BW > RealTime traffic has 25% from 512kb = 128kb > Remaining 512kb –128kb = 384kb for WFQ > 66% of 384kb = 253kb Gold > 30% of 384kb = 115kb Silver

52 IPQoS Scenario – BW – Continued > All available BW used In case of no RT traffic, minimum guaranteed BW: Gold = 66% of 512kb = 338kb > Guaranteed: 128kb RT 256kb Gold + propagation to Silver

53 Upstream BW Theoretical subdivide = max RT + Max Gold + max Silver RT 128kb Gold 256kbSilver 128kb WFQ Less RT + max Gold + max Silver traffic RT GoldSilver WFQ BW 512kb Less RT + less Silver + max Gold traffic RT GoldSilver WFQ Less RT + less Gold + max Silver traffic RT GoldSilver WFQ

54 IPQoS Scenario – Configuration

55 IPQoS Scenario – Label

56 Scenario Overview SpeedTouch 610 Eth0 : BRAS Internet PC A : DG : IPoA Phone : DG : PC B : DG : FTP-server FTP-upload RT-traffic UDP-flood Gold traffic

57 Label Rule Stats Are labels matching?

58 IPQoS Queue Stats > Clear stats: => ipqos queue stats clear enable

59 user.ini [ phone.ini ] add name=dsl addr=0*38 type=ipoa [ ipoa.ini ] ifadd intf=ipoa dest=dsl ifconfig intf=ipoa ifattach intf=ipoa [ ipqos.ini ] config dest=dsl state=enabled realtimerate=25 burstsize=2 weight1=30 weight2=66 weight3=2 weight4=2 queue config dest=dsl queue=0 queue config dest=dsl queue=1 queue config dest=dsl queue=2 propagate=enabled queue config dest=dsl queue=3 queue config dest=dsl queue=4 queue config dest=dsl queue=5

60 user.ini – Continued [ label.ini ] add name=BestEffort add name=Gold add name=RealTime add name=Silver add name=WFQ1 add name=WFQ2 add name=WFQ3 add name=WFQ4 config name=BestEffort classification=increase defclass=4 ackclass=4 config name=Gold classification=increase defclass=8 ackclass=8 config name=RealTime classification=increase defclass=14 ackclass=14 config name=Silver classification=increase defclass=6 ackclass=6 config name=WFQ1 classification=increase defclass=6 ackclass=6 config name=WFQ2 classification=increase defclass=8 ackclass=8 config name=WFQ3 classification=increase defclass=10 ackclass=10 config name=WFQ4 classification=increase defclass=12 ackclass=12 chain create chain=user_labels rule create chain=user_labels index=0 src= label=RealTime rule create chain=user_labels index=1 src= label=RealTime rule create chain=user_labels index=2 src= label=Gold rule create chain=user_labels index=3 src= label=Gold rule create chain=user_labels index=4 src= label=Gold rule create chain=user_labels index=5 src= label=Gold

ATM QoS

62 Overview > QoS Profiles > Connection Admission Control > Shaping > Scheduling > ATM Bundling

ATM QoS QoS Profiles

64 Terminology > Peak Cell Rate (PCR): Max. number of ATM cells per second that may be sent on connection > Sustainable Cell Rate (SCR): Average number of ATM cells per second that may be sent on connection > Maximum Burst Size (MBS): Max. number of ATM cells per second that may be sent in burst (exceeding SCR for short period of time)

65 CBR Constant Bit Rate > Static amount of guaranteed bandwidth > Typically used for video GUARANTEED PCR NON COMPLIANT linerate cps time maxCTD

66 VBR Variable Bit Rate > Variable amount of guaranteed bandwidth > Typically used for bursty traffic PCR NON COMPLIANT linerate cps time SCR GUARANTEED MBS maxCTD

67 VBR: Real-Time / Non Real-Time > Real-Time Intended for real-time traffic with constrained delay and delay variation values Extra parameter: maxCTD (max. cell transfer delay, also applicable to CBR) > Non-Real-Time Intended for non-real-time traffic with bursty characteristic, but without transfer delay limitations

68 UBR Unspecified Bit Rate > All traffic non-guaranteed > Variable delay, best effort NON-GUARANTEED PCR NON COMPLIANT linerate cps time

ATM QoS Connection Admission Control

70 CAC > Connection Admission Control (CAC) Verification if connection that is requested to be established can be accepted > Parameters Guaranteed bandwidths of each connection Available line-rate > Main principle Σ guaranteed bandwidths available line-rate Non-guaranteed bandwidth always accepted, even when exceeding available line-rate

71 CAC – Continued > Calculation effective bandwidth: CBR > Parameters: PCR, SCR=PCR, MBS=1 cell > Available bandwidth: DSL line-rate > Recalculation: re-synchronization DSL-line Rule of thumb: effective bandwidth = PCR VBR-rt > Parameters: PCR, SCR, MBS > Available bandwidth: DSL line-rate > Recalculation: re-synchronization DSL-line

72 CAC – Continued > Calculation effective bandwidth VBR-nrt: > Parameters: PCR, SCR, MBS > Available bandwidth: DSL line-rate - Σ eff. real-time bandwidth recalculation: CAC of new real-time connection (CBR or VBR-rt) Re-synchronization DSL-line > Useful tool: CAC excel-sheetCAC excel-sheet

ATM QoS Shaping

74 Definition Shaping = altering traffic characteristics to ensure that cells are conform to traffic contract

75 Mechanisms > Buffering / queuing > PCR limitation Leaky Bucket shaping > Burst length limitation Token Bucket shaping

76 Connection Types > CBR, UBR: PCR shaping > VBR-rt / -nrt: PCR, SCR, MBS shaping

ATM QoS Scheduling

78 Definition Scheduling = selecting among all queues containing at least one cell that will be transmitted on output link

79 Selecting Order > Order of selecting: 1. CBR 2.VBR-rt 3.VBR-nrt 4. UBR > Round Robin scheduling between connections of same class

ATM QoS ATM Bundling

81 Concept Bundle concept allows multiple virtual circuits between CPE and BRAS to be grouped or bundled so that each end is treated as single IP interface. Allows ATM devices between BRAS and CPE to treat individual VCs in bundle with different QoS

82 Use Cases > VLAN user priority mapping > IP Precedence / DSCP mapping > Connection mapping

83 Priority Mapping > VLAN priority TPID = 0x8100, TCI = priority (3bit) + CFI (1bit) + VID (12bit) > TOS byte in IP header IP Precedence: DSCP:

84 ATM Bundling > Priority mapping: VLAN priority - IP Precedence / DSCP > Configuration > No need of VLAN to use IP precedence / DSCP mapping

85 Priority Mapping 802.1p valueIP PrecedenceDSCPInteral ClassQoS QueueATM-bundle mapping 76, 7CS6, CS715 Real-Time atm3_36 65 EF CS AF41 CS4 13 AF4 AF42, AF AF31 CS3 11 AF3 5 AF32, AF AF21 CS2 9 AF2 atm2_36 4 AF22, AF238 1 AF11 CS1 7 AF1 3 AF12, AF136 5 Best Effortatm1_36 00CS

86 ATM Bundling > Connection mapping: Load balancing of multiple IP-streams > Every IP-stream => stream-ID (ever increasing) > Stream-ID modulo 16 used to match against selector values

CLI

88 CLI > Creating Connection Traffic Descriptor (CTD) :atm qosbook ctdadd name=cbr_ctd_400 conformance=CBR peakrate=400 :atm qosbook add name cbr_400 txctd cbr_ctd_400 rxctd cbr_ctd_400 :atm qosbook ctdadd name=vbrrt_ctd_100 conformance=VBR peakrate=300 sustrate=100 maxburst=1200 realtime=enabled :atm qosbook add name vbrrt_100 txctd vbrrt_ctd_100 rxctd vbrrt_ctd_100 :atm qosbook ctdadd name=ubr_ctd_300 conformance=UBR peakrate=300 :atm qosbook add name ubr_300 txctd ubr_ctd_300 rxctd ubr_ctd_300

89 CLI – Continued > Creating ATM interface with QoS profile :atm phonebook add name=ph1_36 addr=1*36 :atm phonebook add name=ph2_36 addr=2*36 :atm phonebook add name=ph3_36 addr=3*36 :atm ifadd intf atm1_36 :atm ifconfig intf=atm1_36 dest=ph1_36 qos=cbr_400 ulp=mac :atm ifattach intf=atm1_36 :atm ifadd intf atm2_36 :atm ifconfig intf=atm2_36 dest=ph2_36 qos=vbrrt_100 ulp=mac :atm ifattach intf=atm2_36 :atm ifadd intf atm3_36 :atm ifconfig intf=atm3_36 dest=ph3_36 qos=ubr_300 ulp=mac :atm ifattach intf=atm3_36

90 CLI – Continued > Creating ATM bundle + defining selector range :atm bundle add name atm_bundle :atm bundle config name= atm_bundle policy=priority propagate=disabled :atm bundle ifadd name atm_bundle intf atm1_36 :atm bundle ifadd name atm_bundle intf atm2_36 :atm bundle ifadd name atm_bundle intf atm3_36 :atm bundle ifconfig name= atm_bundle intf=atm1_36 state=enabled low=0 high=5 :atm bundle ifconfig name= atm_bundle intf=atm2_36 state=enabled low=6 high=9 :atm bundle ifconfig name= atm_bundle intf=atm3_36 state=enabled low=10 high=15 :atm bundle attach name atm_bundle

91 CLI – Continued > Priority mapping: enable on incoming bridge interface > VLAN priority :eth bridge ifconfig intf=ethport1 prioconfig=overwrite :eth bridge ifconfig intf=ethport1 prioconfig=increase > IP precedence :eth bridge ifconfig intf=ethport1 prioconfig=overwrite ipprec=precedence > DSCP :eth bridge ifconfig intf=ethport1 prioconfig=overwrite ipprec=dscp