Theory and Practice Dimitrios Kalogeras

Slides:



Advertisements
Similar presentations
Quality of Service CCDA Quick Reference.
Advertisements

© R. Jayanthan, K. Gunasakera 1999 Quality of Service in Multiservice Networks for Digital Economy R. Jayanthan & Kithsiri Gunasakera National IT Conference.
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.7: Introducing Traffic Policing and Shaping.
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies A Little More on Chapter 7 And Start Chapter 8 TCP/IP.
High Speed Networks and Internets : Multimedia Transportation and Quality of Service Meejeong Lee.
Real-Time Protocol (RTP) r Provides standard packet format for real-time application r Typically runs over UDP r Specifies header fields below r Payload.
© 2006 Cisco Systems, Inc. All rights reserved.QoS v2.2—5-1 Congestion Management Configuring FIFO and WFQ.
Managing Network Performance Queuing & Compression.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.10: Deploying End-to-End QoS.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
Networking Issues in LAN Telephony Brian Yang
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Internet QoS Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE CS/ECE 438: Communication Networks.
Design of QoS Router Terrance Lee. Broadband Internet Architecture Intelligent Access Electronic Switch (Intserv or Diffserv) Switching /Routing QoS Security.
TDRE Filtering and QoS TDRE Version The first choice for the mile p.2 IP filtering >With extended access lists >define in router/trafficPolicy.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.5: Configuring CBWFQ and LLQ.
© 2001, Cisco Systems, Inc. Traffic Shaping and Policing.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model.
© 2006 Cisco Systems, Inc. All rights reserved. QOS Lecture 4 - Introducing QOS.
3.4: Using MQC for Implementing QoS
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model.
© 2001, Cisco Systems, Inc. Classification and Marking.
1 © 2001, Cisco Systems. MPLS-QoS Jay Kumarasamy
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
CHAPTER 8 Quality of Service. Integrated services (IntServ) Ensure that a specific flow of traffic is going to receive the appropriate level of bandwidth.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
Quality of Service (QoS)
QOS مظفر بگ محمدی دانشگاه ایلام. 2 Why a New Service Model? Best effort clearly insufficient –Some applications need more assurances from the network.
CSC 336 Data Communications and Networking Lecture 8d: Congestion Control : RSVP Dr. Cheer-Sun Yang Spring 2001.
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Oppenheimer.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.2: Using NBAR for Classification.
Theory and Practice Dimitrios Kalogeras
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
© 2001, Cisco Systems, Inc. Modular QoS CLI Classification.
ACL & QoS.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 21 – Case Studies for Multimedia Network Support (Layer 3) Klara Nahrstedt Spring 2009.
Multimedia Wireless Networks: Technologies, Standards, and QoS Chapter 3. QoS Mechanisms TTM8100 Slides edited by Steinar Andresen.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 3: Introduction to IP QoS.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 3: Introduction to IP QoS.
Network Support for QoS – DiffServ and IntServ Hongli Luo CEIT, IPFW.
Analysis of QoS Arjuna Mithra Sreenivasan. Objectives Explain the different queuing techniques. Describe factors affecting network voice quality. Analyse.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 5: Implement Cisco AutoQoS.
Mr. Mark Welton.  Quality of Service is deployed to prevent data from saturating a link to the point that other data cannot gain access to it  QoS allows.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
Chapter 6. Configuring Queuing to Manage Traffic.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.6: Congestion Avoidance.
© 2006 Cisco Systems, Inc. All rights reserved. 3.2: Implementing QoS.
Lecture 8 -Traffic Management
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
Providing QoS in IP Networks
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Multicast and Quality of Service Internet Technologies and Applications.
Chapter 30 Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Instructor Materials Chapter 6: Quality of Service
QoS & Queuing Theory CS352.
Topics discussed in this section:
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Quality of Service Connecting Networks.
Computer Science Division
Module 4: Implement the DiffServ QoS Model
Presentation transcript:

Theory and Practice Dimitrios Kalogeras IP QoS Principles Theory and Practice Dimitrios Kalogeras

