Hacker News new | ask | show | jobs
by wtallis 2386 days ago
For home routers, there was a major breakthrough in 2012 with the CoDel AQM algorithm, which was paired with a flow queuing system to create fq_codel and later Cake. These systems do not have any rule sets of the form "prioritize port N". fq_codel and Cake do look at port numbers and protocols, but only for the purposes of sorting packets into separate bins for separate network flows. Each bin gets the same set of rules applied to it, so in that sense they are Neutral.

CoDel on its own prevents a high-latency queue of packets from building up, but since it operates on a single FIFO queue is indiscriminate about which packets get dropped when it's time to drop something. fq_codel and Cake will tend to give priority to new or sparse traffic flows, and when they need to drop a packet they will drop from a flow that has a standing queue—on the assumption that those high-bandwidth flows are likely to be less latency/drop sensitive and probably can back off on their transmit rate. So any protocol with VOIP-like traffic patterns will tend to get prioritized enough to have minimal added latency and no packet loss (provided it's using a small share of available bandwidth), and the packet drops/ECN markings will hit the network flows that are behaving like TCP bulk file downloads. These heuristics do imbue fq_codel and Cake with a bias toward certain traffic-handling policies, but it's very analogous to the heuristics used by a typical operating system CPU scheduler, and well-grounded theoretically and empirically.

I said at the beginning "for home routers", because these new AQMs have not yet been incorporated into the kinds of ASICs used for carrier-grade equipment. But anywhere that it is practical to deploy these algorithms, they are easier to configure and offer better performance than the now-obsolete QoS strategies that depend on things like trying to decide whether port 53 should go to the head of the line to speed up DNS queries. These new algorithms have proven that ISPs do not need to buy any equipment to do things like detect and throttle bittorrent traffic in order to prevent it from overwhelming their network. They just need to upgrade their routers and gateways to use good general-purpose traffic management techniques.

1 comments

Wow that was an absolutely fascinating read thank you so much!