see also flent.org for a professional bandwidth and latency measurement tool.
That IQrouter box looks like a great low-hassle solution. It looks like they buy TP-Link wireless routers, add custom firmware (probably OpenWrt) to them that enables CoDel and traffic shaping by default, and their custom firmware also runs some kind of auto-tuning process that keeps the settings optimized. It’s a great turn-key solution for someone who has bufferbloat problems but isn’t enough of a router/networking geek to want to do it all himself.
A lot of my “go deploy all this stuff” was tongue-in-cheek. Unless you’re a Linux and networking nerd running custom Linux installs on all of your devices (including your desktops/laptops, routers, smartphones, game consoles, modems, etc.), you really can’t just deploy all this stuff yourself.
Since you asked, the endpoints of a TCP connection are the device that initiates the TCP connection and the device it’s connecting to. For example, a typical HTTP connection is a TCP connection between a machine running a web browser and a machine running a web server software package such as Apache. Those two machines are the endpoints of the TCP connection.
As those TCP packets cross the Internet, they pass through any number of other boxes in between, such as Wi-Fi routers, home gateways, modems, firewalls, backbone routers, and more. All those in-between boxes are sometimes referred to as middleboxes since they’re “in the middle”; between the two endpoints of the TCP connection.
Google’s BBR is something that can run on TCP endpoint machines, but right now it’s only for Linux, and you’d probably have to compile your own Linux kernel in order to use it. You can’t just go out and deploy BBR on your Macs, Windows boxes, gaming consoles, etc., since you don’t have a way to replace the TCP congestion control algorithms compiled into the kernels on those OSes.
In contrast, CoDel and FQ-CoDel are things you can go out and deploy yourself, at least on your main home gateway or wireless router, assuming you have a router that can run DD-WRT or OpenWrt or similar Linux-based open source aftermarket firmware distributions that already have CoDel built-in.
If you make all the traffic into and out of your home network run through an [FQ-]CoDel-equipped router, and you tweak the traffic shaping settings on that router to make it an ever-so-slight bottleneck for both upstream and downstream traffic, then CoDel can work its magic to allow TCP congestion control to work and may very well keep bloated buffer queues from building up on any of the middle boxes between your home and the Internet services you use. That IQrouter box looks like it automates that process.
On my old 5400rmp HDD the write speed was also slower than the 200mbps internet speed I had at the time, so indeed when downloading stuff through steam it would occasionally stop downloading for a bit so the HDD could catch up.
Ah, your operating systems course must’ve discussed this.
The numbers you see on Steam are telling you (us) the download rate and a write-to-disk rate. The first can be greater than the second for a good amount of time, and Steam can continue reading packets from the network just fine, because of in-memory caching. It’s safe to assume that before any of your data are written on disk, they’re resting in some buffer reserved by the OS. It’s very rarely you’ll see an application utilising direct DMA to disk, because it partly “blocks” the bus for other processes.
My point is that is not how it works.
Otherwise Hurricane Electric would peer with Cogent over IPv6. And Netflix wouldn’t have had to bribe Comcast (thereby re-ignigting the Net Neutrality discussion). And, and, and.
Software Engineers give the military a run for their money in love of acronyms.
You can always hit them up on Twitter and ask them about it. :-))
Haha me too. Thanks for asking
One of our devs tends to be wonky with spelling and made an app called the Massager (Messenger). Following tradition, I named my app the Configunator. For a few releases there was a 1% chance that the title bar would read Configunator as opposed to Configurator.
That feature isn’t in there any more
Yes it is just semantics. Saying “computers” is easier than saying “various networking devices and web servers”. Either is technically correct.
And the Netflix/Comcast deal was harmful to their customers? I’ll stop right here.
It wasn’t a weekend, but we once spent an entire 2 hour meeting backronyming the name of a product we had already made. That was not the purpose of the meeting, but that was the result.
You’re talking about acronyms but don’t write it as LASER?
Trebino (who came up with those acronyms) is a hilarious guy. I took undergrad optics from him. His lab is called the swamp.
VHDL stands for VHSIC Hardware Description Language
GNU is GNU’s Not Unix
PHP is, amongst other things PHP Hates Programmers PHP Hypertext Preprocessor
Softies liking acronyms is an understatement
Edit: fixed php
1% is too high, you want to have completely forgotten about it by the time you hear about it again.
Yes it was. Netflix had to waste time fighting something that shouldn’t have been fought, and had to pay far too much money to get Comcast to fix something they broke.
As a consulatnt for a very large hotel corporation back in the 90’s, I developed what upper management would coin “Sales Management And Revenue Tracking System.” They flew me to different states to give S.M.A.R.T.S. training once we rolled out.
I had proposed Revenue Tracking For Management, but they didn’t go for it.
One could argue that’s why I had to fly out to give training…
I was working on a website that calculated mandated pay from industrial awards. One component of the system extracted rate summaries. I dubbed it Award Rate Summary Extractor. It kept that name for months until the project manager detected my acronym. The developers loved it.