CSCD 433/533 Advanced Networks Spring 2016 Lecture 22 Quality of Service 1
Topics Quality of Service (QOS) Defined Properties Integrated Service Differentiated Service 2
Introduction Problem Overview Have many users Have many different kinds of traffic How do you satisfy most users and accommodate traffic with different needs? When. Networks were designed to be best effort delivery
Quality of Service (QOS) Introduction What is QOS? QoS is ability to differentiate diverse classes of traffic based on Predefined or user-defined criteria and Assign priorities based on traffic attributes Deal with the traffic classes according to their needs How do we allocate network resources so every packet is happy?
Quality of Service (QOS) Measure of performance that reflects Service availability and Transmission quality Service Availability Services and applications are available when needed Transmission Quality Function of Loss, Delay and Jitter
Quality of Service More Loss Delay Jitter Percent of packets dropped Latency, time of delivery between source and destination Jitter is difference in between packet delivery Packet1 takes 25 ms and Packet2 takes 50 ms So, measure of jitter is 25 ms %
QOS Introduction QOS Issues What kinds of tools do you need to insure QOS? Recall, problem different types of traffic Need fairness, cost is also factor
Principles of QOS
Principles for QOS Guarantees Simple model for sharing and congestion studies ( dumbell topology ) Look at examples using this model
Principles for QOS Guarantees Phone application at 1Mbps and FTP application sharing a 1.5 Mbps link. Bursts of FTP can congest router and cause audio packets to be dropped. Want to give priority to audio over FTP PRINCIPLE 1: Mark packets so router can distinguish between different classes Have router policy treats packets accordingly
Marking Packets Many ways to classify and label traffic Layer 2 MAC address, MPLS Values Multi-protocol Label Switching, protocol for managing traffic for ISP's Layer 3 IP address Layer 4 TCP/UDP ports Layer 5 Application Signatures
Principles for QOS Guarantees Applications misbehave (audio sends packets at a rate higher than 1Mbps assumed above) PRINCIPLE 2: Provide protection (isolation) for one class from other classes Require Policing Mechanisms to ensure sources adhere to bandwidth requirements Marking and Policing done at edges
Principles for QOS Guarantees Cannot support traffic beyond link capacity. PRINCIPLE 3: Need a Call Admission Process - - - Application flow requests service - Network may block call if it cannot satisfy needs
QOS Approaches Two Strategies Proposed, 1990's Fine-grained provide QOS to individual applications or flows Integrated Services Architecture developed by IETF used with RSVP, 1994 Course-grained provide QOS to large classes of data or aggregated traffic Differentiated Services Another architecture developed by IETF, 1998 14
Integrated Services (IntServ) Body of work produced by IETF Proposed around 1995-1997 Integrated Services working group developed Service Classes Designed to meet different application requirements Defined protocol RSVP used to make reservations using those service classes 15
Applications' Classes Applications classified based on their requirements and responses for delay 16
Application Requirements 5-30 Quality-of-service requirements
IntServ Service Classes Service class 1 Best Effort Service class 2, Guaranteed Service Designed for Intolerant Applications Applications require packets never arrives late Network needs to guarantee that max delay for a packet has value Application can then set playback point so no packet ever arrives after its playback time 18
IntServ Service Classes Service Class 3 - Controlled Load Meets needs for Tolerant, adaptable applications Some applications produce reasonable quality for loss rates 10% or less Goal of controlled load Emulate lightly loaded network even though network may be under heavy load 19
IntServ Service Classes Implement a queuing mechanism Like Weighted Fair Queuing (WFQ) Isolate controlled load traffic Use Admission Control to limit amount of controlled load traffic on a link so load is kept low More on Admission Control later Idea is don t want to overload a given link so that it can t achieve QOS requests from Controlled Load Traffic 20
21 Weighted fair queuing Weights for queues not equal Based on Traffic Class
IntServ Overview Then, every router in the system implements IntServ - Every application that requires some kind of guarantees has to make an individual reservation - "Flow Specs" describe the traffic and its needs - IntServ uses Reservation protocol (RSVP) to make reservations QoS #22
Leaky Bucket and Token Bucket
Leaky Bucket Concept - Leaky Bucket Algorithm based on analogy of a bucket that has a hole in bottom through which water will leak away at a constant rate - Hence, leaky bucket determines whether adding water would exceed or conform to limit on rate which water can be added - Set by leak rate, and - Limit on how much water can be added in a burst, - Set by depth of bucket http://en.wikipedia.org/wiki/leaky_bucket
The Leaky Bucket Algorithm (a) A leaky bucket with water. (b) a leaky bucket with packets.
Token Based Leaky Bucket A version of leaky bucket uses tokens to force flow to a specified rate A leaky bucket flow control mechanism is then a software realization of very simple idea Packets waiting for transmission arrive according to some arrival distribution Tokens arrive periodically (deterministically ) Cell must have a token to enter network See next slides
Leaky Bucket (Cont d) Incoming Tokens at rate r tokens/sec Incoming Cells 5 4 32 1 + To Network
Leaky Bucket (Cont d) Incoming Tokens Incoming Cells 5 4 32 1 + To Network
Leaky Bucket (Cont d) Incoming Tokens Incoming Cells 5 43 2 + 1 To Network
Leaky Bucket (Cont d) Incoming Tokens Incoming Cells 5 4 3 + 2 1 To Network
Leaky Bucket (Cont d) Incoming Tokens Incoming Cells 5 4 + 3 2 1 To Network
IntServ Flow Specs Each flow has a flow spec which has two parts 1. Traffic SPECification (TSPEC) What does traffic look like TSPECs specifies avg data rate, token rate, bucket depth, MAC frame size and maximum service interval Ex. A video with refresh rate of 75 frames/sec, each frame taking 10 packets, might specify a token rate of 750Hz, and a bucket depth of 10 A phone conversation would need a lower token rate, but a much higher bucket depth Pauses in conversations, so can make do with less tokens by not sending gaps between words and sentences
IntServ Flow Specs 2. Request SPECification (RSPEC) What guarantees does traffic need Best effort - no reservation is needed. Controlled Load - mirrors performance of a lightly loaded network. Both delay and drop rate are fairly constant at the desired rate. Guaranteed absolutely bounded service, the delay is promised never to go above a desired amount, and packets never dropped, provided the traffic stays within spec.
34 RSVP Basic Operations RSVP is the reservation protocol for IntServ Sender Sends PATH message to routers Set up the path state each router including the address of previous hop Receiver Sends RESV message on the reverse path Specifies the QoS desired Set up the reservation state at each router
Intserv: QoS guarantee scenario Resource Reservation Call setup, signaling (RSVP) Traffic, QoS declaration Per-element admission control QoS-sensitive scheduling (e.g., WFQ) request/ reply QoS #35
Admission Control How it Works New flow desires level of service Admission control looks at Tspec and Rspec Tries to decide if service can be provided given current resources Can t cause previous flows to get worse service If it can provide service, flow is admitted If it can t provide service, flow is denied Difficult part, when do you say yes or no? 36
Admission Control Different from policing Policing is on a per-packet basis while Admission control is a per flow decision If flow not behaving Going outside its Tspec Will interfere with other flows, some action is required Actions Can include dropping the flow Check for interference, and if not, mark it as nonconforming, but send it on These marked packets will be dropped should bandwidth become an issue 37
Problems of IntServ All applications need to make reservations. Which means many states must be stored in each router As a result, IntServ is limited to small-scale As we scale up to a system, Internet, difficult to keep track of all of the reservations Many users might not even be able to make reservations because bandwidth hasn t increased. Hence IntServ is not very popular Making reservation bursty traffic Waste of network resources Policing network, introducing more states in routers.
Differentiated Services
Differentiated Services (DiffServ) Another strategy DiffServ deals with bulk flows of data rather than single flows and single reservations A single negotiation will be made for all of the packets from a single ISP or a single university Contracts resulting from these negotiations are called "service level agreements or SLA's These service level agreements will specify Classes of traffic Guarantees that are needed for each class And how much data will be sent for each class
Diffserv Diffserv defines an architecture and a set of forwarding behaviors. It is up to service providers to define and implement end-to-end services on top of this architecture. Offers a more flexible service model Services can differ by ISP One of the main motivations for Diffserv is scalability Keep the core of the network simple. Focus of Diffserv is on supporting QoS for Flow aggregates
How does DiffServ work? Sender marks ToS in IPv4 or IPv6 header Determines forwarding treatment, or per-hop behavior, at each network node Delay-bound or Jitter-bound or Bandwidth Packet is assigned to mapping behavior for processing By DS-compliant router Per-hop behaviors (PHBs) are applied to traffic at Network ingress point (network border entry) according to pre-determined policy PHB provides a particular service level (bandwidth, queuing, and dropping decisions) in accordance with network policy Traffic may be marked at this point, Routed according to marking, then Unmarked at the network egress (network border exit).
DiffServ over Multiple Domains
Advantages of DiffServ One advantage of DiffServ, All policing and classifying is done at Boundaries between DiffServ clouds Core of Internet, routers can get on with job of routing, and Not care about complexities of collecting payment or enforcing agreements
DiffServ Disadvantages DiffServ is simply mechanism for deciding which packets to delay or drop at expense of others If DiffServ is working by dropping packets, traffic on link is close to saturation Any further increase in traffic will result in Bronze (lowest) services being taken out altogether Since Internet traffic is highly bursty, almost certain to happen on a regular basis if traffic on a link is near limit at which DiffServ becomes needed For this reason, DiffServ will always be inferior to adding sufficient network capacity to avoid packet loss on all classes of traffic
Disadvantages of DiffServ Continuing. A glut of fibre capacity is far easier and cheaper to add than to employ elaborate DiffServ policies as a way of increasing customer satisfaction DiffServ is for most ISPs only a way of rationing customer network utilisation to allow greater overbooking of their existing capacity Use DiffServ tools to suppress peer-to-peer traffic, because of its ability to saturate customer links indefinitely. ISP's business model relies on 1%-10% link utilization for most customers.
Summary The market has not yet favoured QoS services. Network that offers sufficient bandwidth for most applications, most of the time, is already economically stable, with little incentive to deploy non-standard stateful QoS-based applications. Internet peering arrangements are already complex, not many providers are for supporting QoS across peering connections If dropping many packets on elastic low-qos connections, the connection is already overwhealmed and will violate traffic contracts Bottom line adding more bandwidth wins in most cases!!! However, traffic shaping and policing is done per ISP
End 48
1
Introduction Problem Overview Have many users Have many different kinds of traffic How do you satisfy most users and accommodate traffic with different needs? When. Networks were designed to be best effort delivery 3
Quality of Service (QOS) Introduction What is QOS? QoS is ability to differentiate diverse classes of traffic based on Predefined or user-defined criteria and Assign priorities based on traffic attributes Deal with the traffic classes according to their needs How do we allocate network resources so every packet is happy? 4
Quality of Service (QOS) Measure of performance that reflects Service availability and Transmission quality Service Availability Services and applications are available when needed Transmission Quality Function of Loss, Delay and Jitter 5
Quality of Service More Loss Delay Jitter % Percent of packets dropped Latency, time of delivery between source and destination Jitter is difference in between packet delivery Packet1 takes 25 ms and Packet2 takes 50 ms So, measure of jitter is 25 ms 6
QOS Introduction QOS Issues What kinds of tools do you need to insure QOS? Recall, problem different types of traffic Need fairness, cost is also factor 7
Principles of QOS 8
Marking Packets Many ways to classify and label traffic Layer 2 MAC address, MPLS Values Multi-protocol Label Switching, protocol for managing traffic for ISP's Layer 3 IP address Layer 4 TCP/UDP ports Layer 5 Application Signatures 11
Application Requirements 5-30 Quality-of-service requirements 17
21
Leaky Bucket and Token Bucket 23
Leaky Bucket Concept - Leaky Bucket Algorithm based on analogy of a bucket that has a hole in bottom through which water will leak away at a constant rate - Hence, leaky bucket determines whether adding water would exceed or conform to limit on rate which water can be added - Set by leak rate, and - Limit on how much water can be added in a burst, - Set by depth of bucket http://en.wikipedia.org/wiki/leaky_bucket 24
The Leaky Bucket Algorithm (a) A leaky bucket with water. (b) a leaky bucket with packets. 25
IntServ Flow Specs Each flow has a flow spec which has two parts 1. Traffic SPECification (TSPEC) What does traffic look like TSPECs specifies avg data rate, token rate, bucket depth, MAC frame size and maximum service interval Ex. A video with refresh rate of 75 frames/sec, each frame taking 10 packets, might specify a token rate of 750Hz, and a bucket depth of 10 A phone conversation would need a lower token rate, but a much higher bucket depth Pauses in conversations, so can make do with less tokens by not sending gaps between words and sentences 32
IntServ Flow Specs 2. Request SPECification (RSPEC) What guarantees does traffic need Best effort - no reservation is needed. Controlled Load - mirrors performance of a lightly loaded network. Both delay and drop rate are fairly constant at the desired rate. Guaranteed absolutely bounded service, the delay is promised never to go above a desired amount, and packets never dropped, provided the traffic stays within spec. 33
RSVP Basic Operations RSVP is the reservation protocol for IntServ Sender Sends PATH message to routers Set up the path state each router including the address of previous hop Receiver Sends RESV message on the reverse path Specifies the QoS desired Set up the reservation state at each router 34
Differentiated Services 39
DiffServ over Multiple Domains 43
Advantages of DiffServ One advantage of DiffServ, All policing and classifying is done at Boundaries between DiffServ clouds Core of Internet, routers can get on with job of routing, and Not care about complexities of collecting payment or enforcing agreements 44
DiffServ Disadvantages DiffServ is simply mechanism for deciding which packets to delay or drop at expense of others If DiffServ is working by dropping packets, traffic on link is close to saturation Any further increase in traffic will result in Bronze (lowest) services being taken out altogether Since Internet traffic is highly bursty, almost certain to happen on a regular basis if traffic on a link is near limit at which DiffServ becomes needed For this reason, DiffServ will always be inferior to adding sufficient network capacity to avoid packet loss on all classes of traffic 45
Disadvantages of DiffServ Continuing. A glut of fibre capacity is far easier and cheaper to add than to employ elaborate DiffServ policies as a way of increasing customer satisfaction DiffServ is for most ISPs only a way of rationing customer network utilisation to allow greater overbooking of their existing capacity Use DiffServ tools to suppress peer-to-peer traffic, because of its ability to saturate customer links indefinitely. ISP's business model relies on 1%-10% link utilization for most customers. 46