1 / 40

Quality-of-Service

Quality-of-Service. What is Quality-of-Service? QoS refers to traffic control mechanisms that seek to either differentiate performance based on application or network-operator requirements, or provide predictable or guaranteed performance to applications, sessions, or traffic aggregates.

kpuryear
Download Presentation

Quality-of-Service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quality-of-Service ECE1545

  2. What is Quality-of-Service? QoS refers to traffic control mechanisms that seek to either differentiate performance based on application or network-operator requirements, or provide predictable or guaranteed performance to applications, sessions, or traffic aggregates. Why is this an issue? The default service in many packet networks is to give all applications the same service, and not consider any service requirements to the networkThis is called a best-effort service. Quality of Service

  3. QoS: History • QoS for packet networks was a big issue in the 1990s • IntServ and DiffServ architectures for the Internet • QoS has not played an important role in 2000s until 2019s • Recently it has become increasingly important (not under “QoS” label): • IEEE TSN working group in 802.1Q (Time sensitive networking) • IETF DetNet working group (Deterministic Networking) • Driving factors: • Ultra-reliable and low-latency communication of 5G • Internet of Things ECE1545

  4. Slide from Ericsson Research

  5. Who needs Quality-of-Service? Video and audio conferencing bounded delay and loss rate Video and audio streaming bounded packet loss rate Time-critical applications (real-time control)  bounded delays “valuable applications” better service than less valuable applications How are Quality-of-Service requirements specified? QoS parameters are Delay Delay Variation (Jitter) Throughput Error Rate Quality of Service

  6. What is the granularity of QoS? Per-flow QoS  Guarantees are specified and enforced for single end-to-end data flow Class-based QoS  Guarantees are specified and enforced for groups of flows Quality of Service

  7. Per-flow guarantees Require per-flow reservations in the network Require per-flow classification at routers Granularityof QoS

  8. 1 1 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 1 2 Granularity of QoS 1 2 1 2 • Per-class guarantees • Bundle traffic flows with similar service requirements into “classes” • No per-flow reservations • Per-class guarantees do not immediately translate into per-flow guarantees

  9. Absolute QoS guarantees Assumes per-flow guarantees The QoS of a flow is independent of QoS of other flows Objective of service: “Isolation” Guarantees can be deterministic or statistical Needs resource reservation mechanism Levels of QoS guarantees

  10. Adaptive QoS guarantees Adapts QoS to load conditions in the network; potentially with upper and lower bounds. Objective of Service: “Fairness” Does not need resource reservation Needs adaptive feedback mechanism No QoS guarantees (Best Effort) - Objective of Service: “Sharing” - Always works Levels of QoS guarantees

  11. y t i y l t i i t l i U t U y t i l i QoS t U QoS Application needs Application can adapt utility  absolute QoS QoS  adaptive QoS Application toler- ates QoS variations  best effort Components of QoS in a Network

  12. Deterministic QoS Service guarantees are enforced for all traffic For example, deterministic delay guarantees have the form: Delay of a packet from flow X < D (D is called a delay bound) Statistical QoS Allows a certain fraction of traffic to violate the service guaranteesProb [ Delay of a packet from flow X < D ] > 1 - e Where e is a small number (e.g., e = 10-6) Types of QoS guarantees

  13. Quality of Service Network Admission Control Switch Receiver Sender Policing and Shaping • Traffic description: 1 Mbps throughput, 100 kB max. burst • Quality of Service parameters: 10-5 loss rate, 50 msec delay

  14. An application submits to network a reservationrequest for a new flow with a traffic specification and desired QoS Network performs admission control functions which determines if sufficient resources are available to (a) satisfy the desired QoS of new flow (b) without violating QoS of existing flows If sufficient resources are available, network reserves resources for flow; Otherwise, it rejects the flow Network performs policing and shaping at the network entrance to ensure that application adheres to its specification Traffic Contract

  15. QoS is easy to achieve if the network over allocates resources for each flow Allocating bandwidth at the peak rate, yields deterministic QoS, but is very inefficient Challenge of QoS Networking: Build a network that can provide QoS with the least amount of resources Using better algorithms has the same effect as adding bandwidth (or other resources) Exploit multiplexing gain in packet networks Problem: Complexity and scalability of QoS techniques Why is QoS Hard ?

  16. Earliest-Deadline-First GPS Static Priority FCFS Peak Rate Multiple Buckets Token Bucket Peak Rate Allocation Deterministic service Statistical service Average Rate Designing Networks for Multiplexing Gain Scheduling Traffic Characterization/ Conditioning Service /Admission Control

  17. Earliest-Deadline-First GPS Static Priority FCFS Token Bucket Multiple Buckets Peak Rate Peak Rate Allocation Deterministic service Statistical service Average Rate DesigningNetworks for Multiplexing Gain Scheduling Traffic Characterization/ Conditioning Service /Admission Control

  18. Earliest-Deadline-First GPS Static Priority FCFS Peak Rate Token Bucket Peak Rate Allocation Statistical service Average Rate Designing Networks for Multiplexing Gain Scheduling Deterministic service Multiple Buckets Traffic Characterization/ Conditioning Service /Admission Control

  19. Earliest-Deadline-First GPS Static Priority FCFS Peak Rate Token Bucket Peak Rate Allocation Deterministic service Statistical service Average Rate Designing Networks for Multiplexing Gain Scheduling ? Multiple Buckets Traffic Characterization/ Conditioning Service /Admission Control

  20. Routers need to be able to classify arriving packets according to their QoS requirements  Packet Classification isolate traffic flows and provide requested QoS  Packet Scheduling Classification and Scheduling

  21. Forwarding Engine Packet Classification Classifier (Policy Database) Predicate Action ---- ---- ---- ---- ---- ---- Packet Classification Packet classification is done before routing table lookup HEADER Action Incoming Packet CS757

  22. Packet scheduling algorithm determines the order in which backlogged packets are transmitted on an output link Packet Scheduling Allocating output bandwidth Controlling packet delay scheduler CS757

  23. Traffic conditioning mechanisms at the network boundary need to enforce that traffic from a flow adheres to its specification Policing Drop traffic that violates the specification Shaping Buffer traffic at network entrance that violates specification Marking Mark packets with a lower priority or as best effort, if the traffic specification is violated Traffic Conditioning

  24. Admission Control Conditions determine if the network can support the QoS requirements for a given set of flows Example: End-to-end delay must be less than delays at all nodes Admission Control 3 1 2 d1,j d2,j d3,j Dj = d1,j + d2,j + d3,j

  25. Example: End-to-end delay must be less than a delay bound D Calculate smallest possible delay bound at each node: d1,d2 ,d3 and reserve resources At receiver: If D < d1+d2+d3 , reject flow, send reject message to sender and release resources If D > d1+d2+d3 , accept flow, commit resource reservation and notify sender Distributed Admission Control D,d1,d2,d3 R D,d1 D,d1,d2 3 D 1 2 S Reject D < d1+d2+d3 Reject Accept D > d1+d2+d3 Accept

  26. Example: End-to-end delay must be less than a delay bound D Calculate smallest possible delay bound at each node: d*1,d*2 ,d*3 and reserve resources At receiver: If D < d1+d2+d3 , send reject message to sender If D > d1+d2+d3 , accept flow and reserve resources Centralized Admission Control R 3 D 1 2 S D < d1+d2+d3 Reject Reject server D > d1+d2+d3 Accept Accept Reserve

  27. Quality-of-Service Architectures for the InternetIntegrated Services (IntServ)

  28. QoS Service Architectures for the Internet • Two QoS architectures have been defined for Internet. • Integrated Services (IntServ) • Proposed in 1994 • Per-flow Quality of Service • Resource reservation/admission control • Can support delay guarantees • Differentiated Services (DiffServ) • Proposed in 1998 • Class-based QoS • Resource reservation not always needed

  29. Integrated Services IntServ specifies two types of services: Guaranteed Service • Guaranteed bandwidth • End-to-end delay bounds • No loss due to buffer overflows Controlled Load Service • Provides a service that is equivalent to a best effort service in a lightly loaded netework • Low loss • Low delay • No absolute guarantees

  30. At network entrance: Policing and Shaping Somewhere in the network: Admission Control At switches: Classification, Scheduling Between hosts and routers: Signaling FlowSpec (TSpec, RSpec) Distributed or Centralized Weighted Fair Queuing or other latency-rate algorithm RSVP Integrated Services in IntServ

  31. Guaranteed Service • A flow must perform a reservation request during a flow setup phase • Uses RSVP • Traffic Specification (T-SPEC): E(t) = min (M + pt, rt + b) • M is max. packet size • p is peak rate • r is average rate • b is burst size • Routers along a path accept or reject reservation

  32. Latency-rate Schedulers • Guaranteed service assumes that routers implement a latency-rate service curve with delay T and rate R: S(t) = R · (t – T)+ with • T = L /R + D • L is the maximum packet size of this flow • D = Lall / C is the maximum packet transmission time • Lall is maximum packet size at this link • C is the link capacity Router implementations (some in software): • Cisco – WFQ • Extreme Networks – WFQ, CBQ, DRR • Nortel - CBQ

  33. RSVPD Routing Process Application Policy Control Policy Control Admissions Control Admissions Control Packet Classifier Packet Scheduler Packet Classifier Packet Scheduler RSVP Functional Diagram Host Router RSVPD D A T A DATA DATA Source: Gordon Chaffee, UC Berkeley

  34. Senders advertise using PATH message Receivers reserve using RESV message Flowspec + filterspec + policy data Travels upstream in reverse direction of Path message Merging of reservations Sender/receiver notified of changes Resource Reservation Source: Gordon Chaffee, UC Berkeley CS757

  35. RSVP in IntServ • Flow set-up: • advertisement with PATH message from source • contains TSPEC (p,M,r,b) of the source • containsADSPEC(Ltot, Dtot)which is updated on the path • ADSPEC contains: Ltot = i Ci Dtot = iDi • PATH do not result in reservations ! (p,M,r,b) (p,M,r,b) () Sender (p,M,r,b) (L1, D1 ) (L1+L2, D1+D2) Receiver Source: P. Thiran

  36. () (p,M,r,b) (L1, D1 ) (p,M,r,b) (L1+L2, D1+D2) (p,M,r,b) RSVP in IntServ • Flow set-up: Receiver responds with a RESV message. • RESV messages make the reservations at the node • Receiver writes the service level requested by receiver in an R-SPEC • R-Spec specifies the reserved rate R’ • R’ is determined at the receiver using the formla: ((b-M)/R’) (p-R)+/(p-r) + (M + i Li)/R’ + i Di • This assumes that all nodes reserve the same rate Rn= R’. • R’ is computed so that end-to-end delay bound <= delay objective. R’ R’ R’ Source: P. Thiran

  37. 2 PATH PATH 1 3 PATH PATH 1. An application on Host A creates a session, 128.32.32.69/4078, by communicating with the RSVP daemon on Host A. 3. The PATH message follows the next hop path through R5 and R4 until it gets to Host B. Each router on the path creates soft session state with the reservation parameters. 2. The Host A RSVP daemon generates a PATH message that is sent to the next hop RSVP router, R1, in the direction of the session address, 128.32.32.69. RSVP UDP Reservation (1) R2 R3 R4 R1 Host B 128.32.32.69 Host A 24.1.70.210 R5 Source: Gordon Chaffee, UC Berkeley

  38. 4 RESV 5 RESV RESV 6 RESV 4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session 128.32.32.69/4078. The daemon checks for and finds existing session state. 6. The RESV message continues to follow the next hop path through R5 and R1 until it gets to Host A. Each router on the path makes a resource reservation. 5. The Host B RSVP daemon generates a RESV message that is sent to the next hop RSVP router, R4, in the direction of the source address, 24.1.70.210. RSVP UDP Reservation (2) R2 R3 R4 PATH R1 PATH Host B 128.32.32.69 PATH PATH Host A 24.1.70.210 R5 Source: Gordon Chaffee, UC Berkeley

  39. RSVP Flowspecs Sender TSpec, Controlled Load Flowspec . . . Token Bucket Rate [r] Token Bucket Size [b] Peak Data Rate [p] Minimum Policed Unit [m] Maximum Policed Unit [M] Guaranteed Flowspec . . . Token Bucket Rate [r] Token Bucket Size [b] Peak Data Rate [p] Minimum Policed Unit [m] Maximum Policed Unit [M] Rate [R] Slack Term [S] Source: Gordon Chaffee, UC Berkeley

  40. (7) 100 Kbs Reservation Merging (3) 50Kbs R1 Reservations merge as they travel up tree. (6) 100 Kbs R3 (2) 50Kbs (5) 100 Kbs (9) 60Kbs R4 R6 R7 (1) 50Kbs (8) 60Kbs (4) 100 Kbs Receiver #1 Receiver #2 Receiver #3

More Related