A Bit of History The Internet, originally designed for U. S. government use, offered only one service level: Best Effort. No guarantees of transit time or delivery Rudimentary prioritization was available, but it was rarely used. Commercialization began in early 1990’s Private (intranet) networks using Internet technology appeared. Commercial users began paying directly for Internet use. Commerce sites tried to attract customers by using graphics. Industry used the Internet and intranets for internal, shared communications that combined previously-separate, specialized networks -- each with its own specific technical requirements. New technologies (voice over the Internet, etc.) appeared, designed to capitalize on inexpensive Internet technologies.

The Demands on Modern Networks Network flexibility is becoming central to enterprise strategy Rapidly-changing business functions no longer carried out in stable ways, in unchanging locations, or for long time-periods Network-enabled applications often crucial for meeting new market opportunities, but there’s no time to custom-build a network Traffic is bursty Interactive voice, video applications have stringent bandwidth and latency demands Multiple application networks are being combined into consolidated corporate utility networks Bandwidth contention as critical transaction traffic is squeezed by web browsing, file transfers, or other low-priority or bulk traffic Latency problems as interactive voice and video are squeezed by transaction, web browsing, file transfer, and bulk traffic

Definitions Quality of Service (QoS) classifies network traffic and then ensures that some of it receives special handling. May track each individual dataflow (sender:receiver) separately. May include attempts to provide better error rates, lower network transit time (latency), and decreased latency variation (jitter). Differentiated Class of Service (CoS) is a simpler alternative to QoS. Doesn't try to distinguish among individual dataflows; instead, uses simpler methods to classify packets into one of a few categories. All packets within a particular category are then handled in the same way, with the same quality parameters. Policy-Based Networking provides end-to-end control. The rules for access and for management of network resources are stored as policies and are managed by a policy server.

QoS Background QoS development inspired by new types of applications in IP environment: Video Streaming Services Video Conferencing VoIP Legacy SNA / DLSw

QoS Architecture Models Best Effort Service Integrated Service Differentiated Service

Best Effort Service What exactly IP does: All packets treated equally Unpredictable bandwidth Unpredictable delay and jitter

IntServ (RFC1633)

DiffServ (RFC2474/2475)

QoS Architecture Components Classification Coloring Admission Control Traffic Shaping/Policing Congestion Management Congestion Avoidance Signaling

Statistical Behavior: Random Arrival In random arrival, the time that each packet arrives is completely independent of the time that any other packet arrives. If the true situation is that arrivals tend to be evenly spaced, then random arrival calculations will overestimate the queuing delay. If the true situation is that arrivals are bunched in groups (typical of data flows, such as packets and acknowledgements), then random arrival calculations will underestimate the queuing delay. Our intuition is usually misleading when we think of random processes. We tend to assume that queue size increases linearly as the number of customers increases. But, with random arrival, there is a drastic increase in queue size as the customer arrival rate approaches 80% of the theoretical server capacity. There’s no way to store the capacity that is unused by late customers, but early customers increase the queue.

Random Arrival and Intuition The surprising increase in queue length is best shown by a graph:

Random Arrival vs. Self-Similar Although random arrival is very convenient mathematically (it’s relatively simple to do random arrival calculations), it has been shown that much data traffic is self-similar. Ethernet and Internet traffic flows, in particular, are self-similar. The rate of initial connections is still random, however. Self-similar traffic shows the same pattern regardless of changes in scale. Fractal geometry (e.g., a coastline) is an example. Self-similar traffic has a heavy tail. The probabilities of extremely large values (e.g., file lengths of a gigabyte or more) don’t decrease as rapidly, as they would with random distributions of file lengths. This matches real data traffic behaviors. Long file downloads mixed with short acknowledgements Compressed video with action scenes mixed with static scenes

Traffic 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

Traffic Classification/ Admission Control Issues Always performed at the network perimeter Makes traffic conform to the internal network policy Marks packets with special flags (colors) Colors used afterwards inside the network for QoS management

Classification/ Admission Control Scheme Classifier Meter Marker Shaper/ Policer Packet Admitted Dropped

Classification Criteria IP header fields TCP/UDP header fields Routing information Packet Content (NBAR) i.e. HTTP, HTTPS, FTP, Napster etc.

Traffic Coloring Options IP Precedence DSCP QoS Group 802.1p CoS ATM CLP Frame Relay DE

Type-of-Service (RFC791) Precedence D T R Unused Version Length ToS Field Total Length … 8 15 31 1 D Normal Delay Low Delay T Normal Throughput High Throughput R Normal Reliability High Reliability

