Outline ¾ Fundamental issues Lecture 8 Quality of Service (QoS) ¾ Basic functions and prerequisites ¾ Differentiated services ¾ Integrated services Paper: ”Fundamental Design Issues for the Future Internet”, Shenker, Scott Kurose-Ross: 7.1, 7.3, 7.5-7.6 2007-05-04 Sid 2 David Gundlegård, ITN QoS Definition ¾ ”Determining, setting and acting on priority levels for traffic flows” [McCabe, 2003] Fundamental Issues ¾ ”A defined measure of performance in a data communications system” [TechEncyclopedia] ¾ ”Service quality” vs ”Guaranteed service quality” 2007-05-04 Sid 4 David Gundlegård, ITN Internet Characteristics Application Requirements ¾ Packet oriented datagram approach ¾ Best effort ¾ Packets traverse multiple (unknown) networks with different characteristics ¾ FIFO is typically used in routers ¾ Time varying capacity in core network ¾ Elastic applications ¾ E-mail ¾ FTP ¾ Real-time applications ¾ IP telephony ¾ E.g. http://www.internettrafficreport.com ¾ Video conferences ¾ Semi elastic ¾ HTTP ¾ Streaming of stored/live audio and video 2007-05-04 Sid 5 2007-05-04 David Gundlegård, ITN Sid 6 David Gundlegård, ITN Quality of Service Real-time Applications Real-time Applications ¾ Constant playout delay (buffering) ¾ Adaptive playout delay ¾ Estimate delay at every burst of data ¾ When is this relevant? ¾ Silent time will vary… packets t i = timestamp of the i : th packet ri = the time packet i is received by receiver Trade-off for buffer size? loss packets generated packets received playout schedule p' - r playout schedule p-r time p i = the time packet i is played at receiver ri − t i = network delay for i : th packet Sid 7 p David Gundlegård, ITN vi = (1 − u )vi −1 + u | ri − ti − d i | d i = estimate of average network delay after receiving i : th packet v i = average delay variation Tid för uppspelning: pi = ti + d i + Kvi r 2007-05-04 d i = (1 − u )d i −1 + u (ri − ti ) p' 2007-05-04 Sid 8 David Gundlegård, ITN Application Adaption Internet Fundamental Issue - QoS ¾ Adjust application parameters according to network state ¾ Changed service model for Internet? ¾ Priority/Call admission/QoS gurantees ¾ As mentioned: playout delay ¾ Stay with best effort/complexity in end-systems? ¾ Coding ¾ Still no answer ¾ Compression (audio/video quality) ¾ Related: telephone/Internet/cellular convergence: ¾ Consencus in using IP ¾ Example: GSM full speech and half speech ¾ IP Multimedia Subsystem (IMS) ¾ Application to large-scale Internet? ¾ Today: ”Islands” of QoS 2007-05-04 Sid 9 2007-05-04 David Gundlegård, ITN David Gundlegård, ITN Goal of Network Design? Efficacy Example ¾ si = service delivered to i:th user ¾ Network with a single link with exponential server (capacity=1) ¾ Depending on delay, throughput, packet loss etc. ¾ U i ( si ) = application performance as function of service delivered ¾ Flows with Poisson arrivals ¾ Network design goal: ¾ Maximize the efficacy V = ∑U (s ) i i i ¾ Not always most important (fairness, ”platinum subscriptions”, etc.) Sid 11 David Gundlegård, ITN 2007-05-04 ¾ FIFO: d1 = d 2 = 1 (1 − 0.5) =2 ¾ V=2 ¾ Priority queuing: 1 4 3 d1 = (1 − 0.25) ¾ U1 = 4 − 2d1 d2 = (1 − 0.25)(1 − 0.5) ¾ U 2 = 4 − d2 ¾ Where d = average queuing delay ¾ V=8/3 ¾ R=0.25 ¾ Observe: maximizes collective benefit 2007-05-04 Sid 10 Sid 12 David Gundlegård, ITN 1 = = 8 3 ¾ Priority efficient! ¾ Dependent on utility functions, priority mechanism cost... Application Performance Overprovisioning ¾ Networks with real-time applications get overloaded ⎛B⎞ ⎝n⎠ ¾ i.e. V (n) = nU ⎜ ⎟ is maximized at n < infinity ¾ Maximum benefit is decreased when a new flow is added ¾ Overprovisioning difficult due to large demand variations ¾ Who should pay for this? 2007-05-04 Sid 13 David Gundlegård, ITN 2007-05-04 Sid 14 David Gundlegård, ITN Who Decides Flow Priority? ¾ Implicitly ¾ Network chooses level of priority (based on what?) ¾ Same service interface ¾ Network layer needs application layer information ¾ Violates the layer concept ¾ Fixed set of classes, new applications? ¾ Explicitly ¾ Who chooses a lower priority? ¾ Pricing? ¾ Needs to be stable but also extensible ¾ New interface and end-to-end communication 2007-05-04 Sid 15 David Gundlegård, ITN Basic Functions and Prerequisites Quality of Service Quality of Service QoS-principles Scheduling ¾ Decrease queuing delay for a certain type of traffic ¾ Split capacity ¾ First-in-first-out (FIFO) ¾ Priority queuing ¾ Classification based on e.g. ToS, IP address, port number… ¾ Long queuing delay for non-prioritized traffic ¾ How can we achieve this…? 2007-05-04 Sid 17 2007-05-04 David Gundlegård, ITN Sid 18 David Gundlegård, ITN Quality of Service Quality of Service Scheduling Policing (part I) ¾ Wighted fair queuing (WFQ) ¾ To be able to offer QoS, users traffic input rate needs to be restricted somehow ¾ Take turn between different queues ¾ Weight decides how many packets to transmit from every queue ¾ What should be restricted? ¾ Guaranteed part of capacity for a certain class ¾ Average rate (during how long time?) ¾ Equal weights = Round Robin ¾ Peak rate ¾ Burst size ¾ One common way to do it is to use a ”Leaky bucket” 2007-05-04 Sid 19 David Gundlegård, ITN 2007-05-04 Sid 20 David Gundlegård, ITN Quality of Service Leaky Bucket + WFQ = Max Delay Leaky Bucket ¾ A token is removed for every packet sent WFQ : Ri ≥ ¾ What is restricted by r and b? Rtot ⋅ wi ∑ wj (where Ri is throughput for class i) j =1..n How to restrict peak rate? Suppose ri < Ri ⇒ d max = Rtot bi wi ∑w j =1..n 2007-05-04 Sid 21 David Gundlegård, ITN 2007-05-04 Sid 22 David Gundlegård, ITN Random Early Detection (RED) RED ¾ ”Policing in the core network” ¾ Drop packets as a function of queue length ¾ Standard router behaviour: ¾ Objectives ¾ Tail drop when buffers are full ¾ Reduce number of dropped packets and hence increase throughput ¾ What happens with the aggregated throughput of multiple TCP-connections when a router buffer fills up? ¾ Decrease delay (due to less packets in the queue) ¾ Increase fairness among different flows ¾ ”Global ”synchronization” ¾ Use ”early” packet drops to increase throughput and decrease total number of packet drops 2007-05-04 j Sid 23 David Gundlegård, ITN 2007-05-04 Sid 24 David Gundlegård, ITN RED Standard version RED Performance ¾ Average queue length avg (t ) = (1 − w)avg (t − 1) + wq (t ) ¾ RED performance very dependent on parameters ¾ w = parameter ¾ q(t) = current queue length ¾ Drop probability p = Maxdrop ¾ Might degrade performance in both throughput and jitter avg − Minth Maxth − Minth ¾ Fairness ¾ Per flow management require heavy processing ¾ Between TCP flows ¾ Between TCP/UDP flows 2007-05-04 Sid 25 2007-05-04 David Gundlegård, ITN Sid 26 David Gundlegård, ITN Quality of Service Examples Internet QoS ¾ 1 Mbps Video telephone (UDP) + FTPtransfer (TCP) ¾ So far ¾ What happens? ¾ General principles and methods to offer QoS in packet oriented networks Classification, scheduling, policing, call admission, resource utilisation, layer 2 flow control… ¾ Quite easy to implement in ”self controlled” networks ¾ Difficult in the Internet ¾ IETF has two suggestions in order to offer QoS in the Internet ¾ Integrated services (Intserv) ¾ Differentiated services (Diffserv) ¾ 1.5 Mbps Video telephone + FTP-transfer? ¾ Still open question which one that will be mostly used ¾ 2 x 1 Mbps Video telephones? 2007-05-04 Sid 27 David Gundlegård, ITN 2007-05-04 Sid 28 David Gundlegård, ITN Quality of Service Quality of Service Diffserv Diffserv ¾ Straightforward and scalable way to introduce priority in the Internet ¾ IP-traffic is divided into different classes (flows) using the DS-field in the IP-header (previous ToS) ¾ Simple functionality in the core network ¾ How to assign different classes? ¾ Classification in hosts or edge routers ¾ Probably in edge routers (why?) ¾ Class priority ¾ Not decided exactly how (scheduling, policing…) ¾ Combine with policing ¾ Complexity in network edges ¾ The meter function compares user traffic with an agreed traffic profile ¾ Basic Internet idea ¾ Relative priority between service classes ¾ More information can be found in RFC 2475: http://www.ietf.org/rfc/rfc2475.txt 2007-05-04 Sid 29 David Gundlegård, ITN 2007-05-04 Sid 30 David Gundlegård, ITN Quality of Service Diffserv Intserv ¾ Per-hop behaviour ¾ Much more extensive way of introducing (guaranteed) QoS in the Internet ¾ Expedited forwarding (EF) ¾ Departure rate for a specific (aggregated) class must reach a configured rate ¾ With Intserv every application will be able to negotiate and receive guranteed QoS parameters ¾ Isolation ¾ To achieve this, we need ¾ Assured forwarding (AF) ¾ Four (aggregated) classes, each with minimum resource requirements and three drop categories ¾ Reserved resources ¾ Call setup ¾ Not specified how this should be met (WFQ, policing…) ¾ Classification does not depend only on traffic type (Diffserv), but to which application the flow belongs ¾ Diffserv will not give any guarantees, since flows are aggregated into classes of traffic in the core network ¾ However, Intserv does… 2007-05-04 Sid 31 David Gundlegård, ITN 2007-05-04 Sid 32 David Gundlegård, ITN Quality of Service Quality of Service Intserv RSVP ¾ Call setup ¾ Resource reservation protocol (RSVP) ¾ Traffic characterization and specification of desired QoS ¾ A protocol to reserve capacity in a IP-network ¾ Rspec/Tspec ¾ Signalling protocol ¾ Call setup signalling ¾ Nothing to do with how the capacity actually is reserved ¾ Rspec/Tspec forwarding ¾ RSVP ¾ Per-element call admission ¾ Reservations is made for multicast trees ¾ Service class Guranteed Quality of Service ¾ Unicast a degenerate case of unicast ¾ Proven bounds on delays and throughput (WFQ + leaky bucket + packetization effects) ¾ Receiver oriented ¾ Controlled-load network service ¾ The receiver of a flow initiates the reservation ¾ ”Very high percentage of packets will pass without being dropped and have a queuing delay close to zero” 2007-05-04 Sid 33 David Gundlegård, ITN 2007-05-04 Sid 34 David Gundlegård, ITN RSVP Next Lecture ¾ Heterogeneous receivers ¾ TCP performance in Wireless Networks ¾ Streams divided into different layers ¾ TCP performance in Assymmetric Networks ¾ Wireless QoS Important RSVP question: Scalable?? 2007-05-04 Sid 35 David Gundlegård, ITN 2007-05-04 Sid 36 David Gundlegård, ITN