4 ms·
Your terminology seems a bit strange to me, the way I've seen these discussed: CoDel is an AQM (Active Queue Management) algorithm - it decides what packets to
by kev009 9y ago
Your terminology seems a bit strange to me, the way I've seen these discussed:
CoDel is an AQM (Active Queue Management) algorithm - it decides what packets to drop and when to drop them as a packet queue fills. This is most relevant at the hop with a bottle neck link.
BBR and reno etc are TCP congestion control algorithms or less frequently called congestion avoidance algorithms - they manipulate the window size and attempt to avoid congestion using different takes on congestion signaling (i.e.loss based reno, delay based for vegas, model based for bbr). This is most relevant from the sender side.
Scheduling would be more advanced queuing disciplines (for QoS or flow based fair queuing) and packet pacers. Queuing disciplines can apply to any bottle neck link, pacing is most useful sender side.
- throwasehasdwi 9y agoCoDel is packet scheduling. It just dynamically creates "classes" for each flow to determine which ones are overfilling the buckets and selectively drops from those streams. I try to talk about these things in a way that's easy for lay people to understand. Even among programmers QoS and packet scheduling are a niche topic
- _av8l 9y agoCoDel is just an AQM: https://tools.ietf.org/html/draft-ietf-aqm-codel-07 https://tools.ietf.org/html/draft-ietf-aqm-codel-07 What you describe is called FQ-CoDel: https://tools.ietf.org/html/draft-ietf-aqm-fq-codel-06 https://tools.ietf.org/html/draft-ietf-aqm-fq-codel-06
- throwasehasdwi 9y agoright you are! My apologies, my familiarly with CoDel is limited to the Linux implementation