IP Precedence Values 111 Network Control 110 Internetwork Control 101 Critical 100 Flash Override 011 Flash 010 Immediate 001 Priority 000 Routine

DSCP Diffserv Code Point DSCP (6 bits) Unused Class 1 Class 2 Class 3 Class 4 Low Drop Precedence 001010 010010 011010 100010 Medium Drop Precedence 001100 010100 011100 100100 High Drop Precedence 001110 010110 011110 100110

Classification mechanisms MQC ( Modular Qos Command Line Interface) CAR ( Commited Access Rate)

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

Basic MQC Commands class-map [match-any | match-all] class-name router(config)# 1. Create Class Map - a traffic class ( match access list, input interface, IP Prec, DSCP, protocol (NBAR) src/dst MAC address, mpls exp). policy-map policy-map-name router(config)# 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). service-policy {input | output} policy-map-name router(config-if)# 3. Attach Service Policy - Associate the policy map with an input or output interface.

Basic MQC Commands 1. Create Class Map – defines traffic selection criteria Router(config)# class-map class1 Router(config-cmap)# match ip precedence 5 Router(config-cmap)# exit 2. Create Policy Map- associates classes with actions 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 – enforces policy to interfaces Router(config)# interface e1/1 Router(config-if)# service-policy output policy1 Router(config-if)# exit

Classification Configuring Sample IOS 12.1(5)T MQC based class-map match-all premium match access-group name premium ! class-map match-any trash match protocol napster match protocol fasttrack policy-map classify class premium set ip precedence priority class trash police 64000 conform-action set-prec-transmit 1 excess-action drop ip access-list extended premium permit tcp host 10.0.0.1 any eq telnet interface serial 2/1 ip unnumbered loopback 0 service-policy input classify Traffic class definitions QoS policy definition ACL definition QoS Policy attached to interface

Classification Configuring Sample CAR based ip cef ! interface serial 2/1 ip unnumbered loopback 0 rate-limit input access-group 100 64000 8000 8000 conform-action set-prec-transmit 1 exceed-action set-prec-transmit 0 access-list 100 permit tcp host 10.0.0.1 any eq http CAR definition ACL definition

Classification Configuring Sample Route-map based route-map classify permit 10 match ip address 100 set ip precedence flash ! route-map classify permit 20 match ip next-hop 1 set ip precedence priority interface serial 2/1 ip unnumbered loopback 0 ip policy route-map classify access-list 1 permit 192.168.0.1 access-list 100 permit tcp host 10.0.0.1 any eq http Route-map definitions Route-map attached to interface ACL definitions

Shaping/Policing Used to assign more predictive behavior to traffic Uses Token Bucket model

Token Bucket Model Token Bucket characterizes traffic source tc = Bc/v Overflow Tokens Tokens Incoming packets Conform Exceed Bc v C Token Bucket main parameters: Token Arrival Rate - v Bucket Depth - Bc Time Interval – tc Link Capacity - C tc = Bc/v

Token Bucket Model Bucket is being filled with tokens at a rate v token/sec. When bucket is full all the excess tokens are discarded. When packet of size L arrives, bucket is checked for availability of corresponding amount of tokens. If several packets arrive back-to-back and there are sufficient tokens to serve them all, they are accepted at peak rate (usually physical link speed). If enough tokens available, packet is optionally colored and accepted to the network and corresponding amount of tokens is subtracted from the bucket. If not enough tokens, special action on packet is performed.

Token Bucket Model Actions performed on nonconforming packets: Dropped (Policing) Delayed in queue either FIFO or WFQ (Shaping) Colored/Recolored

Token Bucket Model Bucket depth variation effect: Bc = 0 Constant Bit Rate (CBR) Bc No Regulation Bucket depth is characteristic of traffic burstiness Maximum number of bytes transmitted over period of time t: A(t)max = Bc+v·t

Excess Burst (Be) Cisco Implementation GTS ( Generic Traffic Shaping) If during previous tcn-1 interval bucket Bc was not depleted (there is no congestion), in the next interval tcn Bc+Be bytes are available for burst. In frame relay implementations packets admitted via Be tokens are marked with DE bit.

Excess Burst (Be) Cisco Implementation CBTS (Class Based Traffic Shaping) allows higher throughput in uncongested environment up to peak rate calculated as vPeak = vCIR(1+Be/Bc) Peak rate can be set up manually.

