Speeding up mobile networks with FQ CoDel and MPTCP
Information is Scarce
Neither AQM CoDel or MPTCP are in practical, everyday use by Linux users and administrators. Anyone who wants to use these protocols today must take the initiative and do some work.
Middlebox appliances (ALG, NAT, VPN concentrator, SSL terminator, etc.) are proving problematic for all advanced forms of IP and TCP because they – unlike pure routers – like to intrude in the IP and TCP headers, change the parameters, and define filters on header fields. The TCP variant MPTCP is characterized by the value 30 in the options
field of the TCP header [36] or the TCP Fast Open – planned for experimental use – by the value 254 [7]. If middleboxes filter TCP options, the new TCP variants fail.
Unfortunately, the providers of such middleboxes (Barracuda, Checkpoint, Juniper, or McAfee) do not publish any information about blocking behavior with experimental or new TCP options. Cisco at least offers a list of the MPTCP support for their own devices [40]. Implementing the new approaches therefore currently requires more precise engagement with the manufacturer.
In practice, it is often not easy to recognize where the bufferbloat arises. If it is found on a device you cannot control, the only option is to artificially limit the rate to an upstream router in order to move the bottleneck into its own territory and to use AQM ([24], p. 14).
Benchmarks
Do the performance benefits of integrating these additional protocols justify the complication and cost? We carried out extensive tests on a typical mobile device, a Sony Xperia Z1 compact D5503, to see whether adding these protocols made a difference to performance. We used the Cyanogenmod 11 community-built version of Android 4.4, with the Android Linux kernel 3.4.0.
We employed Compat, the Linux backport module, to address the problem that the fq_codel
implementation of FQ CoDel is only available from Kernel 3.5. We fetched MPTCP 0.86 from a Nexus 5, whose kernel already supports MPTCP [42], and adjusted it all for the Cyanogenmod kernel.
The first scenario measured latency and data rates (upload and download) for the standard algorithm Fifo and fq_codel
in the mobile network (3G) and for multiple wireless standards (IEEE 802.11*). We used the Netperf benchmark [43], occasionally supplemented with measurements from standard HTTP requests. The second scenario involved tests for evaluating MPTCP. In the case of the 3G test, the Netperf server was installed on a virtual server (3.3GHz, 1GB RAM, 100MB connection) at a hoster (Hetzner).
For the WiFi tests, a Netperf server was available in the local network (2x2.5 GHz, 4GB RAM, 1000MB). Both servers used Debian-based distributions. A Linux kernel 3.5 from the MPTCP project APT repository provided the MPTCP support.
Tests on the Mobile Network
The matrix of all collected test results is too large to display in full. The following statements are therefore limited to the central findings. For the FQ CoDel scenario, the testers first measured the TCP latency (TCP_RR test) to the server with the upload channel busy at the same time (TCP_STREAM test). In addition, a second test series occupied the download channel (TCP_MAERTS-test).
As shown in Figure 3, fq_codel
accomplished no significant changes compared to the previous default Fifo with the complete utilization of both channels of a 3G connection; with sole usage of the upload channel, on the other hand, the latency with fq_codel
reduced from 1115 to 260 milliseconds. However, the data rates measured during the tests remained practically the same (Figure 4).
The homepage loading time for Linux Magazine online with a busy upload channel was measured in another test. The effects of latency reduction become clearer here because the scenario included about 60-70 HTTP requests for a page call. Figure 5 shows that the homepage transfer time reduced by 40 seconds using 3G with fq_codel
.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.