Top Banner
Semester 1 2009- 2010 Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) [email protected] Room 2.14
25

Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) [email protected] Room.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

EEE449Computer Networks

Congestion

En. Mohd Nazri Mahmud

MPhil (Cambridge, UK)

BEng (Essex, UK)

[email protected]

Room 2.14

Page 2: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

What Is Congestion?

• congestion occurs when the no of packets being transmitted through the network approaches the packet handling capacity of the network

• congestion control aims to keep no of packets below a level at which performance falls off dramatically

• a data network is a network of queues• generally 80% utilization is critical• finite queues mean data may be lost

Page 3: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Queues at a Node

Page 4: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Interaction of Queues

Page 5: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Ideal Network

Utilization

Page 6: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Effects of Congestion

-No Control

Page 7: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Mechanisms for Congestion Control

Page 8: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Backpressure• if node becomes congested it can slow down or

halt flow of packets from other nodes– cf. backpressure in blocked fluid pipe– may mean that other nodes have to apply control on

incoming packet rates– propagates back to source

• can restrict to high traffic logical connections• used in connection oriented nets that allow hop

by hop congestion control

Page 9: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Choke Packet

• a control packet – generated at congested node– sent to source node– eg. ICMP source quench

• from router or destination• source cuts back until no more source quench message• sent for every discarded packet, or anticipated

• is a rather crude mechanism

Page 10: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Implicit Congestion Signaling

• transmission delay increases with congestion

• hence a packet may be discarded

• source detects this implicit congestion indication

• useful on connectionless (datagram) networks– eg. IP based

Page 11: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Explicit Congestion Signaling

• network alerts end systems of increasing congestion

• end systems take steps to reduce offered load• Backwards

– congestion avoidance notification in opposite direction to packet required

• Forwards– congestion avoidance notification in same direction as

packet required

Page 12: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Explicit Signaling Categories

• Binary– a bit set in a packet indicates congestion

• Credit based– indicates how many packets source may send– common for end to end flow control

• Rate based– supply explicit data rate limit– nodes along path may request rate reduction

Page 13: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Traffic Management

• fairness– provide equal treatment of various flows

• quality of service– different treatment for different connections

• reservations– traffic contract between user and network– carry best-effort or discard excess traffic

Page 14: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Congestion Control in Packet Switched Networks

• send control packet to some or all source nodes– requires additional traffic during congestion

• rely on routing information– may react too quickly

• end to end probe packets– adds to overhead

• add congestion info to packets in transit– either backwards or forwards

Page 15: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Congestion Control in TCP/IP networks

• Credit-based flow control also used for congestion control– recognize increased transit times & dropped

packets– react by reducing flow of data

• Three categories – retransmission timer management – window management– Active queue management

Page 16: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Retransmission Timer Management

• static timer likely too long or too short • estimate round trip delay by observing pattern of

delay for recent segments• set time to value a bit greater than estimate• simple average over a number of segments• exponential average using time series • RTT Variance Estimation

Page 17: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Window Management

• slow start– larger windows cause problem on connection created– at start limit TCP to 1 segment– increase when data ACK, exponential growth

• dynamic windows sizing on congestion– when a timeout occurs perhaps due to congestion– set slow start threshold to half current congestion

window– set window to 1 and slow start until threshold– beyond threshold, increase window by 1 for each RTT

Page 18: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Slow start• TCP transmission is constrained by

– awnd = allowed window (the number of segments that TCP is currently allowed to send without receiving acknowledgement

– Cwnd = congestion window used during startup and to reduce flow during period of congestion

– Credit = the amount of unused credit granted in the most recent acknowledgement

• When a new connection is opened, TCP initialises cwnd=1• Each time an ACK is received, the value of cwnd is

increased by 1.• Cwnd increases exponentially; may be too agressive

awnd = MIN [credit,cwnd]

Page 19: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Dynamic window sizing on congestion

• Begins with a slow start, followed by a linear growth in cwnd

• When time out occurs– Set a slow-start threshold equal to half the

current congestion window; ssthresh = cwnd/2– Set cwnd =1 and perform slow start process

until cwnd = ssthreshold. – For cwnd >= ssthresh, increase cwnd by one

for each round trip time.

Page 20: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Window Management

Page 21: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Fast Retransmit Fast Recovery

• retransmit timer rather longer than RTT• if segment lost TCP slow to retransmit• fast retransmit

– if receive 4 ACKs for same segment (ie 3 duplicate ACKs) then immediately retransmit since likely lost

• fast recovery– lost segment means some congestion– halve window then increase linearly– avoids slow-start

Page 22: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Active Queue Management

• Dropping packets is inefficient • Burst are inevitable. Keeping queue size small

and actively managing queues improves a router's ability to absorb bursts without dropping excessive packets

• useful to detect impending congestion conditions and actively manage congestion before it gets out of hand.

• technique in which routers actively drop packets from queues as a signal to senders that they should slow down

Page 23: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Active Queue Management

• Recovering from many dropped packets is more difficult than recovering from a single dropped packet

• Large queue can translate into delay. Active queue management allows queues to be smaller, which improves throughput

• Lock-out occurs when a host fills a queue and prevents other hosts from using the queue. Active queue management can prevent this condition.

Page 24: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Random Early Drop (RED)• uses statistical methods to drop packets in a probabilistic way

before queues overflow• slows a source down enough to keep the queue steady and reduces

the number of packets that would be lost when a queue overflows • makes two important decisions- when to drop packets and what

packets to drop • keeps track of an average queue size and drops packets when the

average queue size grows beyond a defined threshold • The average size is recalculated every time a new packet arrives at

the queue • RED makes packet-drop decisions based on two parameters:

– Minimum threshold (minth)    Specifies the average queue size below which no packets will be dropped.

– Maximum threshold (maxth)    Specifies the average queue size above which all packets will be dropped

Page 25: Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room.

Semester 1 2009-2010 Copyright USM

Explicit Congestion Notification in TCP/IP network

• Explicit Congestion Notification is an extension proposed to RED which marks a packet instead of dropping it when the average queue size is between minth and maxth

• Upon receipt of a congestion marked packet, the TCP receiver informs the sender (in the subsequent ACK) about incipient congestion which will in turn trigger the congestion avoidance algorithm at the sender

• the sender triggers its congestion avoidance algorithm by halving its congestion window, cwnd, and updating its congestion window threshold value ssthresh.

• Once it has taken these appropriate steps, the sender sets the CWR bit on the next data outgoing packet to tell the receiver that it has reacted to the (receiver's) notification of congestion.

• The receiver reacts to the CWR by halting the sending of the congestion notifications, ECN-Echo (ECE) to the sender if there is no new congestion in the network