Excess Burst (Be) Cisco Implementation CAR allows RED like behavior: traffic fitting into Bc always conforms traffic fitting into Be conforms with probability proportional to amount of tokens left in the bucket traffic not fitting into Be always exceeds CAR uses the following parameters: t – time period since the last packet arrival Current Debt (Dcur) – Amount of debt during current time interval Compound Debt (Dcomp) – Sum of all Dcur since the last drop Actual Debt (Dact) – Amount of tokens currently borrowed

Excess Burst (Be) Cisco Implementation Packet of length L arrived CAR Algorithm Y Conform Action Bccur – L > 0 Bccur = Bccur – L N Dcur = L - Bccur Bccur = 0 Dcomp = Dcomp + Dcur Dact = Dact + Dcur +v·t Y Exceed Action Dact > Be N Y Dcomp > Be Dcomp = 0 N

Shaping Configuration Sample GTS Based interface serial 2/1 ip unnumbered loopback 0 traffic-shape rate 64000 8000 1000 256 ! interface serial 2/2 traffic-shape group 100 64000 8000 8000 512 access-list 100 permit tcp host 10.0.0.1 any eq http Shaper Definitions ACL definition Shaper can be only used to control egress traffic flow!

Policing Configuration Sample IOS 12.0(5)T CAR Based ip cef interface serial 2/1 ip unnumbered loopback 0 rate-limit output access-group 100 64000 8000 16000 conform-action transmit excess-action drop ! interface serial 2/2 rate-limit input 128000 16000 32000 conform-action transmit excess-action drop access-list 100 permit tcp host 10.0.0.1 any eq http CAR Definitions ACL definition Policer can be used to control ingress traffic flow!

Shaping/Policing Configuration Sample IOS 12.1(5)T MQI Based class-map match-all policed match protocol http class-map match-all shaped match access-group name ftp-downloads ! policy-map bad-boy class policed police 64000 8000 8000 conform-action transmit exceed-action drop class shaped shape average 128000 interface serial 2/1 ip unnumbered loopback 0 service-policy output bad-boy ip access-list extended ftp-downloads permit tcp any eq ftp-data any Class definitions QoS policy definition QoS Policy attached to interface ACL definition

CAR Policing Problem Why cannot my traffic reach CIR value? Cause: Improper setting of Bc and Be values CAR is aggressive, as drops excessive packets and the lost data needs to be retransmitted by upper layers (mainly TCP) after timeout. This also causes TCP to shrink its window reducing flow throughput. Cisco Systems recommends the following settings: Bc = 1.5xCIR/8 Be = 2xBc

Congestion Management

Queuing Traffic burst may temporarily exceed interface capacity Without queuing this excess traffic will be lost Queuing allows bursty traffic to be transmitted without drops Queuing strategy defines order in which packets are transmitted through egress interface Queuing introduced additional delay which signals to adaptive flows (like TCP) to back off their throughput

Queuing Algorithms FIFO Priority (Absolute) Weighted Round Robin (WRR) Fair

FIFO Simplest queuing method with the least CPU overhead No congestion control Transmits packets in the order of arrival High volume traffic can suppress interactive flows Default queuing for interfaces > 2Mbps (i.e. Ethernet)

FIFO average queue depth dependence on load

Absolute Priority Queuing Generic Priority Queuing Custom Queuing RTP Priority Queuing Low Latency Queuing (LLQ)

Simplest QoS Algorithm: Priority Queuing Stated requirement: “If <application> has traffic waiting, send it next” Commonly implemented Defined behavior of IP precedence 11

Priority Queuing Implementation Approach Identify interesting traffic Access lists Place traffic in various queues Dequeue in order of queue precedence 12

Q Length Defined by Q Limit Interface Buffer Resources Priority Queuing (PQ) Interface Hardware Ethernet Frame Relay ATM Serial Link Etc. High Traffic Destined for Interface Medium Classify Normal Transmit Queue Output Line Low Q Length Defined by Q Limit Absolute Priority Scheduling Interface Buffer Resources Classification by: Protocol (IP, IPX, AppleTalk, SNA, DecNet, Bridge, etc.) Incoming Interface (EO, SO, S1, etc.) 13

