440 likes | 549 Views
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.
E N D
Quality-of-Service ECE1545
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
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
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
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
Per-flow guarantees Require per-flow reservations in the network Require per-flow classification at routers Granularityof QoS
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
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
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
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
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
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
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
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 ?
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
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
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
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
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
Forwarding Engine Packet Classification Classifier (Policy Database) Predicate Action ---- ---- ---- ---- ---- ---- Packet Classification Packet classification is done before routing table lookup HEADER Action Incoming Packet CS757
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
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
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
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
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
Quality-of-Service Architectures for the InternetIntegrated Services (IntServ)
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
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
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
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
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
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
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
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
() (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
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
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
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
(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