lecture 31-32 network layer -- may 2004 1 congestion control algorithms

23
Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Upload: emily-mcdaniel

Post on 06-Jan-2018

218 views

Category:

Documents


1 download

DESCRIPTION

Congestion? Network layer -- May Too many packets in (a part of) the subnet!

TRANSCRIPT

Page 1: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Lecture 31-32

Network layer -- May 2004

1

Congestion control Algorithms

Page 2: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion Control Algorithms

Network layer -- May 2004

2

Design issuesRoutingCongestionInternetworkingInternet Protocols

General principles of congestion control

Prevention policies Handling virtual circuit

subnetsGeneral techniquesLoad sheddingJitter control

Page 3: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion?

Network layer -- May 2004

3

Too many packets in (a part of) the subnet!

Page 4: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion?

Network layer -- May 2004

4

Too many packets in (a part of) the subnet!caused by

the same output line is used by many input lines mismatch between system parts

slow processor low bandwidth lines

tends to feed upon itselfCongestion control <> flow control

Congestion: global issue ( subnet is able to carry the traffic) Flow control: point-to-point ( control the traffic between a

given sender and reciever)

Page 5: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion: principles

Network layer -- May 2004

5

How? Good design Make sure the problem

does not occur Tools

Decide when to accept traffic

Decide when to discard packets and which ones

Make scheduling decisions in the subnet

They make decision without considering current state of network

Monitor: where and when congestion? % packets discarded average queue length number of packets that time out average packet delayRising no. Indicate growing congestion

Pass collected info to places where actions can be taken = source of traffic explicit <> implicit feedback explicit: (extra) packet, flags (in other

packets), probe packets ( ex. Radio stations have flying halicopters)

Adjust system operation Increase resources: bandwidth Decrease load: deny, degrade

service

Control theory viewpoint: dividing all the solutions to two groups open loop closed loop: feedback loop

Page 6: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Network Layer

Network layer -- May 2004

6

Design issuesRoutingCongestionInternetworkingInternet ProtocolsMultimedia or QoS

General principlesPrevention policiesHandling virtual circuit

subnetsGeneral techniquesJitter control

Page 7: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion: prevention7

open loop solutions: Minimize congestion, they try to achieve there goals by using appropriate policies at various levelsLayer Policies

Transport Retransmission policy Out-of-order caching policy Acknowledgement policy Flow control policy Timeout determination ( transit time over the network is hard to predict)

Network Virtual circuits <> datagrams in subnet( many cog. Control algo work only with VC) Packet queueing and service policy ( 1 Q / input/output line and round robin) Packet discard policy Routing algorithm ( spreading traffic over all lines) Packet lifetime management

Data link Retransmission policy( Go back N will put heavy load than Selective Reject) Out-of-order caching policy ( Selective repeat is better ) Acknowledgement policy( piggyback onto reverse traffic ) Flow control policy ( small window reduce traffic and thus congestion )

Page 8: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Network Layer

Network layer -- May 2004

8

Design issuesRoutingCongestionInternetworkingInternet Protocols

General principlesPrevention policiesHandling virtual circuit

subnetsGeneral techniquesJitter control

Page 9: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Virtual circuit subnets 9

Dynamic approach: act when needed , closed loop solutions Admission control

No new virtual circuits when congestion is signalled e.g. telephone network : when a switch gets overloaded , it also

practice admission control by not giving dial tones. Route new virtual circuits around problem areas

Page 10: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Virtual circuit subnets10

Dynamic approach Admission control Route new virtual circuits around problem areas

Negotiation when virtual circuit is set up About kind of traffic + service desired Resource reservation in subnet

Line capacity Buffers in routers

No congestion Unused resources

Page 11: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Network Layer

Network layer -- May 2004

11

Design issuesRoutingCongestionInternetworkingInternet ProtocolsMultimedia or QoS

General principlesPrevention policiesHandling virtual circuit

subnetsGeneral techniquesJitter control

Page 12: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

General techniques( can be used in Datagram network and Virtual Circuit as well)

Network layer -- May 2004

12

Approaches: reduce traffic by Requesting senders

local measurements + info packets to senders

+ hope for ….

Throwing away packets local measurements + local actions to

reduce load

Page 13: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Source based approach

Network layer -- May 2004

13

Basic algorithm Router monitors utilisation of output lines

u recent utilisation: 0 u 1 good estimate of u

unew = a uold + (1 – a ) f In case of overload: unew > threshold

Output line enters warning state Some action is taken:

Warning bit Choke packets Hop-by-hop choke packets

f Instantaneous line utilisation

a constant

Page 14: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Source based approach

Network layer -- May 2004

14

Warning bit Output line in warning state

Warning bit set in packet header Destination copies bit into next ack Source cuts back traffic

Algorithm at source As long as router is in warning state, warning bits arrive at source:

reduce traffic Less warning bits: increase traffic

Problems voluntary action of host! correct source selected?

Used in DecNet Frame relay

Page 15: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Source based approach15

Choke packet: Tell host directly to slow down In case of overload: router sends choke packet to host causing

the overload Host receiving choke packet

reduces traffic to the specified destination ignores choke packets for a fixed interval new choke packets during next listening interval?

Yes: reduce traffic No: increase traffic

Problems: voluntary action of host! correct host selected?

Page 16: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Source based approach

Network layer -- May 2004

16

Choke packets: Example showing slow

reaction Solution: Hop-by-Hop

choke packets

Page 17: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Source based approach

Network layer -- May 2004

17

Hop-by-Hop choke packets Have choke packet take

effect at every hop Problem: more buffers

needed in routers

Page 18: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Load shedding18

It is a fancy way of saying that ::::Throw away packets that cannot be handled!!

Packet selection? Random Based on application

File transfer: discard new packet( out of order problem - wine) Multimedia: discard old packet ( milk )

Let sender indicate importance of packets Low, high priority Incentive to mark a packet with low priority

Price Allow hosts to exceed agreed upon limits

Random early detection …

Page 19: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Load shedding19

Throw away packets that cannot be handled!! Packet selection? Random early detection

Discard packets before all buffer space is exhausted( response to lost packet is for source to slow down- ex- TCP for wired network)

Routers maintain running average of queue lengths ( to determine when to start discarding )

Select at random a packet Inform source?

Send choke packet? more load!! No reporting

When does it work? Source slows down when packets are lost

This approach can not be used in wireless networks

Page 20: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Network Layer

Network layer -- May 2004

20

Design issuesRoutingCongestionInternetworkingInternet Protocols

General principlesPrevention policiesHandling virtual circuit

subnetsGeneral techniquesJitter control

Page 21: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion: jitter control21

Important for audio and video applications? not delay variance of delay

Page 22: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Congestion: jitter control

Network layer -- May 2004

22

Jitter = variation in packet delayCompute feasible mean value for delay

compute expected transit time for each hop router checks to see if packet is

behind ahead schedule

behind: forward packet asap ahead: hold back packet to get it on schedule again

Buffering? Depends on characteristics: Video on demand: ok Videoconferencing: nok

Page 23: Lecture 31-32 Network layer -- May 2004 1 Congestion control Algorithms

Network Layer

Network layer -- May 2004

23

Design issuesRoutingCongestionInternetworking : Next Lecture