SlideShare a Scribd company logo
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: http://www.binarynow.com/
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: http://www.binarynow.com/
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: http://www.binarynow.com/
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: http://www.binarynow.com/
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: http://www.binarynow.com/
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: http://www.binarynow.com/
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: http://www.binarynow.com/

More Related Content

Congestion Control in Networks

  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/
  • 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: http://www.binarynow.com/