Successfully reported this slideshow.

Congestion Control


Published on

  • Be the first to comment

  • Be the first to like this

Congestion Control

  1. 1. Congestion Control Definitions and  Flow control:: keep a fast sender from overrunning a slow receiver. Resource Allocation  Congestion control:: the efforts made by network nodes to prevent or respond to overload conditions. Reference:- “Computer Networks A Systems Congestion control is intended to keep a fast Approach”, Third Edition, Peterson and sender from sending data into the network Davie, due to a lack of resources in the network {e.g., available link capacity, router buffers}. Morgan Kaufmann, 2003. 1 2 Congestion Control Congestion 3  Congestion control is concerned with the 6 bottleneck routers in a packet switched network. 1 4  Congestion control can be distinguished 8 from routing in that sometimes there is no 2 7 5 way to ‘route around’ a congested router. Copyright ©2000 The McGraw Hill Companies 3 4 Created with Print2PDF. To remove this line, buy a license at:
  2. 2. Flows Source 1 10-M  flow :: a sequence of packets sent between a bps Ethe rnet Router source/destination pair and following the same Destination 1.5-Mbps T1 link route through the network. DDI Source 100 -Mb ps F  Connectionless flows within the TCP/IP model:: 2 The connection-oriented abstraction, TCP, is implemented at the transport layer while IP provides a connectionless datagram delivery Congestion in a packet-switched packet- service. network  With connectionless flows, there exists no state at the routers. 5 6 Flows Source 1 Router Destination  Connection-oriented flows (e.g., X.25) – 1 connection-oriented networks maintain hard state Router at the routers. Source 2  Soft state :: represents a middle ground where Router soft state is not always explicitly created and Destination 2 removed by signaling. Source  Correct operation of the network does not depend 3 on the presence of soft state, but soft state can permit the router to better handle packets. Multiple Flows passing through a set of routers 7 8 Created with Print2PDF. To remove this line, buy a license at:
  3. 3. Service Lack of Congestion Control  Best-effort service :: The hosts are given no opportunity to ask for guarantees on a Controlled Throughput flow’s service.  QoS (Quality of Service) :: is a service Uncontrolled model that supports some type of guarantee for a flow’s service. Offered load 9 10 Congestion Control Taxonomy Congestion Control Taxonomy  Router-Centric  Reservation-Based – the hosts attempt to The internal network routers take responsibility for:   Which packets to forward reserve network capacity when the flow is  Which packets to drop or mark established.  The nature of congestion notification to the hosts.  The routers allocate resources to satisfy  This includes the Queuing Algorithm to manage the reservations or the flow is rejected. buffers at the router.  Host-Centric  The reservation can be receiver-based (e.g.,  The end hosts adjust their behavior based on RSVP) or sender-based. observations of network conditions.  (e.g., TCP Congestion Control Mechanisms) 11 12 Created with Print2PDF. To remove this line, buy a license at:
  4. 4. Congestion Control Taxonomy Evaluation Criteria  Feedback-Based - The transmission rate is adjusted (via window size) according to feedback received from  Evaluation criteria are needed to decide how well a the sub network. network effectively and fairly allocates resources.  Explicit feedback – FECN  Implicit feedback – router packet drops.  Effective measures – throughput, utilization,  Window-Based - The receiver sends an advertised efficiency, delay, queue length, goodput and power. window to the sender or a window advertisement can throughput α be used to reserve buffer space in routers. Power = --------------  Rate-Based – The sender’s rate is controlled by the delay receiver indicating the bits per second it can absorb. Where 0 < α < 1 13 14 Fairness Congestion Control  Jain’s fairness index (at the router)  Queuing algorithms determine: For any given set of user throughputs (x1, x2,…xn ), the (x x2 fairness index to the set is defined:  How packets are buffered.  Which packets get transmitted.  n  2  Which packets get marked or dropped.   xi  f(x1, x2, …, xn) =  i 1   Indirectly determine the delay at the router. n n  x i2  Queues at outgoing links drop/mark packets to  Max-min fairness i 1 implicitly signal congestion to TCP sources. Essentially ‘borrow’ from the rich-in-performance to help the poor-in- performance  Remember to separate queuing policy from queuing For example, CSFQ mechanism. 15 16 Created with Print2PDF. To remove this line, buy a license at:
  5. 5. Congestion Control Drop Tail Router [FIFO] (at the router)  Some of the possible choices in queuing algorithms: • First packet to arrive is first to be transmitted.  FIFO (FCFS) also called Drop-Tail • FIFO queuing mechanism that drops packets from  Fair Queuing (FQ) the tail of the queue when the queue overflows.  Weighted Fair Queuing (WFQ) • Introduces global synchronization when packets are  Random Early Detection (RED) dropped from several connections.  Explicit Congestion Notification (ECN). • FIFO is the scheduling mechanism, Drop Tail is the policy 17 18 Priority Queuing Priority Queuing  Mark each packet with a priority (e.g., in  Problem:: high priority packets can TOS (Type of Service field in IP) ‘starve’ lower priority class packets.  Implement multiple FIFO queues, one for  Priority queuing is a simple case of each priority class. “differentiated services” [DiffServ].  Always transmit out of the highest priority  One practical use in the Internet is to non-empty queue. protect routing update packets by giving  Still no guarantees for a given priority them a higher priority and a special queue class. at the router. 19 20 Created with Print2PDF. To remove this line, buy a license at:
  6. 6. Fair Queuing [FQ] Flow 1  The basic problem with FIFO is that it does Flow 2 Round-robin not separate packets by flow. service Flow 3  Another problem with FIFO :: an “ill- behaved” flow can capture an arbitrarily large share of the network’s capacity. Flow 4 Idea:: maintain a separate queue for each flow, and Fair Queuing (FQ) services these queues in a round-robin fashion. Fair Queuing 21 22 Fair Queuing [FQ] Fair Queuing [FQ]  FQ simulates bit-by-bit behavior by using timestamps (too many details for here!).  “Ill-behaved” flows are segregated into  One can think of FQ as providing a guaranteed their own queue. minimum share of bandwidth to each flow.  There are many implementation details for  FQ is work-conserving in that the server is never idle as long as there is a customer in the queue. FQ, but the main problem is that packets * Note: The per-flow state information kept at are of different lengths  simple FQ is not the router is expensive (it does not scale). fair!!  Ideal FQ:: do bit-by-bit round-robin. 23 24 Created with Print2PDF. To remove this line, buy a license at:
  7. 7. Weighted Fair Queuing [WFQ] WFQ idea:: Assign a weight to each flow (queue) such that the weight logically specifies the number of bits to transmit each time the router services that queue.  This controls the percentage of the link capacity that the flow will receive.  The queues can represent “classes” of service and this becomes DiffServ.  An issue – how does the router learn of the weight assignments?  Manual configuration  Signaling from sources or receivers. 25 Created with Print2PDF. To remove this line, buy a license at: