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
-
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.