Speeding up mobile networks with FQ CoDel and MPTCP
Test Results in WiFi
In WiFi, the tests with Netperf and normal HTTP requests show an even more irregular image. Depending on the WiFi standard, fq_codel
leads to slightly better, but also worse results regarding latency and data rate. fq_codel
generally works worse together with higher WiFi bitrates. 802.11n and further developments such as 802.11ac are currently particularly problematic because the algorithm prevents the massively used package aggregation. The performance is affected yet further if uplinks and downlinks are loaded at the same time.
According to these experiences, you can use the FQ CoDel algorithm today in the cellular network without disadvantages. Reducing the latency is clearly noticeable in realistic scenarios. WiFi, however, still requires some tests. Current incompatibilities between the CoDel and WiFi standards mean you should tread carefully until the industry implements better integration of wireless protocols [44].
The MPTCP Failover Test
We focused on the failover scenarios when evaluating MPTCP because the performance when bundling WiFi and 3G through high latency and jitter in the cellular network can come off worse than with an individual connection [45]. Furthermore, operating multiple paths in parallel to activate MPTCP in the Linux kernel is not easy because Android disconnects the mobile data connection in an active WiFi connection. The parallel operation of multiple paths would require reprogramming the network routines. Positively expressed, enabling MPTCP in the Linux kernel is already enough to increase the robustness of TCP connections against the temporary loss of wireless connections.
We initiated a Netperf session for the MPTCP failover test using MPTCP via the WLAN interface. We separated the WiFi connection during data transfer. After establishing an Internet connection via the mobile network, MPTCP then automatically added the 3G connection to the session so that the data transfer continued. The session later switched back to WiFi in the same manner.
Figure 6 shows that, after the WiFi connection is lost, the MPTCP connection can be continued after about 4 seconds with enabled MPTCP using mobile communications. Switching back to WiFi requires a transmission pause of 2 seconds. The switching times can be reduced by the parallel operation of both interfaces or completely eliminated with planned network changes.
Comparisons of MPTCP connections, each with an individual stream, and pure TCP connections show no significant performance differences. However, MPTCP is – as described – still an experimental protocol that is not included in the mainline Linux kernel and requires the support of both client and server. Furthermore, some firewalls or other middleboxes discard packets with the new TCP option. MPTCP avoids the standard TCP in this case – to do so, it must wait out a timeout, meaning that, in the worst case scenario, it can cause a delay with establishing a connection. We therefore recommend MPTCP only for closed systems.
Conclusions
Recent research shows that more efforts are needed to integrate mobile systems with sufficient performance and robustness on the Internet. Linux offers good approaches here; however, these approaches are not very well known. AQM, in the form of FQ CoDel, provides a more promising candidate against bufferbloat problems. MPTCP is a good solution against connection failures when network switching.
However, the tests show that both approaches can neither fully solve the mobile network problems nor can they readily be used productively. These limitations stem from the lack of CoDel support in the leading network and security equipment in particular, and conservative settings for new TCP options in general.
The measurements in this article have shown that no MPTCP connection can be established in the 1&1 (Vodafone) and Blau.de (E-Plus) mobile communications networks because the necessary TCP option has been removed from the packages. The MPTCP tests work with T-Mobile. Some work must be done before mobile devices work optimally in the network. Until then, administrators and developers for whom the performance of mobile systems is particularly important must set up their own realistic test environments.
Infos
- "Browsing as the killer app" by J. West, M. Mace: http://www.joelwest.org/Papers/WestMace2010-WP.pdf
- PC vs. smart phone sales numbers: http://en.wikipedia.org/wiki/Mobile_operating_system#Market_share, http://en.wikipedia.org/wiki/Market_share_of_personal_computer_vendors#Unit_sales
- Cisco Visual Networking Index, 2013-2018: https://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.html
- "Lithium ion secondary batteries; past 10 years and the future" by Y. Nishi, Journal of Power Sources 100 (2001), No. 1, pg. 101
- "Increasing TCP's Initial Window," RFC 5256: https://tools.ietf.org/html/rfc5256
- Tail Loss Probe (TLP): https://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-probe-01
- TCP Fast Open: https://tools.ietf.org/html/draft-ietf-tcpm-fastopen-09
- "Communication in the presence of noise" by C. E. Shannon, Proceedings of the IRE 37 (1949), No. 1, pg. 10: http://nms.csail.mit.edu/spinal/shannonpaper.pdf
- "Bufferbloat: Dark buffers in the internet" by J. Gettys, K. Nichols: Queue 9 (2011), No. 11, pg. 40: https://dl.acm.org/citation.cfm?id=2071893
- "Performance simulation of buffer bloat in routers" by B. Gijsbers, D.D. Akkoorath: http://www.delaat.net/netbuf/bufferbloat_BG-DD.pdf
- "TCP Congestion Control," RFC 5681: https://tools.ietf.org/html/rfc5681
- "The CoDel queue management algorithm"by Jonathan Corbet: https://lwn.net/Articles/496509/
- "Rate control for robust video transmission over burst-error wireless channels" by C. Hsu et al., IEEE Journal 17, No. 5, pg. 756-773: http://sipi.usc.edu/~ortega/papers/HsuOrtegaKhansari99.pdf
- "Browsing as the killer app" by J. West, M. Mace: http://www.joelwest.org/Papers/WestMace2010-WP.pdf
- TCP over Second (2.5G) and Third (3G) Generation Wireless Networks. RFC 3481: https://tools.ietf.org/html/rfc3481.html
- "Web metrics: Size and number of resources" by S. Ramachandran: https://developers.google.com/speed/articles/web-metrics
- "How free is my phone?"by A. Back: http://www.h-online.com/open/features/How-free-is-my-phone-1634071.html
- "[Bloat] Testing fq_codel on Android Galaxy Nexus AK kernel" by E. Dumazet: https://lists.bufferbloat.net/pipermail/bloat/2013-February/001368.html
- "Network Acceleration with TCP Fast Open" by T. Schöler, M. Feilner. Linux-Magazin 02/13, pg. 70: http://www.linux-magazin.de/Ausgaben/2013/02/TCP-Fast-Open
- "Increasing the TCP initial congestion window" by J. Corbet: https://lwn.net/Articles/427104/
- Tail Loss Probe (TLP): https://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-probe-01
- "Proportional Rate Reduction for TCP" by N. Dukkipati et al.: https://research.google.com/pubs/pub37486.html
- Recommendations on Queue Management and Congestion Avoidance in the Internet. RFC 2309, pg. 2, https://tools.ietf.org/html/rfc2309
- "Controlling queue delay" by K. Nichols, V. Jacobson: Communications of the ACM 55 (2012), No. 7, pg. 42: https://queue.acm.org/detail.cfm?id=2209336
- "The BLUE active queue management algorithms" by W. C. Feng et al.: IEEE/ACM Transactions on Networking 10 (2002), No. 4, pg. 513: http://www.thefengs.com/wuchang/blue/ToN-02.pdf
- Codel Overview, Bufferbloat project: https://www.bufferbloat.net/projects/codel/wiki/Wiki?version=70
- FlowQueue Codel: https://tools.ietf.org/html/draft-hoeiland-joergensen-aqm-fq-codel-00
- "[PATCH v12] codel: Controlled Delay AQM" by E. Dumazet: https://lwn.net/Articles/496502/
- "Network transmit queue limits" by J. Corbet: https://lwn.net/Articles/454390/
- "The State of the Art in Bufferbloat" by T. Høiland-Jørgensen: https://www.ietf.org/proceedings/86/slides/slides-86-iccrg-0.pdf
- "TCP small queues" by J. Corbet: https://lwn.net/Articles/507065/
- Architecture for Mobile Data Offload over Wi-Fi Access Networks: https://www.cisco.com/c/en/us/solutions/collateral/service-provider/service-provider-wi-fi/white_paper_c11-701018.html
- IP Mobility Support for IPv4, Revised. RFC 5944: https://tools.ietf.org/html/rfc5944
- Mobility Support in IPv6. RFC 6275: https://tools.ietf.org/html/rfc6275
- "Multipath TCP: An overview" by J. Corbet: https://lwn.net/Articles/544399/
- TCP Extensions for Multipath Operation with Multiple Addressea. RFC 6824: https://tools.ietf.org/html/rfc6824
- Linux Kernel Multipath TCP: http://multipath-tcp.org/pmwiki.php/Main/HomePage
- "Maximize mobile user experience with NetScaler Multipath TCP" by J. Gudmundson: http://blogs.citrix.com/2013/05/28/maximize-mobile-user-experience-with-netscaler-multipath-tcp/
- "Apple seems to also believe in Multipath TCP" by O. Bonaventure: https://perso.uclouvain.be/olivier.bonaventure/blog/html/2013/09/18/mptcp.html
- MPTCP and Product Support Overview: https://www.cisco.com/c/en/us/support/docs/ip/transmission-control-protocol-tcp/116519-technote-mptcp-00.html
- Linux Kernel Backport Compatibility Module: https://mcgrof.github.io/compat/
- MPTCP kernel for the Nexus 5: https://github.com/gdetal/mptcp_nexus5
- Netperf-Suite: http://www.netperf.org
- FQ Codel on Wireless-n: http://www.bufferbloat.net/projects/cerowrt/wiki/Fq_Codel_on_Wireless
- "Multipath TCP over Wi-Fi and 3G links" by Gary Miguel, Angad Singh: http://reproducingnetworkresearch.wordpress.com/2012/06/04/multipath-tcp-over-wifi-and-3g-links/
« Previous 1 2 3 4
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
-
Red Hat Adds New Deployment Option for Enterprise Linux Platforms
Red Hat has re-imagined enterprise Linux for an AI future with Image Mode.
-
OSJH and LPI Release 2024 Open Source Pros Job Survey Results
See what open source professionals look for in a new role.
-
Proton 9.0-1 Released to Improve Gaming with Steam
The latest release of Proton 9 adds several improvements and fixes an issue that has been problematic for Linux users.
-
So Long Neofetch and Thanks for the Info
Today is a day that every Linux user who enjoys bragging about their system(s) will mourn, as Neofetch has come to an end.
-
Ubuntu 24.04 Comes with a “Flaw"
If you're thinking you might want to upgrade from your current Ubuntu release to the latest, there's something you might want to consider before doing so.
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
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.