Advanced Computer Networks: Lecture 35. This lecture will cover the following: router-based; congestion control solution; more fairness choices; fair queuing example; weighted fair queuing; service-level agreements (SLAs) for STS-3 (155Mbps);...
Trang 11 1
CS716 Advanced Computer Networks
By Dr. Amir Qayyum
Trang 22
Lecture No. 35
Trang 3RouterBased Congestion Control Solution
3
Trang 44
Congestion Control
• Basics: problem, terminology,
approaches, metrics
• Solutions
– Routerbased: queuing disciplines – Hostbased: TCP congestion control
• Congestion avoidance
– DECbit
– RED gateways
• Quality of service
Trang 55
Router Solutions: Queuing
Disciplines
• Router defines policies on each outgoing link
– Allocates buffer space:
Which packets are discarded?
– Allocates bandwidth:
Which packets are transmitted?
– Affects packet latency:
When are packets transmitted?
Trang 66
More Fairness Choices
• First In, First Out (FIFO)
– Fairness for latency
– Minimizes perpacket delay
– Bandwidth not considered (not good for
congestion)
• Fair queuing
– Fairness for bandwidth
– Provides equal bandwidths (possibly weighted) – Delay not considered
Trang 77
Fair Queuing
• Logical roundrobin on bits
– Equallength packets: roundrobin on packets – Variablelength packets ?
• Idea
– Let Si denote accumulated service for flow i – Serve the flow with lowest accumulated service – On serving a packet of length P from flow i, update
Si = Si + P
Trang 88
15
20
10
Fair Queuing Example
A
B
C
10 10
20
SB
SC
0
0
0
10
0
0
10
20
0
10
20
15
20
20
15
20
20
35
10 15 20 10 15 20 10
35
20
35
35
30
35
Trang 99
Fair Queuing Example
• Compare Si or Si + P ?
15
20
10
A
B
C
10 10
20
SB
SC
0
0
0
10
0
0
10
0
15
20
0
15
20
20
15
20
30
15
20 15 10 20 10 15 10
35
30
15
35
30
35
Another detail: update counter at start or end of transmission ?
Trang 1010
Fair Queuing
• Why is the suggested approach not
quite adequate?
– Flows can “save up” credit
– No transmission for long time (call it T) – Burst uses all bandwidth for up to time
T x flow’s share of link
Trang 1111
Fair Queuing
• How might we fix this problem?
– Don’t allow inactive flows to retain
service rates below that of any active flow
– i.e. after updating some flow’s Si
• For each flow j with no packets in its queue
• Set Sj to the minimum Sk for all active flows k
(or 0 if no flows are active)
Trang 1212
20
10
Fair Queuing Example
A
B
C
10
20
SB
SC
0
0
0
10
0
0
10
20
0
15
20
15
20
20
35
10 20 15 20 10
30
30
35
Trang 1313
Weighted Fair Queuing
• Extend fair queuing
• Notion of importance for each flow
• Implement as weight Wi for flow i
• Update accumulated service with P/Wi
Trang 1414
10
15
20
10
Weighted Fair Queuing Example
A (1)
B (2)
C (1)
10 10
20
SB
SC
0
0
0
10
0
0
10
10
0
10
10
15
20
10
15
20
15
15
20 10 10 10 15 20 10
20
20
15
20
20
35
Trang 1515
Weighted Fair Queuing
• What makes up a flow for fair queuing in the
Internet ?
• Too many resources to have separate
queues/variables for hosttohost flows
• Scale down number of flows
• Typically just based on inputs
• e.g. share outgoing STS12 between incoming
ISP’s
Trang 1616
10 10 10 10 10
Fair Queuing in the Internet
A
B
C
10 10
SA
SB
SC
SD
0
0
0
0
10
0
0
0
10
10
0
0
10
10
10
10
20
10
10
10
20
20
10
10
10 10
20
20
20
20
D
10 10 10
10 10 10
STS12
ServiceLevel
Agreements
(SLAs) for
STS3
(155Mbps)
STS4