15-441 computer networking
DESCRIPTION
15-441 Computer Networking. Lecture 22 – Queue Management and QoS. Congestion Control Review. What is congestion control? What is the principle of TCP?. Traffic and Resource Management. Resources statistically shared Overload causes congestion packet delayed or dropped - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/1.jpg)
15-441 Computer Networking
Lecture 22 – Queue Management and QoS
![Page 2: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/2.jpg)
2
Congestion Control Review
• What is congestion control?
• What is the principle of TCP?
![Page 3: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/3.jpg)
3
Traffic and Resource Management
• Resources statistically shared
• Overload causes congestion
• packet delayed or dropped
• application performance suffer
• Local vs. network wide
• Transient vs. persistent
• Challenge
• high resource utilization
• high application performance
![Page 4: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/4.jpg)
4
Resource Management Approaches
• Increase resources• install new links, faster routers• capacity planning, provisioning, traffic engineering• happen at longer timescale
• Reduce or delay demand• Reactive approach: encourage everyone to reduce or
delay demand• Reservation approach: some requests will be rejected
by the network
![Page 5: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/5.jpg)
5
Congestion Control in Today’s Internet
• End-system-only solution (TCP)
• dynamically estimates network state
• packet loss signals congestion
• reduces transmission rate in presence of congestion
• routers play little role
TCP
TCP
TCP
Control Time scale Months
Capacity Planning
RTT (ms)
Feedback Control
![Page 6: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/6.jpg)
6
More Ideas on Traffic Management
• Improve TCP• Stay with end-point only architecture
• Enhance routers to help TCP• Random Early Discard
• Enhance routers to control traffic • Rate limiting• Fair Queueing
• Provide QoS by limiting congestion
![Page 7: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/7.jpg)
7
Router Mechanisms
• Buffer management: when and which packet to drop?
• Scheduling: which packet to transmit next?
1
2
Scheduler
flow 1
flow 2
flow n
Classifier
Buffer management
![Page 8: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/8.jpg)
8
Typical Internet Queuing
• FIFO + drop-tail• Simplest choice• Used widely in the Internet
• FIFO (first-in-first-out) • Implies single class of traffic
• Drop-tail• Arriving packets get dropped when queue is full regardless of flow
or importance
• Important distinction:• FIFO: scheduling discipline
• Drop-tail: drop policy
![Page 9: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/9.jpg)
9
FIFO + Drop-tail Problems
• Leaves responsibility of congestion control completely to the edges (e.g., TCP)
• Does not separate between different flows• No policing: send more packets get more
service• Synchronization: end hosts react to same events
![Page 10: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/10.jpg)
10
FIFO + Drop-tail Problems
• Full queues• Routers are forced to have have large queues to
maintain high utilizations• TCP detects congestion from loss
• Forces network to have long standing queues in steady-state
• Lock-out problem• Drop-tail routers treat bursty traffic poorly• Traffic gets synchronized easily
• With old TCP, caused very low tput• Can be very unfair in b/w between flows
![Page 11: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/11.jpg)
11
Active Queue Management
• Design active router queue management to aid congestion control
• Why?• Router has unified view of queuing behavior• Routers see actual queue occupancy (distinguish
queue delay and propagation delay)• Routers can decide on transient congestion, based on
workload
![Page 12: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/12.jpg)
12
Design Objectives
• Keep throughput high and delay low• High power (throughput/delay)
• Accommodate bursts• Queue size should reflect ability to accept bursts
rather than steady-state queuing• Improve TCP performance with minimal hardware
changes
![Page 13: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/13.jpg)
13
Lock-out Problem
• Random drop• Packet arriving when queue is full causes some
random packet to be dropped
• Drop front• On full queue, drop packet at head of queue
• Random drop and drop front solve the lock-out problem but not the full-queues problem
![Page 14: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/14.jpg)
14
Full Queues Problem
• Drop packets before queue becomes full (early drop)
• Intuition: notify senders of incipient congestion• Example: early random drop (ERD):
• If qlen > drop level, drop each new packet with fixed probability p
• Does not control misbehaving users
![Page 15: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/15.jpg)
15
Random Early Detection (RED)
• Detect incipient congestion• Assume hosts respond to lost packets• Avoid window synchronization
• Randomly mark packets
• Avoid bias against bursty traffic
![Page 16: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/16.jpg)
16
RED Algorithm
• Maintain running average of queue length
• If avg < minth do nothing• Low queuing, send packets through
• If avg > maxth, drop packet• Protection from misbehaving sources
• Else mark packet in a manner proportional to queue length• Notify sources of incipient congestion
![Page 17: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/17.jpg)
17
RED Operation
Min threshMax thresh
Average Queue Length
minth maxth
maxP
1.0
Avg queue length
P(drop)
![Page 18: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/18.jpg)
18
Explicit Congestion Notification (ECN) [ Floyd and Ramakrishnan 98]
• Traditional mechanism• packet drop as implicit congestion signal to end
systems• TCP will slow down
• Works well for bulk data transfer• Does not work well for delay sensitive applications
• audio, Web, telnet• Explicit Congestion Notification (ECN)
• borrow ideas from DECBit• use two bits in IP header
• ECN-Capable Transport (ECT) bit set by sender• Congestion Experienced (CE) bit set by router
![Page 19: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/19.jpg)
19
Congestion Control Summary
• Architecture: end system detects congestion and slows down
• Starting point:
• slow start/congestion avoidance• packet drop detected by retransmission timeout RTO as congestion
signal
• fast retransmission/fast recovery• packet drop detected by three duplicate acks
• TCP Improvement:
• NewReno: better handle multiple losses in one round trip
• SACK: better feedback to source
• NetReno: reduce RTO in high loss rate, small window scenario
• FACK, NetReno: better end system control law
![Page 20: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/20.jpg)
20
Congestion Control Summary (II)
• Router support • RED: early signaling• ECN: explicit signaling
![Page 21: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/21.jpg)
21
What are the Problems?
• Works only if most sources implement TCP• most sources are cooperative • most sources implement
homogeneous/compatible control law• compatible means less aggressive than TCP
• What if sources do not play by the rule?
![Page 22: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/22.jpg)
22
Bottleneck link(10 Mbps)
An Example
• 1 UDP (10 Mbps) and 31 TCPs sharing a 10 Mbps line
UDP (#1) - 10 Mbps
TCP (#2)
TCP (#32)
.
.
.
UDP (#1)
TCP (#2)
TCP (#32)
.
.
.
![Page 23: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/23.jpg)
23
Throughput of UDP and TCP Flows With FIFO
![Page 24: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/24.jpg)
24
What Is the Solution?
• Enforcement mechanism inside the network• Rate limiting, scheduling
![Page 25: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/25.jpg)
25
The Token Bucket
Tokensat rate, ρ
Token bucketsize, σ
Packet buffer
Packets Packets
One byte (or packet) per token
ρ : average rate
σ : burstiness
Nick McKeownBits sent between times s and t: A(s,t) ≤ σ + ρ(t-s)
![Page 26: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/26.jpg)
26
Token Bucket
• Parameters
• r – average rate, i.e., rate at which tokens fill the bucket
• b – bucket depth
• R – maximum link capacity or peak rate (optional parameter)
• A bit is transmitted only when there is an available token
r bps
b bits
<= R bps
regulatortime
bits
b*R/(R-r)
slope R
slope r
Maximum # of bits sent
![Page 27: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/27.jpg)
27
Traffic Enforcement: Example
• r = 100 Kbps; b = 3 Kb; R = 500 Kbps
3Kb
T = 0 : 1Kb packet arrives
(a)
2.2Kb
T = 2ms : packet transmitted b = 3Kb – 1Kb + 2ms*100Kbps = 2.2Kb
(b)
2.4Kb
T = 4ms : 3Kb packet arrives
(c)
3Kb
T = 10ms :
(d)
0.6Kb
T = 16ms : packet transmitted
(e)
![Page 28: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/28.jpg)
28
Rate-Limiting and Scheduling
• Rate-limiting: limit the rate of one flow regardless the load in the network
• Scheduling: dynamically allocates resources when multiple flows competing
![Page 29: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/29.jpg)
29
Example Outcome: Throughput of TCP and UDP Flows With Fair Queueing Router
![Page 30: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/30.jpg)
30
Fair Queueing
Flow 1
Flow 2
Flow n
I/P O/P
Variation: Weighted Fair Queuing (WFQ)
![Page 31: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/31.jpg)
31
Fair Queueing
• Maintain a queue for each flow• What is a flow?
• Implements max-min fairness: each flow receives min(ri, f) , where
• ri – flow arrival rate
• f – link fair rate (see next slide)
• Weighted Fair Queueing (WFQ) – associate a weight with each flow
![Page 32: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/32.jpg)
32
Fair Rate Computation: Example 1
• If link congested, compute f such that
8
6
244
2
f = 4: min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2
10
![Page 33: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/33.jpg)
33
Fair Rate Computation: Example 2
• Associate a weight wi with each flow i
• If link congested, compute f such that
8
6
244
2
f = 2: min(8, 2*3) = 6 min(6, 2*1) = 2 min(2, 2*1) = 2
10(w1 = 3)
(w2 = 1)
(w3 = 1)
If Σk wk <= C, flow i is guaranteed to be allocated a rate >= wi
Flow i is guaranteed to be allocated a rate >= wi*C/(Σk wk)
![Page 34: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/34.jpg)
34
Fluid Flow System
• Flows can be served one bit at a time
• WFQ can be implemented using bit-by-bit weighted round robin• During each round from each flow that has data to
send, send a number of bits equal to the flow’s weight
![Page 35: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/35.jpg)
35
Fluid Flow System: Example
0 152 104 6 8
5 1 1 11 1
• Red flow has packets backlogged between time 0 and 10
• Backlogged flow flow’s queue not empty
• Other flows have packets continuously backlogged
• All packets have the same size
flows
link
weights
![Page 36: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/36.jpg)
36
Implementation In Packet System
• Packet (Real) system: packet transmission cannot be preempted. Why?
• Solution: serve packets in the order in which they would have finished being transmitted in the fluid flow system
![Page 37: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/37.jpg)
37
Packet System: Example
0 2 104 6 8
0 2 104 6 8
• Select the first packet that finishes in the fluid flow system
Servicein fluid flow
system
Packetsystem
![Page 38: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/38.jpg)
38
Limitations of Resource Management Architecture Today (II)
• IP provides only best effort service• IP does not participate in resource
management, thus cannot provide Quality of Service (QoS)
• Quality of Service• flow-based vs. class-based• absolute vs. relative (assurance vs. differentiation)
• absolute: performance assurance regardless of behaviors of other traffic
• relative: QoS defined with respect to other flows, e.g. priority, weighted fair share
![Page 39: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/39.jpg)
39
Resource Management Approaches
• Increase resources• install new links, faster routers• capacity planning, provisioning, traffic engineering• happen at longer timescale
• Reduce or delay demand• Reactive approach: encourage everyone to reduce or
delay demand• Reservation approach: some requests will be rejected
by the network
![Page 40: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/40.jpg)
40
Components of Integrated Services Network
• Service models• end-to-end per flow guaranteed, controlled load,
best-effort• hierarchical link-sharing
• Protocols and mechanisms• RSVP: signaling protocol to set-up and tear-down
per flow reservation state • Admission control
• determines whether there is enough resource and policy allows
• Traffic control• classify packet to each flow• schedule packets transmission according to per flow state
![Page 41: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/41.jpg)
41
Control Time Scale
• Two levels of control• connection admission control (CAC)• packet scheduling algorithm
Control Time scale Months
Capacity Planning
RTT (ms)
Feedback Control
Connection (seconds)
CAC
Packet selection (us)
Scheduling
![Page 42: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/42.jpg)
42
Observations of Reservation Scheme
• Network recognizes a higher abstraction: flow, session, virtual circuit, connection
• a set of related packets that network treats as a group
• dynamic created/deleted (switched vs permanent)
• fixed or stable path for the flow
• Connection-oriented vs. connectionless
• one of the most bitter, long-lasting religious contention points in computer networks
![Page 43: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/43.jpg)
43
Integrated Services Network
• Flow or session as QoS abstractions
• Each flow has a fixed or stable path
• Routers along the path maintain the state of the flow
![Page 44: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/44.jpg)
44
Components of Flow QoS Network
• Service models: end-to-end per flow • IETF Intserv: guaranteed, controlled load, best-effort
• Protocols and mechanisms• Signaling protocol: set-up and tear-down per flow state
• IETF: RSVP
• Admission control• determines whether there is enough resource inside network
• Traffic control• classify packet to each flow• schedule packets transmission according to per flow state
![Page 45: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/45.jpg)
45
How Things Fit Together
Admission Control
Data InData Out
Contr
ol Pla
ne
Data
Pla
ne
Scheduler
Routing Routing MessagesRSVP messages
Classifier
RSVP
Route Lookup
Forwarding Table Per Flow QoS Table
Policy
![Page 46: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/46.jpg)
46
Packet Classification Algorithm
• Map a packet to a flow• Flow identified by
• <srcIP, destIP, srcPort, destPort, protocol>• Sometimes only prefixes of srcIP, destIP are specified
• e.g <128.2.x.x, 140.247.x.x, x, 80, 6>• all web traffic from CMU to Harvard
• Different fields have different matching rules• IP addresses: longest prefix match• port numbers: exact match or range match• protocol: exact match
![Page 47: 15-441 Computer Networking](https://reader035.vdocuments.mx/reader035/viewer/2022070401/56813648550346895d9dc841/html5/thumbnails/47.jpg)
47
Resource Management Approaches
• Increase resources• install new links, faster routers• capacity planning, provisioning, traffic engineering• happen at longer timescale
• Reduce or delay demand• Reactive approach: encourage everyone to reduce or
delay demand• Reservation approach: some requests will be rejected
by the network