CS 716 Advanced Computer Networks By Dr Amir
CS 716 Advanced Computer Networks By Dr. Amir Qayyum
Lecture No. 35 2
Router-Based Congestion Control Solution 33
Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Router-based: queuing disciplines – Host-based: TCP congestion control • Congestion avoidance – DECbit – RED gateways • Quality of service 4
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? 5
More Fairness Choices • First In, First Out (FIFO) – Fairness for latency – Minimizes per-packet delay – Bandwidth not considered (not good for congestion) • Fair queuing – Fairness for bandwidth – Provides equal bandwidths (possibly weighted) – Delay not considered 6
Fair Queuing • Logical round-robin on bits – Equal-length packets: round-robin on packets – Variable-length 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 7
Fair Queuing Example 15 10 10 10 20 A 10 B 15 20 10 C 20 15 SA 0 10 10 10 20 20 35 35 SB 0 0 20 20 20 30 SC 0 0 0 15 15 35 35 35 8
Fair Queuing Example • Compare Si or Si + P ? 15 10 10 10 20 A 20 B 15 10 20 10 15 10 C 20 15 SA 0 10 10 20 20 20 35 35 SB 0 0 20 30 30 30 SC 0 0 15 15 15 35 Another detail: update counter at start or end of transmission ? 9
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 10
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) 11
Fair Queuing Example 10 10 20 A 10 B 20 15 20 10 C 20 15 SA 0 10 10 15 20 30 SB 0 0 20 20 20 30 SC 0 0 0 15 35 35 12
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 13
Weighted Fair Queuing Example 15 10 10 20 15 A (1) 20 B (2) C (1) S 0 A 10 10 10 15 20 10 10 20 20 SB 0 0 10 15 20 20 SC 0 0 0 15 15 35 14
Weighted Fair Queuing • What makes up a flow for fair queuing in the Internet ? • Too many resources to have separate queues/variables for host-to-host flows • Scale down number of flows • Typically just based on inputs • e. g. share outgoing STS-12 between incoming ISP’s 15
Fair Queuing in the Internet 10 10 10 A 10 B 10 10 STS-12 C D Service-Level Agreements (SLAs) for STS-3 (155 Mbps) 10 STS-4 SA 0 10 10 10 20 20 20 SB 0 0 10 10 10 20 20 SC 0 0 0 10 10 10 20 SD 0 0 0 10 10 10 20 16
- Slides: 16