230 likes | 342 Views
Congestion Control. Computer Networks. Where are we?. Recall. Data Link Layer Link level specific transmission Network Layer End-to-End host addressing and routing Transport Layer End-to-End application multiplexing and message flow-control
E N D
Congestion Control Computer Networks John Kristoff
Where are we? John Kristoff
Recall • Data Link Layer • Link level specific transmission • Network Layer • End-to-End host addressing and routing • Transport Layer • End-to-End application multiplexing and message flow-control • The expert: Sally Floyd http://www.aciri.org/floyd/ John Kristoff
Note Flow control is a subset of congestion control. The former attempts to properly match the rate of the sender with that of the network and receiver. The later deals with the sustained overload of intermediate network elements such as internetwork routers. John Kristoff
Congestion Collapse • As the network load increases, packet drops and thus packet retransmissions increase • Fragments dropped are especially annoying, the remaining fragments get sent, but cannot be used • As retransmissions increase, less actual work gets done John Kristoff
Some Congestion Fixes • When congestion increases, slow down! • Additive Increase, Multiplicative Decrease is used in TCP • Setup reservations or service classes • Packets failing to adhere to their class or reservation are simply discarded or put onto a low priority queue/link • Discover end-to-end MTU if fragments are getting dropped John Kristoff
Fairness • Equal share bandwidth to end stations • Fair share based on application • Fair share based on timeliness of data • Fair share based on value of data • Fair share based on price paid • ...and so on John Kristoff
Active Congestion Control Mechanisms • Eligible discard • Queue management • Network Signaling and Notification • End station avoidance • Class of service signaling • Quality of service reservations John Kristoff
Eligible Discard • Frames, cells or packets are marked according to a drop priority • Source or edge intermediate device may mark based on some policy • watermark/threshold reached • data type • source • destination • cost • Usually implemented at data link or network layer John Kristoff
Eligible Discard Illustrated John Kristoff
Queue Management • First in, first dropped (FIFO) • Tail drop (LIFO) • Leaky bucket • Token bucket • Random early detection (RED) • Weighted Fair Queueing • Usually implemented in intermediate devices such as routers and switches John Kristoff
First In, First Out Illustrated • Queue pointers need to be updated • Sender learns of drop sooner John Kristoff
Last In, First Out Illustrated • Simple - no queue pointers to update • Source cannot react as quick John Kristoff
Leaky Bucket Illustrated • From Tanenbaum Figure 5-24, graphic will print to a Postscript printer John Kristoff
Token Bucket Illustrated • From Tanenbaum Figure 5-26, graphic will print to a Postscript printer John Kristoff
RED Illustrated • Probability marking applied to each packet based on queue length, packet being dropped John Kristoff
Weighted Fair Queueing John Kristoff
Network Signaling and Notification • Also called choke packets • In Frame Relay • Forward Explicit Congestion Notification (FECN) • Backward Explicit Congestion Notification (BECN) • Bit in frame set • Experimental Internet mechanism • Explicit Congestion Notification (ECN) • Bits set in packets to hosts John Kristoff
End Station Avoidance • Also called end-to-end control • TCP • Slow start • Congestion avoidance • Fast Retransmit • Fast Recovery John Kristoff
Class of Service Signaling • Packets marked to a particular traffic class • IEEE 802.1p • Differentiated Services (DiffServ) • Re-defines IP Type of Service (ToS) bit fields • Asynchronous Transfer Mode John Kristoff
Quality of Service Reservations • Resource ReSerVation Protocol • Reserve resources in routers • Requires stateful path • Asynchronous Transfer Protocol (ATM) John Kristoff