New ways to verify that Multipath TCP works through your network
http://blog.multipath-tcp.org/blog/html/index.html
The design of Multipath TCP has beenheavily influenced by the middleboxes that have been deployed in awide range of networks, notably in cellular and enterprise networks. Someof these middleboxes like regular NATs interact correctly with MultipathTCP and many Multipath TCP users work behind NATs. However, some middleboxes,such as firewalls or TCP optimisers, terminate TCP connections or interferewith TCP options and thus interact badly with Multipath TCP.
Several tools can be used to verify that Multipath TCP works througha given network. If you have installed a Multipath TCP enabled kernel,you can simply usecurl and issue the following command :
curl http://www.multipath-tcp.org
The webserver that supports http://www.multipath-tcp.org has been configured tosend a special response to an HTTP request with thecurl User-Agent. Ifthe request is sent over a regular TCP connection, the server replies with :
Nay, Nay, Nay, your have an old computer that does not speak MPTCP. Shame on you!
If the HTTP request is sent over a Multipath TCP connection, the server replies with :
Yay, you are MPTCP-capable! You can now rest in peace.
This is a basic test that if often used to validate the correct installationof a Multipath TCP enabled Linux kernel.
However, many users are interested in simpler tests through a web interfaceor through a smartphone application. Two young researchers have recentlyreleased two useful tools.
http://amiusingmptcp.com has been the first website created to verify thatMultipath TCP was working correctly. Unfortunately, it is not anymoreup and running.Alexander Frommgen and his colleagues at TU Darmstadt have posted an updated version ofthis website. In addition to verifying that the web page is served over aMultipath TCP connection, the new web site also checks whether Multipath TCPpasses correctly through other ports. You can test it at http://amiusingmptcp.deOther tests will be added soon.
Another option is tracebox. This command-linetool allows to perform traceroute-like tests with different TCP options toverify whether they pass through middleboxes.tracebox works well on Linux and MacOS, butnot yet on smartphones.
Raffaele Zullo a student at the University of Napoli in Italy has spent several months atthe University of Liege to work with Benoit Donnet. During hisinternship, he developed a new version of tracebox that runs on Androidsmartphones. It requires a rooted smartphone, but does not need a MultipathTCP kernel on the smartphone. You can download it from
https://play.google.com/store/apps/details?id=be.ac.ulg.mobiletracebox