congestion control techniques

22
CONGESTION CONTROL TECHNIQUES By: Er. Amit Mahajan 1

Upload: amit-mahajan

Post on 18-Nov-2014

546 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Congestion Control Techniques

1

CONGESTION CONTROL TECHNIQUES

By: Er. Amit Mahajan

Page 2: Congestion Control Techniques

2

History

In past few years, the congestion and its control has been an area of interest where lots of developments are there, due to three reasons:

1. The worldwide spread of internet has make it unmanageable.

2. The transmission technology is developing exponentially. As inventions in optical field has made the hypothetical bitrates like Gbps and Tbps manageable in real life.

3. In recent years, as the data communication field, the telecommunication field has grownup very much, and each service provider tries to give best facilities to its clients in terms of voice quality, connectivity, and lesser number of drop and blocked calls.

Page 3: Congestion Control Techniques

3

What is Congestion

Old definition of congestion says that: “A network is said to be congested if network is under high

load”

Now assume a case where short term packet arrival rate increases the service rate, thus three things can happen

Queuing delay of packets increases There may be packet loss Due to congestion traffic is dominated by retransmissions

So due to these 3 conditions a new definition of congestion comes forward:

“A network is congested if due to overload condition X is reached”, where X is queue delay, packet loss and decreased throughput

Page 4: Congestion Control Techniques

4

New definition of Congestion

The recent researches in the field of congestion has given us a new definition of congestion based on three points which are:

1. A network can be congested from the perspective of one user, and uncongested from the perspective of another.

2. A network can be said to be strictly uncongested if no user perceives it to be congested.

3. A user’s utility may decrease due to something other than network load, but the user may not be able to tell the difference. The onus on the user is to determine the cause of the loss of utility, and to take appropriate corrective action.

4. d

“A network is said to be congested from the perspective of user i if the utility of i decreases due to an increase in network load.”

Page 5: Congestion Control Techniques

5

Causes of Congestion

1. Insufficient queue(buffer) space in processing unit.

2. Processing speed not in accordance to data arrival speed

3. Inefficient transmission media and techniques

4. Insufficient resources for bursty traffic

All the above reasons of congestion are interdependent on each other. If we change statistics of one point and don’t change other we will again stuck on congestion. For e.g. if we change the buffer but not the processing speed, or vice-versa we will again suffer congestion.

Page 6: Congestion Control Techniques

6

Causes of Congestion

The congestion affects mainly two vital performance parameters of a network namely ‘Delay’ and ‘Throughput’

Simply throughput is percentage utilization of network capacity.

As the offered load increases nearly 60 %, the throughput goes on decreasing. And in delay case, if load increases, the delay reaches infinity before the limit.

Page 7: Congestion Control Techniques

7

Congestion control

Congestion control refers to the mechanisms and techniques used to control congestion and keep the traffic below the capacity of the network.

Open loop: Protocols to prevent or avoid congestion, ensuring that the system (or network under consideration) never enters a Congested State.

Close loop: Protocols that allow system to enter congested state, detect it, and remove it. It involves feedback to the central control unit or sometimes to source or destination node of packet

Page 8: Congestion Control Techniques

8

Fundamental requirements of a congestion control scheme

Efficiency Ability to deal with heterogeneity Ability to deal with ill-behaved sources Stability Scalability Simplicity Fairness

Page 9: Congestion Control Techniques

9

Fundamental requirements contd.

Efficiency: Two aspects are

1. Congestion control technique doesn’t impose too much overheads in network which result in more congestion

2. It doesn’t let the network underutilized i.e. inefficient control may throttle down the traffic even in no congestion.

Heterogeneity: Congestion control scheme will be able to

Control large network Allow different packet sizes Support different protocols and services

Page 10: Congestion Control Techniques

10

Fundamental requirements contd.

Deal with misbehaving source: Scheme must be able deal with misbehaving sources which do not obey to control scheme. Otherwise network has to suffer for it.

Stability: Delay in control signaling create instability in the network. The congestion control scheme should be able to stabilize this instability

Scalability: As the network grows with time, the control scheme should mould itself to that situation

Simplicity: Simplicity is always an asset. The control scheme should be simple to implement and use.

Fairness: There should be fair resource allocation among the demands to the control scheme.

Page 11: Congestion Control Techniques

11

Open loop Congestion Control

Slow Start Simplest pro-active technique to avoid congestion Initialization of connection is with small data packets As the acknowledgement of previous message is

received packet size go on increase This goes upto point when either full window size is

reached or congestion is detected When congestion start occurring, device decreases

the rate and data size.

Page 12: Congestion Control Techniques

12

Leaky Bucket Algorithm

Act as a bucket with small hole As much water we put in, it

