Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quality-of-Service ECE1545.

Similar presentations


Presentation on theme: "Quality-of-Service ECE1545."— Presentation transcript:

1 Quality-of-Service ECE1545

2 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. 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 network This is called a best-effort 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 Quality of Service 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

6 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

7 Granularity of QoS Per-flow guarantees
Transition: there is in fact a trade-off between per-flow and per-class architectures. Per-flow architectures GRAPH Provide strict bounds on delays, loss rates and throughputs Require per-flow reservations in the network Require per-flow classification at routers Per-class architectures Bundle traffic flows with similar service requirements into a small number of aggregates (classes) Provide service differentiation to aggregates Per-class guarantees do not immediately translate into per-flow guarantees Per-flow reservations are not needed Per-flow guarantees Require per-flow reservations in the network Require per-flow classification at routers

8 Granularity of QoS Per-class guarantees
2 1 1 2 1 1 2 1 2 1 2 2 1 2 Transition: there is in fact a trade-off between per-flow and per-class architectures. Per-flow architectures GRAPH Provide strict bounds on delays, loss rates and throughputs Require per-flow reservations in the network Require per-flow classification at routers Per-class architectures Bundle traffic flows with similar service requirements into a small number of aggregates (classes) Provide service differentiation to aggregates Per-class guarantees do not immediately translate into per-flow guarantees Per-flow reservations are not needed 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 Levels of QoS 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

10 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

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

12 Types of QoS guarantees
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 guarantees Prob [ Delay of a packet from flow X < D ] > 1 - e Where e is a small number (e.g., e = 10-6)

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 Traffic Contract An application submits to network a reservation request 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

15 Why is QoS Hard ? 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

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

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

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

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

20 Classification and Scheduling
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

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

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

23 Traffic Conditioning 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

24 Admission Control 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 3 1 2 d1,j d2,j d3,j Dj = d1,j + d2,j + d3,j

25 Distributed Admission Control
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 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 Centralized Admission Control
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 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 Internet Integrated 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 Integrated Services in IntServ
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

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 This follows LeBoudec textbook

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 RSVP Functional Diagram
Host Router RSVPD RSVPD Application Routing Process Policy Control Policy Control D A T Admissions Control Admissions Control Packet Classifier Packet Scheduler Packet Classifier Packet Scheduler DATA DATA Source: Gordon Chaffee, UC Berkeley

34 Resource Reservation 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 Source: Gordon Chaffee, UC Berkeley © Jörg Liebeherr, CS757

35 RSVP in IntServ Flow set-up:
advertisement with PATH message from source contains TSPEC (p,M,r,b) of the source contains ADSPEC (Ltot, Dtot) which is updated on the path ADSPEC contains: Ltot = i Ci Dtot = i Di 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 RSVP in IntServ ( ) (p,M,r,b) (L1, D1 ) (L1+L2, D1+D2) R’ R’ R’
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. (p,M,r,b) ( ) (L1, D1 ) (L1+L2, D1+D2) R’ R’ R’ Source: P. Thiran

37 RSVP UDP Reservation (1)
PATH 2 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, R4 PATH 1. An application on Host A creates a session, /4078, by communicating with the RSVP daemon on Host A. 1 R1 PATH 3 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. PATH Host B Host A R5 Source: Gordon Chaffee, UC Berkeley

38 RSVP UDP Reservation (2)
PATH 4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session /4078. The daemon checks for and finds existing session state. 4 RESV 5 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, PATH R1 Host B RESV PATH PATH Host A RESV 6 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. RESV R5 Source: Gordon Chaffee, UC Berkeley

39 RSVP Flowspecs Source: Gordon Chaffee, UC Berkeley
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 Reservation Merging (3) 50Kbs (7) 100 Kbs (6) 100 Kbs (2) 50Kbs
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


Download ppt "Quality-of-Service ECE1545."

Similar presentations


Ads by Google