📜 ⬆️ ⬇️

Multipath (multipath) modification for the TCP protocol: the first experiment



In TCP / IP, we establish a connection with a specific IP address, and then we exchange packets only with this address. The developers of the new extension for the Multipath TCP protocol ( RFC 6824 ) offer to remove this historical limitation. In their opinion, the use of multipath TCP modifications will simplify the use of this protocol in many applications, such as transparent traffic redirection from one device to another and load balancing.

Multipath modification Multipath TCP or MPTCP allows you to easily connect the server to several Ethernet channels at once, and on the smartphone to use both WiFi and 3G, and in general there are many other interesting features.

Of course, under Linux even now you can manually distribute traffic across several channels, but this is not very efficient: see the article “ Combining the bandwidth of two Internet channels and simple fault tolerance
')
If the connection is established via Multipath TCP (MPTCP), then it is possible to exchange packets with several addresses / interfaces simultaneously, within the same connection. At the same time, the MPTCP connection maintains backward compatibility with older TCP versions and allows the device to be connected via normal TCP. In other words, if your computer supports MPTCP, then you can connect to three providers without MPTCP support - and establish a connection with another MPTCP client at triple speed.

The MPTCP developers give typical examples of its use (pdf) .





Naturally, there are many other options. Connecting channels through different interfaces and passing traffic across all these channels at the same time is very convenient, not to mention a significant increase in speed.

One of the authors of the MPTCP specifications with colleagues recently conducted the first MPTCP experiment , establishing a direct connection between two HP DL380p G7 servers. In each of these, three dual-port Intel 82599EB 10Gb Ethernet cards were installed, with the result that the channel consisted of six parallel 10Gb cables. As a result, a speed of 51.8 Gbps was recorded on a single TCP connection.



For the experiment, developers had to manually make changes to the Linux kernel , adding support for MPTCP there.

Source: https://habr.com/ru/post/174271/


All Articles