Internet Quality of Service Lecture 9
Puzzle Assume A & B A flips a coin. If the result is heads, A multiplies 2 90 digit prime numbers, and if the result is tails, A multiplies 3 60 digit prime numbers A gives B the result of the multiplication B calls the toss A gives B the numbers How can a toss be called over the phone (without requiring trust)?
Feedback & Grades Presentations need more technical preparation More preparation by non-presenting students (for questions & discussions) Grades will be sent out later this week First exam soon!
Motivation for QoS? Real-time applications Convergence in the Internet Users willing to pay for better service
QoS Parameters Bandwidth Delay Delay jitter Loss Goodput
Types of QoS Absolute Relative 100Kbps, 5ms delay bound, 2% loss rate Olympic model (gold, silver, bronze) Gold better than silver, etc. Gold gets k times bandwidth as silver
Approaches Integrated Services Model Differentiated Services Model Intserv Can provide per flow QoS Problem? Differentiated Services Model Diffserv Can provide aggregate QoS Newer approaches Core-stateless schemes
Elements of QoS Flow specifications Routing Reservations Admission control Packet scheduling
Integrated Services Approach Guaranteed service Controlled load service Best effort service
Guaranteed Service Similar to a leased line Hard guarantees on bandwidth and maximum delay Addressed toward critical applications Advantages? Disadvantages?
Controlled load service Service provided equivalent to that of an “unloaded” network Admission control necessary No hard guarantees for bandwidth, delay, or loss! Advantages? Disadvantages?
Best-effort Service Currently supported in the Internet No guarantees whatsoever Advantages? Disadvantages?
Specifications and Buckets Leaky Bucket r Token Bucket r B
RSVP: Resource Reservation Protocol Signaling protocol used to convey specifications of flow and desired quality of service Token bucket specification used in both Tspec (flow characteristics) and Rspec (desired QoS characteristics)
Scheduling Priority Scheduling Round-robin Weighted round-robin Weighted fair queuing WRR with WFQ spread
Recap Quality of Service Integrated Services Guaranteed Controlled Best-effort Traffic shaping/policing with buckets Scheduling
Integrated Services Disadvantages Per-flow state and processing at every router in the network Not scalable with increasing number of flows (in transit routers) and line-speeds
Differentiated Services Architecture Goal: To provide quality of service while ensuring scalability with increasing number of flows and line-speeds Approach: Have aggregate behaviors at the core with any per-flow state maintenance and processing done at the edges
Diffserv Approach Other autonomous domains Other autonomous domains Bandwidth Broker Admission control Edge Router: Policing, Shaping, & Marking Per-flow state and processing Core Router: Forwarding based on PHBs No Per-flow state and processing Other autonomous domains Other autonomous domains
Diffserv Service Classes Premium Service Assured Forwarding Service Best effort Service
Diffserv Classes - Premium Strict admission control Can still experience delays if a router has multiple incoming links Policing and Shaping done at the ingress points Similar to controlled-load service with no bursts
Diffserv Classes – Assured Forwarding Loose admission control More efficient Delays and drops possible during congestion Policing at the ingress points (no shaping) Non-conforming packets let through without marking
Intserv and Diffserv Intserv at the access and edge networks Diffserv at the core and transit networks RSVP can still inter-operate with the diffserv architecture When request arrives at ingress point, redirected to Bandwidth broker and forwarded to egress router
Diffserv Architecture Disadvantages No per-flow processing and hence no per-flow fine-grained QoS Example: no per-flow fairness possible in the diffserv architecture
Core-stateless QoS Goal: To provide per-flow fine grained QoS without maintaining any per-flow state at core-routers QoS Parameter: Rate fairness (delay fairness, bandwidth guarantees also possible) Approaches: CSFQ (Core-stateless Fair Queuing), Corelite
CSFQ Edge router labels packets belonging to a flow k with the rate of the flow rk Core router measures the total incoming traffic A during an epoch (say 1 second) If A > C (capacity), congestion – need to drop packets If A < C (capacity), no congestion – no need to ensure fairness
CSFQ - continued If A > C, Drop every incoming packet with a probability of: 1 – fs/rk Example: Let C = 10, # of flows = 3, rates = (5,5,2) fs = 4 (how?) Drop probabilities: Flow 1: 1/5, Flow 2: 1/5, Flow 3: 0 Achieved rates: Flow 1: 4, Flow 2: 4, Flow 3: 2
CSFQ - continued Challenge: how do you compute fs? If # of flows known, fs = C/n CSFQ: Keep track of “accepted” packets during last epoch F (F <= A) If F>C fsnew = fsold * C/F
Recap Intserv Diffserv Core-stateless Per-flow QoS Per-flow state/processing – not scalable Diffserv Coarse QoS No per-flow state/processing at all routers Core-stateless Scalable network model Per-flow QoS achieved
Puzzle Two twins A & B A always speaks the truth, and believes all true propositions (say 2+2=4) to be true, and all false propositions (say 2+2=3) to be false B always lies, and believes all true propositions to be false, and all false propositions to be true You meet one of the twins. How many questions do you need to identify which twin he is?