34
Group Member Roll Number Melvin Francis 13 Madhusudhan G 17 Kunal Jadhav 19 Sameer Natekar 33 Sooryakanth S 49

Congestion control

Embed Size (px)

DESCRIPTION

:-D

Citation preview

Page 1: Congestion control

Group Member Roll Number

Melvin Francis 13

Madhusudhan G 17

Kunal Jadhav 19

Sameer Natekar 33

Sooryakanth S 49

Page 2: Congestion control

AGENDA Learning…

Congestion

Network performance

Controlling…

Congestion

TCP controlling congestion

Additive-increase, multiplicative-decrease

Slow start.

2

Page 3: Congestion control

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

Page 4: Congestion control

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

Page 5: Congestion control

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.

Page 6: Congestion control

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

Page 7: Congestion control

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.

Page 8: Congestion control

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.

Page 9: Congestion control

Network Performance

Page 10: Congestion control

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 :

Page 11: Congestion control

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

Page 12: Congestion control

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.

Page 13: Congestion control

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.

Page 14: Congestion control

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.

Page 15: Congestion control

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.

Page 16: Congestion control

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.

Page 17: Congestion control

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.

Page 18: Congestion control

Backpressure

Congestion

Source Destination

Data Flow

Fig 1.1 Backpressure method of alleviating congestion

II III IVI

Backpressure Backpressure

Page 19: Congestion control

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

Page 20: Congestion control

Chokepacket

Congestion

Source Destination

Data Flow

Fig 1.2 Choke Packet

II III IVI

Page 21: Congestion control

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

Page 22: Congestion control

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.

Page 23: Congestion control

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.

Page 24: Congestion control

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.

Page 25: Congestion control

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

Page 26: Congestion control

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.

Page 27: Congestion control

TCP Controlling Congestion

Page 28: Congestion control

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.

Page 29: Congestion control

TCP controlling congestion

Page 30: Congestion control

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.

Page 31: Congestion control

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.

Page 32: Congestion control

Cases of congestion

Page 33: Congestion control
Page 34: Congestion control