1/14
Learn about RED and CoDel
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
RED and CoDel
random early detection, controlled delay
RED condition 1
if average queue <= min threshold when a packet arrives, it is added to the queue
condition 2
if max threshold > average queue > min threshold then the packet is dropped with some probability dropProbability
condition 3
if average queue >= max threshold, the packet will be dropped
what happens when the average queue length reaches the maximum threshold?
all incoming packets are dropped, congestion is about to occur
what is drop probability a function of?
average queue and the count of incoming packets that have been enqueued
drop probability increases slowly as drop count increases, making it more likely packets will be dropped over time. why?
to prevent packet drops clustering together because of bursty flows
how is RED designed to drop a small proportion of incoming packets when the average queue length is between the two thresholds?
drop probability algorithm is designed to ensure a roughly even distribution of packet drops over time, which should avoid future packet drops because TCP will reduce sending rates. this reduces the length of queue while maintaining high throughput
difference in max and min thresholds should be?
enough to accomodate the typical fluctuations in average queue lengths that the router is likely to see over one RTT
CoDel goal
create a parameterless AQM that is easy to deploy and that solves the buffer bloat
CoDel process 1
determine the minimum delay over a set time interval, initially 100ms
CoDel process 2
when a packet is dequeued for sending, CoDel calculates the time it spent in the queue and maintains the minimum queuing delay seen across all of the packets in the interval
CoDel process 3
when the final packet in the interval is dequeued, it is dropped if the lowest queuing delay in the interval is more than 5ms
CoDel process 4
the next interval is shortened to 100/sqrt 2. the process repeats and the interval continues to shorten if packets are dropped with the interval for round n set to 100 / sqrt n
additional CoDel implementation consideration
packets aren’t dropped if that empties the buffer to prevent the interval becoming too small