Congestion Control Algorithms

download Congestion Control Algorithms

of 19

Transcript of Congestion Control Algorithms

  • 7/29/2019 Congestion Control Algorithms

    1/19

    2/8/2013 Congestion Control Algorithms 1

    Congestion ControlAlgorithms

    Packets Sent

    PacketsDelivered

    Perfect

    Desirable

    Congested

    Maximumcarryingcapacity ofsubnet

    Congestion is a state of excessive accumulation or overfilling or overcrowding.

  • 7/29/2019 Congestion Control Algorithms

    2/19

    2/8/2013 Congestion Control Algorithms 2

    Factors responsible forcongestion

    Packet arrival rate exceeds the outgoing link

    capacity.

    Insufficient memory to store arriving packets

    Bursty traffic

    Slow processor

    Congestion tends to feed upon itself & become

    worse.

  • 7/29/2019 Congestion Control Algorithms

    3/19

    2/8/2013 Congestion Control Algorithms 3

    Difference between CongestionControl & Flow Control

    Congestion control has to make sure that

    subnet is able to carry the offered load.

    Flow control relates to point-to-point traffic

    between a given sender & a receiver.

  • 7/29/2019 Congestion Control Algorithms

    4/19

    2/8/2013 Congestion Control Algorithms 4

    Principles Of CongestionControl

    Control Theory

    Open Loop Control Closed Loop Control

  • 7/29/2019 Congestion Control Algorithms

    5/19

    2/8/2013 Congestion Control Algorithms 5

    Open Loop Control

    Open loop control attempts to solve theproblem by making sure it doesnt occur inthe first place.

    Tools: When to accept a new packet.

    Deciding when to discard packets & which

    ones. Making scheduling decisions at various

    points in the network.

  • 7/29/2019 Congestion Control Algorithms

    6/19

    2/8/2013 Congestion Control Algorithms 6

    Closed Loop Control

    Its based on the concept of feedback loop.

    When applied to congestion control:

    1. Monitors the system to detect when &where congestion occurs.

    2. Pass this information to the places where

    action can be taken.3. Adjust system operation to correct the

    problem.

  • 7/29/2019 Congestion Control Algorithms

    7/19

    2/8/2013 Congestion Control Algorithms 7

    Techniques

    Several techniques can be employed.

    These include:

    Choke packets

    Load shedding

    Traffic shaping

    The first 2 deal with congestion detectionand recovery. The last one deals with

    congestion avoidance.

  • 7/29/2019 Congestion Control Algorithms

    8/19

    2/8/2013 Congestion Control Algorithms 8

    Traffic Shaping

    Forcing the packets to be transmitted in a

    more predictable rate.

    Traffic policing:

    Monitoring the traffic flow.

  • 7/29/2019 Congestion Control Algorithms

    9/19

    2/8/2013 Congestion Control Algorithms 9

    The Leaky Bucket Algorithm

  • 7/29/2019 Congestion Control Algorithms

    10/19

    2/8/2013 Congestion Control Algorithms 10

    The Token Bucket Algorithm

  • 7/29/2019 Congestion Control Algorithms

    11/19

    2/8/2013 Congestion Control Algorithms 11

    Leaky Bucket vs Token Bucket LB discards packets; TB does not. TB discards

    tokens.

    With TB, a packet can only be transmitted if there areenough tokens to cover its length in bytes.

    LB sends packets at an average rate. TB allows forlarge bursts to be sent faster by speeding up theoutput.

    TB allows saving up tokens (permissions) to sendlarge bursts. LB does not allow saving.

  • 7/29/2019 Congestion Control Algorithms

    12/19

    2/8/2013 Congestion Control Algorithms 12

    Choke Packets

    A more direct way of telling the source to

    slow down.

    A choke packet is a control packet

    generated at a congested node and

    transmitted to restrict traffic flow.

    The source, on receiving the choke packet

    must reduce its transmission rate by a

    certain percentage.

  • 7/29/2019 Congestion Control Algorithms

    13/19

    2/8/2013 Congestion Control Algorithms 13

    unew =auold ( 1-a ) f

    U Utilization of its output lines.A a constant, how fast the router forgets the recent

    history.

    F instantaneous line utilization

  • 7/29/2019 Congestion Control Algorithms

    14/19

    2/8/2013 Congestion Control Algorithms 14

    Weighted Fair Queuing

    2019151161

    161272

    83

    171394

    1814105

    A

    B

    C

    D

    E

    O

    Packet Finishing time

    C 8

    B 16

    D 17

    E 18

    A 20

    A router with 5 packets

    queued for line O

    Finishing times for 5

    packets

    C

  • 7/29/2019 Congestion Control Algorithms

    15/19

    2/8/2013 Congestion Control Algorithms 15

    Choke Packets that affects only the source

    B C

    A D

    E F

    B C

    A D

    E F

    Choke

    B C

    A D

    E FChoke

    B C

    A D

    E F

    Choke

    B C

    A D

    E FReduced

    Flow

    B C

    A D

    E FFlow is

    still at

    maximum

    rateB C

    A D

    E F

    Flow is

    reduced

  • 7/29/2019 Congestion Control Algorithms

    16/19

    2/8/2013 Congestion Control Algorithms 16

    Hop-by-hop Choke Packet

    B C

    A D

    E FHeavy Flow

    B C

    A D

    E F

    Choke

    B C

    A D

    E FChoke Reduced

    Flow

    B C

    A D

    E F

    Choke

    B C

    A D

    E F

    a)

    b)

    c)

    d)

    e)

  • 7/29/2019 Congestion Control Algorithms

    17/19

    2/8/2013 Congestion Control Algorithms 17

    Load Shedding

    Load Shedding is a way in which the

    routers when flooded with packets that it

    cannot handle, just throws them away.

  • 7/29/2019 Congestion Control Algorithms

    18/19

    2/8/2013 Congestion Control Algorithms 18

    Jitter Control

    In this technique, the packets which are

    ahead of schedule get slowed down &

    packets that are behind schedule get

    speeded up.

  • 7/29/2019 Congestion Control Algorithms

    19/19

    2/8/2013 Congestion Control Algorithms 19

    Congestion Control For

    Multicasting

    RSVP--- Resource reSerVation Protocol

    1 2

    A

    D

    G

    J

    B C

    E F

    H I

    K L

    3 4 5

    Sender

    s

    Receivers