It's all too easy to fall into the trap of looking for new router models whenever we have issues with our home network. After all, our Internet connection comes in and goes out of that device, so logically, it must be the cause. But what if I told you that a new router probably won't improve your home network's performance? You might look at me like I'm from another planet, but the fact is that the networking equipment being used by your ISP is a more likely cause, and that hardware is not under your control.
See, with networking, any point where two differing transfer speeds meet becomes a bottleneck, whether it's fast-to-slow or slow-to-fast. When those links are saturated, you might notice that your connection gets massive amounts of latency and slowdown. It's more noticeable on cable connections where the upload speed is slower than the download speed, but it can happen on any connection, leading to real-time applications like VoIP, gaming, or SSH lagging or failing.
Understanding the real bottleneck
Bufferbloat and jitter are the most likely culprits and they occur outside your network
Sending data over the Internet uses packets that contain routing information, parts of the data, and instructions for assembling it on the other end. Crucially, it doesn't guarantee packet delivery, just that it'll give a best-effort to route those packets. Other mechanisms handle asking for packets to be re-sent if missed from the whole, but we're only considering flow in one direction right now.
As those packets are "in flight," they have to cross any number of network appliances, and each of these has buffers to avoid issues endemic to the physical layer. Now, hardware designers thought it would be better to add large first-in-first-out (FIFO) buffers to everything. This actually wasn't the case, and those giant buffers could fill up, then make the traffic behind them think that the network path is longer than it is, causing bufferbloat. That causes a range of knock-on effects, like jitter, and can take your real-time applications offline.
It manifests in various ways, like ping spikes during load when your idle ping is low, video calls freezing when other network activity occurs, gaming pings skyrocketing when uploading data, and web pages loading slowly even when you know your ISP connection is fast. And the worst thing is that, because it's almost always at your ISP's hardware, there was not much you can do about it.
What is SQM, and why does it help?
Algorithms to the rescue
The bottleneck here isn't your connection, or the connection to your ISP. QoS settings will only mitigate it to a certain extent, but it won't completely remove the issue. And it's worth mentioning that throwing money at the issue isn't likely to help, so upgrading your ISP package or buying a flagship router isn't the answer.
What will help is taking the responsibility for the buffering away from your ISP's equipment and bringing it inside your home network. Many router manufacturers or firmware makers have Smart Queue Management (SQM) as an option now, including eero, Ubiquiti, all Comcast DOCSIS 3.1 gateways, pfSense, OPNsense, IPFire, and OpenWRT-based routers.
Depending on how your router's firmware implements it, it might be called something else. Eero called it "optimize for conferencing and gaming" for ages, but it's now a checkbox with SQM next to it. Ubiquiti calls it Smart Queues, as does Firewalla. OPNsense implements it via traffic shaping on the firewall, as does pfSense. OpenWRT calls it SQM, but you'll need luci-app-sqm and sqm-scripts installed for it to work. Unfortunately, most customer routers don't have the necessary hardware to support SQM, so the next time you're shopping, make sure it's on your must-have list.
For routers with manual SQM tuning, it's best to start at around 85% of your tested upload and download speeds. That ensures your router handles any buffer queues and that the advanced algorithms running SQM are in play. This will ensure that smaller flows, such as those used in online gaming or video conferencing, are handled first, while larger flows, such as cloud sync, are buffered and scheduled appropriately without taking over all the bandwidth.
SQM fixes bufferbloat by bringing the queuing inside your control
There's not much any consumer can do about getting their ISP to change the myriad of networking appliances that your data travels over. Eventually, as the ISP phases out old hardware in favor of new, SQM might become a commonplace feature, or other algorithms for buffering might come along that completely remove bufferbloat from the equation. But until then, the best defense is a good offense, bringing the buffer queue inside your home network where you can control how it works. That will give you, your household, and every device on your home network the best chance of latency-free internet access.
