lecture 13 - congestion control part i

8
CS 65 Computer Networks Department of EEE S.Muralidharan 1 Resource allocation & Congestion control We now turn to a problem that spans the entire protocol stack—how to effectively and fairly allocate resources among a collection of competing users. The resources being shared include the bandwidth of the links and the buffers on the routers or switches where packets are queued awaiting transmission. Packets contend at a router for the use of a link, with each contending packet placed in a queue waiting its turn to be transmitted over the link. When too many packets are contending for the same link, the queue overflows and packets have to be dropped. When such drops become common events, the network is said to be congested. Most networks provide a congestion-control mechanism to deal with just such a situation. Congestion control and resource allocation are two sides of the same coin. On the one hand, if the network takes an active role in allocating resources— for example, scheduling which virtual circuit gets to use a given physical link during a certain period of time—then congestion may be avoided, thereby making congestion control unnecessary. Allocating network resources with any precision is difficult, however, because the resources in question are distributed throughout the network; multiple links connecting a series of routers need to be scheduled. 2 ..contd On the other hand, you can always let packet sources send as much data as they want, and then recover from congestion should it occur. This is the easier approach, but it can be disruptive because many packets may be discarded by the network before congestion can be controlled. Furthermore, it is precisely at those times when the network is congested—that is, resources have become scarce relative to demand—that the need for resource allocation among competing users is most keenly felt. There are also solutions in the middle, whereby inexact allocation decisions are made, but congestion can still occur and hence some mechanism is still needed to recover from it. Whether you call such a mixed solution congestion control or resource allocation does not really matter. In some sense, it is both. 3 Congestion Control Congestion in a network may occur if users send data into the network at a rate greater than that allowed by network resources. The objective of congestion control is to keep the number of packets within the network below the level at which performance falls off. 4 CS65 - Computer NetworksS.Muralidharan Footer Page 1 of 7.

Upload: yesmurali

Post on 08-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 1/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 1

Resource allocation & Congestion control

We now turn to a problem that spans the entire protocol stack—how to effectively

and fairly allocate resources among a collection of competing users. The resources being shared include the bandwidth of the links and the buffers on

the routers or switches where packets are queued awaiting transmission.

Packets contend at a router for the use of a link, with each contending packet

placed in a queue waiting its turn to be transmitted over the link. When too many

packets are contending for the same link, the queue overflows and packets have

to be dropped. When such drops become common events, the network is said to

be congested.

Most networks provide a congestion-control mechanism to deal with just such a

situation.

Congestion control and resource allocation are two sides of the same coin.

On the one hand, if the network takes an active role in allocating resources—

for example, scheduling which virtual circuit gets to use a given physical link

during a certain period of time—then congestion may be avoided, thereby

making congestion control unnecessary.

Allocating network resources with any precision is difficult, however, because the

resources in question are distributed throughout the network; multiple links

connecting a series of routers need to be scheduled.

22

..contd

On the other hand, you can always let packet sources

send as much data as they want, and then recover from

congestion should it occur.

This is the easier approach, but it can be disruptive because

many packets may be discarded by the network before

congestion can be controlled. Furthermore, it is precisely atthose times when the network is congested—that is, resources

have become scarce relative to demand—that the need for 

resource allocation among competing users is most keenly

felt.

There are also solutions in the middle, whereby inexact

allocation decisions are made, but congestion can still

occur and hence some mechanism is still needed to

recover from it. Whether you call such a mixed solution

congestion control or resource allocation does not really

matter. In some sense, it is both.

3

Congestion Control

Congestion in a network may occur if users senddata into the network at a rate greater than thatallowed by network resources.

The objective of congestion control is to keep the

number of packets within the network below the levelat which performance falls off.

4

CS65 - Computer NetworksS.Muralidharan

Footer Page 1 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 2/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 2

Flows

A flow is a distinct connection or conversationbetween two hosts.

Any unique set of packets between two hosts can beregarded as a flow.

Under TCP the concept of a connection with asource IP and port and destination IP and portrepresents a flow. A UDP flow can be similarlydefined.

Traffic control mechanisms frequently separate

traffic into classes of flows which can be aggregatedand transmitted as an aggregated flow

Alternate mechanisms may attempt to dividebandwidth equally based on the individual flows.

5

Congestion Control vs Flow Control

Flow control is a subset of congestion control.

The former attempts to properly match the rate of the sender withthat of the network and receiver.

The later deals with the sustained overload of intermediatenetwork elements such as internetwork routers.

Congestion control is a global issue – involves everyrouter and host within the subnet

Flow control – scope is point-to-point; involves justsender and receiver.