Priority Queuing Scheme High Empty? Medium Empty? Normal Empty? Low Empty? N N N N Send packet from High Send Packet from Medium Send Packet from Normal Send Packet from Low

Generic PQ Drawbacks Needs thorough admission control No upper limit for each priority level High risk of low priority queues` starvation effect

Generic PQ Configuration Sample priority-list 1 protocol ip high tcp telnet priority-list 1 protocol ip high list 100 priority-list 1 protocol ip medium lt 1000 priority-list 1 interface ethernet 0/0 medium priority-list 1 default low ! interface serial 2/1 ip unnumbered loopback 0 priority-group 1 access-list 100 permit tcp host 10.0.0.1 any eq http PQ Definition PQ Attached to Interface ACL definition

Custom Queuing (CQ) (Weighted Round Robin) Interface Hardware Ethernet Frame Relay ATM Serial Link Etc. 1/10 2/10 Traffic Destined for Interface 3/10 Transmit Queue Output Line 2/10 Classify 3/10 Up to 16 Link Utilization Ratio Weighted Round Robin Scheduling (byte count) Q Length Deferred by Queue Limit Classification by: Protocol (IP, IPX, AppleTalk, SNA, DecNet, Bridge, etc.) Incoming interface (EO, SO, S1, etc.) Interface Buffer Resources Allocate Proportion of Link Bandwidth)

WRR Drawbacks Unpredictable jitter Fairness significantly depends on MTU and TCP window size Complex calculations to achieve desired traffic proportions

CQ Byte-count Calculus Distribute bandwidth to 3 queues with proportion x:y:z and packet sizes qx, qy, qz. Calculate ax=x/qx, ay=y/qy, az=z/qz. Normalize and round ax, ay, az. ax’= round(ax/min(ax, ay, az)); ay’= round(ay/min(ax, ay, az)); az’= round(az/min(ax, ay, az)). Convert obtained packet proportion into byte count bcx = ax’·qx; bcy = ay’·qy; bcz = az’·qz. Actual bandwidth share of i-th queue can be calculated with the following formula: For better approximation obtained byte-counts can be multiplied by some positive whole number. Starting with IOS 12.1 CQ employs Deficit Round Robin algorithm and there is no need in such byte-count tuning.

CQ Configuration Sample queue-list 1 protocol ip 1 tcp telnet queue-list 1 protocol ip 2 list 100 queue-list 1 protocol ip 3 udp 53 queue-list 1 interface ethernet 0/0 4 queue-list 1 queue 1 byte-count 3000 queue-list 1 queue 2 byte-count 4500 queue-list 1 queue 3 byte-count 3000 queue-list 1 queue 4 byte-count 1500 queue-list 1 default 4 ! interface serial 2/1 ip unnumbered loopback 0 custom-queue-list 1 access-list 100 permit tcp host 10.0.0.1 any eq http CQ List Definition CQ Attached to Interface ACL Definition

“Bitwise Round Robin” Fair Queuing TDM Model Time Division Multiplexer Keshav, Demers, Shenker, and Zhang Simulates a TDM One flow per channel 22

TDM Message Arrival Sequence 6 4 1 5 2 Time Division Multiplexer 3 23

TDM Message Delivery Sequence 5 4 1 6 3 Time Division Multiplexer 2 24

Fair Queuing Algorithm Employs virtual bit-by-bit round robin model (BRR) BRR dynamics are described by the equation: i-th packet from flow a arriving at time t0 is services at time t : Servicing of i-th packet from flow a will start at Sia and finish at Fia : Additional  parameter is added for priority assignment to inactive flows : Packets are ordered for transmission according to Bia values.

Fair Queuing Approach Enqueue traffic in the sequence the TDM would deliver it As a result, be as fair as the TDM 25

Effects of Fair Queuing Low-bandwidth flows get As much bandwidth as they can use Timely service High-bandwidth flows Interleave traffic Cooperatively share bandwidth Absorb latency 26

What Weighting Does In TDM In WFQ Result: Channel speed determines message “duration” In WFQ Multiplier on message length changes simulated message “duration” Result: Flow’s “fair” share predictably unfair 27

Weighted Fair Queuing (WFQ) Traffic Destined for Interface Transmit Queue Output Line Classify Weighted Fair Scheduling Configurable Number of Queues Flow-Based Classification by: Source and destination address Protocol Session identifier (port/socket) Interface Buffer Resources Weight Determined by: Requested QoS (IP Procedure, RSVP) Frame Relay FECN, BECN, DE (For FR Traffic) Flow throughput (weighted-fair)

Weighted Fair Queuing (WFQ) Fair bandwidth per flow allocation Low delay for interactive applications Protection from ill-behaved sources

Weighted Fair Queuing (WFQ) Flow classified by the following fields: Source address Source port Destination address Destination port ToS Weight of each flow (queue) depends on ToS: weight = 1/(precedence+1) Bandwidth distributed in 1/weight proportions

Weighted Fair Queuing (WFQ) Packets are ordered according to the expected virtual departure time of their last bit. Low volume flows have preference over high volume transfers. Low volume flow is identified as using less than its share of bandwidth. The special queue length threshold value is established, after which only low volume flows can enqueue. All the packets, that belong to high volume flows are dropped.

Drawbacks of Weighted Fair Queuing Requires more sorting than other approaches 31

Weighted Fair Queuing (WFQ) FTP Telnet t Delay

Weighted Fair Queuing (WFQ) FTP Telnet t Delay

WFQ Configuration Sample interface serial 2/1 ip unnumbered loopback 0 fair-queue 32 128 0 Queue Threshold (packets) Number of reservable queues Maximal number of queues

RTP Priority Queuing Classifies only by UDP port range Only even ports from the range are classified Establishes upper limit via integrated policer Excess traffic dropped during congestion periods RTP PQ has priority over LLQ

RTP PQ Configuration Sample interface serial 2/1 ip unnumbered loopback 0 ip rtp priority 16384 16383 256 Starting UDP port Bandwidth Limit (kbps) Range length

Low Latency Queuing (LLQ) Implemented using MQI Very rich classification criteria (class-map) Establishes upper limit via integrated policer Excess traffic dropped during congestion periods

LLQ Configuration Sample IOS 12.0(5)T class-map match-all voice match access-group name voip ! policy-map llq class voip priority 30 class class-default fair-queue 64 interface serial 2/1 ip unnumbered loopback 0 service-policy output llq ip access-list extended voip permit ip host 10.0.0.1 any Class definitions LLQ policy definition LLQ Policy attached to interface ACL definition

Class Based WFQ (CBWFQ) Based on the same algorithm as WFQ Weights can be manually configured Allows to easily specify guaranteed bandwidth for a class Configuration based on Cisco MQI

CBWFQ Configuration Sample IOS 12.0(5)T class-map match-all premium match access-group name premium-cust class-map match-all low-priority match protocol napster ! policy-map cbwfq-sample class premium bandwidth 512 class low-priority shape average 128 shape peak 512 class class-default fair-queue 64 interface serial 2/1 ip unnumbered loopback 0 max-reserved-bandwidth 85 service-policy output cbwfq-sample ip access-list extended premium-cust permit ip host 10.0.0.1 any Class definitions Qos policy definition QoS Policy attached to interface ACL definition

CBWFQ Configuration Sample IOS 12.1(5)T Hierarchical Design class-map match-all premium match access-group name premium-cust class-map match-all voice match ip precedence flash ! policy-map total-shaper class class-default shape average 1536 service-policy class-policy policy-map class-policy class premium bandwidth 512 class voice priority 64 fair-queue 128 interface fastethernet 1/0 ip unnumbered loopback 0 max-reserved-bandwidth 85 service-policy output total-shaper ! ip access-list extended premium-cust permit ip host 10.0.0.1 any

Hierarchical CBWFQ Limitations Only two levels of hierarchy are supported set command not supported in child policy Shaping allows only in parent policy LLQ can be configured only either in child or parent policies but not in both FQ allowed only in child policy

Congestion Avoidance

Global Synchronization Effect Load t Link Capacity Avg. Throughput

Tail Drop and TCP Flow Control Packet drops from all TCP sessions simultaneously High probability of multiple drops from the same TCP session Uniformly distributed drops from high volume and interactive flows Result: Low average throughput!

Random Early Detection (RED) Developed by Van Jacobson in 1993 Starts randomly dropping packets before actual congestion occurs Keeps average queue depth low Increases average throughput

Global Synchronization Removed Load t Link Capacity Avg. Throughput

Random Early Detection (RED) p 1 qavg  max  min  RED Adjustable p 1 qavg qmax Tail Drop

Random Early Detection (RED) RED Parameters: min – Minimal threshold after which RED starts packet drops. Minimal recommended value is 5 packets. max – Maximal threshold after which all packets are dropped. Recommended value is 2-3 times min.  - Mark probability denominator denotes packet drop probability at max average queue depth. Optimal value – 0.1 .  - Exponential weighting factor determines the level of backward value-dependence in average queue depth calculation: qavg = (qold · (1 - 2-)) + (qcur · 2-) General recommendation  = 9.

TCP Rate Control - 1 In TCP, the spacing of ACKs and the window size in the ACKs controls the transmitter’s rate. Rate Control manipulates the ACKs as they pass through the rate control device by: Adjusting the size of TCP ACK window Inserting new ACKs Re-spacing existing ACKs Rate Control works only with TCP; other methods, such as Token Bucket, must be used with UDP. Rate Control violates the protocol layering design, as it allows network devices to manipulate a higher-layer protocol’s operation. Nevertheless, it usually functions well and provides fine-grained control.

TCP Rate Control - 2 Example:

Weighted Random Early Detection (WRED) Modified version of RED Weights determine the set of parameters: min , max and  . Weight depends on ToS field value Interactive flows are preserved

WRED Configuration Sample Interface based interface serial 2/1 ip unnumbered loopback 0 random-detect random-detect 0 32 64 20 random-detect 1 32 64 20 random-detect 2 32 64 20 random-detect 3 32 64 20 … min max 

WRED Configuration Sample MQI based policy-map red class class-default random-detect random-detect 0 32 64 20 random-detect 1 32 64 20 random-detect 2 32 64 20 random-detect 3 32 64 20 … interface Serial2/1 ip unnumbered loopback 0 service-policy output red min max  WRED is incompatible with LLQ feature!

Link Optimization

Link Fragmentation and Interleaving (LFI) For links < 128kbps Voice Packet Jumbogram 64 kbps 1500 bytes  190ms

Link Fragmentation and Interleaving (LFI) 64 kbps Supported interfaces: Multilink PPP Frame Relay DLCI ATM VC

LFI Configuration Sample MLP version interface virtual-template 1 ip unnumbered loopback 0 ppp multilink ppp multilink interleave ppp multilink fragment-delay 30 ip rtp interleave 16384 1024 512 …

Signaling

Resource Reservation Protocol (RSVP) End-to-end QoS signaling protocol Used to establish dynamic reservations over the network Always establishes simplex reservation Supports unicast and multicast traffic Actually uses WFQ and WRED mechanisms

Resource Reservation Protocol (RSVP)

Resource Reservation Protocol (RSVP)

Resource Reservation Protocol (RSVP) Reservation Types: Guaranteed Rate (uses WFQ and LLQ) Controlled Load (uses WRED) Distinct Shared Explicit Fixed Filter (FF) Shared Explicit (SE) Wildcard X Wildcard Filter (WF)

Resource Reservation Protocol (RSVP)

QoS Policy Propagation over BGP QoS policy can be shared inside single AS or among different ASs. Community attribute is usually used for color assignments Prevents manual policy changes in network devices

QoS Policy Propagation over BGP

QPPB Configuration Sample Router A Router B ip bgp-community new-format ! router bgp 10 neighbor 10.0.0.1 remote-as 20 neighbor 10.0.0.1 send-community neighbor 10.0.0.1 route-map cout out route-map cout permit 10 match ip address 20 set community 60:9 access-list 20 permit 192.168.0.0 0.0.0.255 ip bgp-community new-format ! router bgp 20 neighbor 10.0.0.2 remote-as 10 table-map mark-pol route-map mark-pol permit 10 match community 1 set ip precedence flash ip community-list 1 permit 60:9 interface Serial 0/1 ip unnumbered loopback 0 bgp-policy source ip-prec-map

Topics not Covered Multiprotocol Label Switching (MPLS) Frame Relay QoS ATM QoS Distributed Queuing Algorithms Multicast

Conclusion QoS is not an exotic feature any more QoS allows specific applications (VoIP, VC) to share network infrastructure with best-effort traffic QoS in IP networks simplifies their functionality avoiding Frame Relay and ATM usage

? Questions???