lecture 13 - congestion control part i
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.