6

Factors that Cause Congestion

Packet arrival rate exceeds the outgoing link capacity.

Because routers are receiving packets faster than they can

forward them, one of two things must happen:

The subnet must prevent additional packets from entering the congestedregion until those already present can be processed.

The congested routers can discard queued packets to make room for those that are arriving.

Insufficient memory to store arriving packets

Bursty traffic

Slow processor 

7 8

CS65 - Computer NetworksS.Muralidharan

Footer Page 2 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 3/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 3

Effects of Congestion - No Control

9

Delay Versus Load

delay is composed of…?

transmission delay +processing delay +

propagation delay

…+ queuing

delay

10

Delay Versus Load

Throughput versus network load

• hroughput:

number of packets passing

through the network

packets discarded

and retransmitted

11

12

CS65 - Computer NetworksS.Muralidharan

Footer Page 3 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 4/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 4

Open-loop congestion control

prevent congestion before it happensretransmission policy

retransmission timers must optimize efficiency & preventcongestion

window policy

Selective Repeat window is better than Go-back-N 

acknowledgement policy

if not every packet is ACKed the sender may slow down

discarding policy

discard less sensitive packets

admission policy

QoS mechanism; switches (routers) first check resourcerequirements of a flow before admitting it to the network

13

Closed-loop congestion control

Back pressurecongested router informs previous upstream router to reduce

the outgoing traffic

Choke point

a packet sent by a router to the source (similar to ICMPsource quench)

Implicit signaling

the delay in receiving an ACK can be a signal that a networkis congested

Explicit signalinga router can explicitly send a special bit (flag) in the packet to

the source or the destination

14

Mechanisms for Congestion Control

15

Backpressure

If node becomes congested it can slow down or halt flow of packets

from other nodes

May mean that other nodes have to apply control on incoming packet

rates

Propagates back to source

Can restrict to logical connections generating most traffic

Used in connection oriented that allow hop by hop congestion control

(e.g. X.25)

16

CS65 - Computer NetworksS.Muralidharan

Footer Page 4 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 5/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 5

Choke Packet

Control packet

Generated at congested node

Sent to source node

e.g. ICMP source quench From router or destination

Source cuts back until no more source quench message

Sent for every discarded packet, or anticipated

Rather crude mechanism

17

Implicit Congestion Signaling

When congestion occurs, the transmission delay for an individual

packet may increase or packets may be discarded.

If these events are detected by a source, then it has implicit

information that congestion has occurred.

It is the responsibility of the end system to take action, not the network

nodes.

TCP has a mechanism to detect increased delay and detect segment

loss.

Useful on connectionless (datagram) networks

18

Explicit Congestion Signaling

Network alerts end systems of increasing congestion

End systems take steps to reduce offered load

Backwards

Congestion avoidance in opposite direction to packet required

Backward Explicit Congestion Notification (BECN)

Forwards

Congestion avoidance in same direction as packet required

Forward Explicit Congestion Notification (FECN)

19

Backward Explicit Congestion Notification

Used to warn sender of congestion

Switch may send response frame from the receiver, or 

Switch may use a predefined DLCI to send special

frames to indicate network conditions

Sender then responds by reducing data rate

20

CS65 - Computer NetworksS.Muralidharan

Footer Page 5 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 6/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 6

Backward Explicit Congestion Notification

21

Forward Explicit Congestion Notification

Used to warn receiver of congestion

Since flow control is most likely being implemented by higher layer 

protocols (ISDN or TCP/IP, for example), this allows the frame relay

protocol to notify the receiver to delay ACK, forcing the receiver to

slow down

22

Forward Explicit Congestion Notification

23

Four cases of congestion

24

CS65 - Computer NetworksS.Muralidharan

Footer Page 6 of 7.

8/7/2019 Lecture 13 - Congestion Control Part I

http://slidepdf.com/reader/full/lecture-13-congestion-control-part-i 7/7

CS 65 Computer Networks Department of EEE

S.Muralidharan 7

Congestion Control Techniques

Technique

Discard Control

Backward explicit

congestion

notification

Forward explicit

congestion

notification

Implicit

congestion

notification

Type

Discard Strategy

Congestion

avoidance

Congestion

avoidance

Congestion

recovery

Function

Provides guidance

to network about

which frames

to discard

Provides guidance

to end-systems

about congestion

in network

Provides guidance

to end-systems

about congestion

in network

End system infers

congestion from

frame loss

Key elements

DE bit

BECN bit

FECN bit

Sequence numbers

in higher-layer 

PDU

25

CS65 - Computer NetworksS.Muralidharan

Footer Page 7 of 7.