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);...
CS716 Advanced Computer Networks By Dr. Amir Qayyum 1 Lecture No. 35 RouterBased Congestion Control Solution Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Routerbased: queuing disciplines – Hostbased: TCP congestion control • Congestion avoidance – DECbit – RED gateways • Quality of service 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? 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 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 Fair Queuing Example 15 10 10 10 20 A 10 B 15 20 10 15 20 10 C 20 15 SA 10 10 10 20 20 35 35 SB 0 20 20 20 20 20 30 SC 0 15 15 35 35 35 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 10 10 20 20 20 35 35 SB 0 0 20 30 30 30 15 15 15 15 15 35 SC 0 Another detail: update counter at start or end of transmission ? 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 20 15 10 C 20 15 SA 10 10 15 20 30 SB 0 20 20 20 30 SC 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 10 10 20 15 A (1) 20 B (2) C (1) S A 10 10 10 15 20 10 10 10 10 20 20 20 20 SB 0 10 10 10 15 20 20 SC 0 15 15 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 hosttohost flows • Scale down number of flows • Typically just based on inputs • e.g. share outgoing STS12 between incoming ISP’s 15 Fair Queuing in the Internet 10 10 10 10 10 10 10 10 10 A 10 B 10 10 10 10 STS12 C D ServiceLevel Agreements (SLAs) for STS3 (155Mbps) 10 STS4 SA 10 10 10 20 20 20 SB 0 10 10 10 20 20 SC 0 10 10 10 20 SD 0 10 10 10 20 16 ... 10 10 20 20 35 35 SB 0 20 20 20 20 20 30 SC 0 15 15 35 35 35 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 10 10 20 20 20 35 35 SB 0 0 20.. .Lecture? ?No.? ?35 RouterBased Congestion Control Solution Congestion Control • Basics: problem, terminology, ... Fair Queuing Example 10 10 20 A 10 B 20 20 15 10 C 20 15 SA 10 10 15 20 30 SB 0 20 20 20 30 SC 0 15 35 35 12 Weighted Fair Queuing • Extend fair queuing • Notion of importance for each flow • Implement as weight Wi for flow i