210 likes | 291 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
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 An expert: Sally Floyd <http://www.aciri.org/floyd/> An expert: Van Jacobson
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.
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
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
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
Active Congestion Control Mechanisms • Eligible discard • Queue management • Network Signaling and Notification • End station avoidance • Class of service signaling • Quality of service reservations
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
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
First In, First Out Illustrated • Queue pointers need to be updated • Sender learns of drop sooner
Last In, First Out Illustrated • Simple - no queue pointers to update • Source cannot react as quick
Leaky Bucket Illustrated • From Tanenbaum Figure 5-24, graphic will print to a Postscript printer
Token Bucket Illustrated • From Tanenbaum Figure 5-26, graphic will print to a Postscript printer
RED Illustrated • Probability marking applied to each packet based on queue length, packet being dropped
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
End Station Avoidance • Also called end-to-end control • TCP • Slow start • Congestion avoidance • Fast Retransmit • Fast Recovery
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
Quality of Service Reservations • Resource ReSerVation Protocol • Reserve resources in routers • Requires stateful path • Asynchronous Transfer Mode (ATM)