Congestion control

Preview:

DESCRIPTION

:-D

Citation preview

Group Member Roll Number

Melvin Francis 13

Madhusudhan G 17

Kunal Jadhav 19

Sameer Natekar 33

Sooryakanth S 49

AGENDA Learning…

Congestion

Network performance

Controlling…

Congestion

TCP controlling congestion

Additive-increase, multiplicative-decrease

Slow start.

2

CongestionDefinition: Congestion in a network may

occur if load on the network or the no of packets sent to the network is greater than the capacity of the network

Many possible causes

Rapid retransmissions of packets still in flight

Undelivered packets

3

Congestion is Unavoidable

Two packets arrive at the same time

The node can only transmit one

… and either buffer or drop the other

Congestion in network happens because routers have input and output queues

If many packets arrive in a short period of time

The node cannot keep up with the arriving traffic

… and the buffer may eventually overflow

4

The packet is put at the end of input queue

The router removes the router from input queue and uses its routing table and destination address to find the route.

The packet is put in the appropriate output queue.

Issues If the rate of arrival is higher than processing rate then

the input queue becomes longer

If packet departure rate is less than processing rate then output queue becomes longer

Network PerformanceDelay Versus Load

when the load is much less then delay is at minimum.

Delay becomes infinite when the load is greater than the network capacity.

when a packet is delayed, the source, not receiving the acknowledgment retransmit the packet which makes the delay and congestion, worse.

Network Performance Throughput Versus Load

Throughput in a network is the number of packets passing through a network in a unit of time.

When the load exceeds capacity of network,throughputdeclines sharply because packets get discarded by router.

This does not reduce no of packets because source retransmit them.

Network Performance

Congestion Control Congestion control refers to techniques and mechanisms that can

either prevent congestion, before it happens, or remove congestion, after it has happened.

Categories :

In open-loop congestion, policies are applied to prevent congestion before it happens.

Congestion control is handled by either the source or the destination

Retransmission Policy :

If the sent packet is lost or corrupted, the packed needs to be retransmitted by the sender.

Retransmission policy and retransmission timers must be designed to optimize efficiency and at the same time prevent congestion.

E.g.. Policy used by TCP for Retransmission

Open loop Policies

Window Policy :

Selective Repeat window is used instead of Go-Back-N window.

Acknowledgment Policy :

The receiver does not acknowledges every packet it receives, it slows the sender and help prevent congestion.

Sending fewer acknowledgements means imposing less load on the network.

Discarding Policy :

A good discarding policy by the router may prevent congestion and at the same time may not harm the integrity of the transmission.

Admission Policy :

It is a QoS mechanism which prevents congestion in virtual-circuit networks.

A router can deny establishing a virtual-circuit connection if there is congestion in the network or if there is a possibility of future congestion.

Discarding Policy :

A good discarding policy by the router may prevent congestion and at the same time may not harm the integrity of the transmission.

Admission Policy :

It is a QoS mechanism which prevents congestion in virtual-circuit networks.

A router can deny establishing a virtual-circuit connection if there is congestion in the network or if there is a possibility of future congestion.

Closed- loop congestion control

Closed loop congestion control mechanisms try to alleviate congestion after it happens.

It is useful to network which had congestion during the transfer of messages from one node to other node.

Types of mechanism to prevent congestion after it happens

1 Backpressure.

2 Choke Packet.

3 Implicit Signaling.

4 Explicit Signaling.

5 Backward Signaling.

6 Forward Signaling.

Backpressure

The technique of backpressure refers to a congestion control mechanisms in which a congested node stops receiving data from the immediate upstream node or nodes.

This may cause the upstream nodes to become congested and they in turn reject data from their upstream nodes.

Backpressure

Congestion

Source Destination

Data Flow

Fig 1.1 Backpressure method of alleviating congestion

II III IVI

Backpressure Backpressure

Choke PacketA choke packet is a packet sent by a node to the source to inform it of that congestion had occurred on the network.

Message is sent from congested node directly to the source station without informing the intermediate routers

Chokepacket

Congestion

Source Destination

Data Flow

Fig 1.2 Choke Packet

II III IVI

Implicit Signaling

In implicit signaling ,there is no communication between the congested node or nodes and the source. The source guesses that there is a congestion somewhere in the network.

For example, when a source sends several packets and there is no acknowledgement for a while, one assumption is that the network is congested

Explicit signaling

The node that experiences congestion can explicitly send a signal to the source or destination .

Difference between choke packet and explicit signaling is that in choke packet separate packet is used for the sending signal to source, whereas in explicit signaling method ,signal is included in the packets that carry data.

Backward Signaling

A bit can be set in a packet moving in the direction opposite to the congestion .

This bit can warn the source that there is congestion and that it needs to slow down to avoid the discarding of packets.

Forward Signaling

A bit can be set in a packet moving in the direction ofthe congestion .

This bit can warn the destination that there is congestion.

The receiver in this case can use policies ,such as slowing down the acknowledgments ,to alleviate the congestion.

TCP Controlling Congestion

Congestion Window Sender’s window size is determined not only by the

receiver but also by congestion in the network.

Actual window size = minimum(rwnd, cwnd)

Congestion Policy Slow start: Exponential Increase

Congestion Avoidance: Additive Increase

Congestion Detection: Multiplicative Decrease

TCP Controlling Congestion Slow start: Exponential Increase

Size of the congestion window starts with one maximum segment size (MSS).

The size of window increases one MSS each time an ack is received.

Consider cwnd=1 MSS. Sender can only send one segment. After ack for 1 segment, cwnd size is increased by 1, now cwndis 2 and two more segment can be sent.

When all seven segments are acknowledged, cwnd = 8.

Size of cwnd increases exponentially.

TCP Controlling Congestion

TCP Controlling Congestion

Congestion Avoidance: Additive Increase

To avoid congestion, exponential growth must be stopped.

This algorithm undergoes an additive increase instead of an exponential one.

When the size of cwnd reaches slow-start threshold, slow-start phase stops and additive phase begins.

In this, when whole window of segment is acknowledged, the size of cwnd is increased by 1.

TCP controlling congestion

TCP Controlling Congestion

Congestion Detection: Multiplicative Decrease

The only way the sender can guess that congestion has occurred is by the need to re-transmit the segment.

It can occur in two cases: when timer times out or when three ACK’s are received, in both cases the size of the threshold is dropped to half.

TCP Controlling Congestion If time-out occurs

Stronger possibility of congestion.

TCP set value of threshold to half of current window size.

Sets cwnd to the size of one segment

It starts the slow-start phase again

If three ACK’s are received

Weaker possibility of congestion.

TCP set value of threshold to half of current window size.

Sets cwnd to the vale of Threshold.

It starts the congestion avoidance phase.

Cases of congestion

Recommended