Routers Queue Management Manages sharing of (i) buffer space (ii) - - PowerPoint PPT Presentation

router s queue management manages sharing of i buffer
SMART_READER_LITE
LIVE PREVIEW

Routers Queue Management Manages sharing of (i) buffer space (ii) - - PowerPoint PPT Presentation

Routers Queue Management Manages sharing of (i) buffer space (ii) bandwidth Q1: Which packet to drop when queue is full? Q2: Which packet to send next? FIFO + Drop Tail Keep a single queue Answer to Q1: Drop arriving packets when


slide-1
SLIDE 1

Router’s Queue Management

slide-2
SLIDE 2

Manages sharing of (i) buffer space (ii) bandwidth

slide-3
SLIDE 3

Q1: Which packet to drop when queue is full?

slide-4
SLIDE 4

Q2: Which packet to send next?

slide-5
SLIDE 5

FIFO + Drop Tail

slide-6
SLIDE 6

Keep a single queue

slide-7
SLIDE 7

Answer to Q1: Drop arriving packets when queue is full

slide-8
SLIDE 8

Answer to Q2: Send the packet at head of queue

slide-9
SLIDE 9

Round Robin

slide-10
SLIDE 10

One queue per flow

slide-11
SLIDE 11

Answer to Q1: Drop arriving packets from flow i when queue i is full

slide-12
SLIDE 12

Answer to Q2: Each flow takes turn -- send the packet at the head

  • f the queues in a round

robin manner.

slide-13
SLIDE 13

Advantages of FIFO and Drop Tail

slide-14
SLIDE 14

Simple to implement

slide-15
SLIDE 15

Scale well (no per-connection states)

slide-16
SLIDE 16

Reduce delay for a bursty connection (e.g. VoIP)

slide-17
SLIDE 17

Problems with FIFO and Drop Tail

slide-18
SLIDE 18

Problem 1 Baised againts bursty traffic

burstiness increases changes that the queue will overflow

slide-19
SLIDE 19

Problem 2 Global synchronization

connection reduces their windows simultaneously, lowering utilization.

slide-20
SLIDE 20

Problem 3 Queue size

higher bandwidth needs longer queue, increasing delay. TCP tries to keep the queue full

slide-21
SLIDE 21

Problem 4 No isolation against unresponsive flows

slide-22
SLIDE 22

Random Drop

slide-23
SLIDE 23

Keep a single queue

slide-24
SLIDE 24

Answer to Q1: Drop random packet in the queue when queue is full

slide-25
SLIDE 25

Answer to Q2: Send the packet at head of queue

slide-26
SLIDE 26

No bias against bursty traffic -- bursty arrival causes random packets to be dropped.

slide-27
SLIDE 27

Flows with higher rate occupies more buffer spaces, have more chance to be dropped.

slide-28
SLIDE 28

Signal flows that is congesting the network to slow down.

slide-29
SLIDE 29

Random drop recovers from congestion (full queue) by dropping packets.

slide-30
SLIDE 30

Early Random Drop

slide-31
SLIDE 31

Answer to Q1: Drop arriving packet randomly if queue is longer than a threshold

slide-32
SLIDE 32

Random drop avoid congestion (full queue) by dropping packets before queue is full.

slide-33
SLIDE 33

RED

Random Early Detection

slide-34
SLIDE 34

Answer to Q1: Drop arriving packet randomly if average queue length is above than a threshold

slide-35
SLIDE 35

Differences 1: Use average queue length instead of instantaneous length to absorb transient congestions.

slide-36
SLIDE 36

Differences 2: Dropping probability should change dynamically depending on queue length.

slide-37
SLIDE 37

1 Dropping Probability Average Queue Length

slide-38
SLIDE 38

foreach incoming packet X calc average queue length if minth < average < maxth calc p drop X with probability p else if average > maxth drop X

slide-39
SLIDE 39

(Instead of dropping packets, we can also set the ECN bit to indicate congestion)

slide-40
SLIDE 40

How to calculate average queue length? How to calculate drop probability How to set thresholds?

slide-41
SLIDE 41

We can use exponentially weighted average. On every packet arrival:

slide-42
SLIDE 42

Large wq : A burst of packets will cause avg to increase too fast, hit the max threshold Small wq : avg increases too slowly and we are unable to detect initial stage of congestions.

slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45

We can use exponentially weighted average. On every packet arrival:

slide-46
SLIDE 46

We can use exponentially weighted average. On every packet arrival:

slide-47
SLIDE 47

What if q drops to zero and no packet arrives? m is a function of period when queue is empty

slide-48
SLIDE 48

How to calculate average queue length? How to calculate drop probability How to set thresholds?

slide-49
SLIDE 49

1 Dropping Probability Average Queue Length pmax minth maxth

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52

How to calculate average queue length? How to calculate drop probability How to set thresholds?

slide-53
SLIDE 53

maxth - minth should be sufficiently large otherwise average queue size can oscillate beyond maxth “need more research” for

  • ptimal average queue size.
slide-54
SLIDE 54

Advantages of RED

slide-55
SLIDE 55

No bias against bursty flows Less global synchronization Control average queue length

slide-56
SLIDE 56

Variations of RED

slide-57
SLIDE 57

RED does not deal with unresponsive flows

slide-58
SLIDE 58

RED biases against flow with large packet size

slide-59
SLIDE 59

We can fix this by weighting drop probability to packet size

slide-60
SLIDE 60

A router can keep one queue per flow and apply RED to each one.

slide-61
SLIDE 61

Drop probability can be weighted with the priority of the flow.

slide-62
SLIDE 62

This is known as WRED and is implemented in some Cisco routers.

slide-63
SLIDE 63

Simulation Results

slide-64
SLIDE 64

Four TCP flows starting at time 0.2, 0.4, 0.6 and 0.8

slide-65
SLIDE 65
slide-66
SLIDE 66

Conclusion: RED increases throughput, reduces delay, controls average queue sizes, reduces global sync and is fairer to bursty traffic. It is deployed in routers today. But careful tuning of parameters is needed.