comes out at same rate Similarly leaky bucket takes

bursty data and sends it at constant rate

When host has packet to send, it put in the bucket

Bucket leaks at constant rate i.e. transmits data at constant rate

In practical case the bucket is finite queue that outputs at finite rate

Page 13: Congestion Control Techniques

13

Token Bucket Algorithm

Leaky bucket describes the output rate irrespective of the input

In some applications it is needy to send bursty data at output

Token bucket is the appropriate algo. for the purpose

In this algo. the leaky bucket holds the token, generated at regular interval

Few steps regarding its working are:• In regular intervals tokens are thrown into

the bucket. • The bucket has a maximum capacity. • If there is a ready packet, a token is removed

from the bucket, and the packet is send. • If there is no token in the bucket, the packet

cannot be send.

Page 14: Congestion Control Techniques

14

Token bucket cont’d

Token bucket is less restrictive than leaky bucket in the sense of bursty data

The limit of burst is restricted by the number of tokens

Just a variable in simple program is used to count tokens

The counter is incremented every t second

The time counter takes to count down is the time of transmitting packets

When counter is zero no further packets are sent

Page 15: Congestion Control Techniques

15

Closed loop techniques

A proper feedback technique Feedback contains information about congestion in

network, and if necessary slow down transmission

Steps of working:

1. Congestion Detection- Detection of congestion and its proper place after or better, before it occurs.

2. Communication- Communicate to the sources creating congestion, and their nearby nodes.

3. Decongestion- Solve the congestion if it has occurred.

Page 16: Congestion Control Techniques

16

Choke Packet Technique

Can be applied to virtual circuit and datagram approach

A threshold level is defined by administrator Each router monitors its resources utilization at each

output Whenever utilization crosses threshold, output line

enters ‘warning’ position The router which monitors congestion generates ‘choke

packets’ to source of congestion These packets are tagged, which means that other

routers will not have to send choke packets When host receives choke packets, it is required to

reduce traffic by some percentage

Page 17: Congestion Control Techniques

17

Choke packets(example)

Q depicts heavy flow and generate choke packets P reduces flow by 50% If further choke packet is received, P further reduces traffic by

25%

and so on

Page 18: Congestion Control Techniques

18

Load Shedding

One of the simplest closed loop technique When router depicts congestion, it simply start

dropping packets There are different methods to decide which packets

to drop One of the method is random selection Other methods need cooperation of sender and

receiver Another method is prioritizing the packets In priority case a priority policy is made and packets

are start dropping from lower priority until congestionless state is reached

Page 19: Congestion Control Techniques

19

Backward Congestion Notification (BCN)

The packet dropping is not the right solution for congestion, because there are very much important packets to be sent and received.

The ultimate solution is Backward Congestion Notification

In the place of dropping, it “pauses” the data transmission at sender side for some time

When uncongested, route is unpaused

Two points are there

Congestion Point (CP): Point where congestion is monitored and BCN packets are generated to source

Reaction Point (RP): A rate limiter that is on source side, it reads BCN and slows down rate of data

Page 20: Congestion Control Techniques

20

Case Study: Cisco SmartEdge Router

For congestion management this router uses three methods

1. Random Early Detection

2. Queue Depth

3. Queue Rates

There are further three queue management systems are used:

4. Priority queue (PQ)

5. Enhanced Deficit Round Robin(EDRR)

6. Asynchronous Transfer Mode Weighted Fair Queue(ATMWFQ)

Page 21: Congestion Control Techniques

21

Case study cont’d

Random Early Detection: Configured through PQ, EDRR,

ATMWFQ policies It monitors the average queue

size at every instant of time It drops the packet based on

its statistical probability If buffer empty, all packets

are accepted As the queue grows, the

probability for dropping packet grows too

If the buffer is full, packet received has dropping probability 1 and packet is dropped

Page 22: Congestion Control Techniques

22

References

[1]-------http://techreports.lib.berkeley.edu/accessPages/CSD-91-649.html (Date-

18/02/09)

[2]-------http://nptel.iitm.ac.in/courses/Webcourse-contents/IIT%20Kharagpur/

Computer%20networks/pdf/M7L5.pdf (Date-11/02/09)

[3]-------http://www.cs.wfu.edu/~fulp/CSC343/jaincong.pdf

[4]------ http://simula.stanford.edu/luyi/bcn.pdf on 13/02/09

[5]-------ftp://ftp.ee.lbl.gov/papers/early.pdf

[6]-------http://en.wikipedia.org/wiki/Random_early_detection on 2/07/09

[7]--http://www.cisco.com/en/US/docs/net_mgmt/active

_network_abstraction/3.6.5/vne/refere nce/guide/chapRedbackdevices.html