Welcome! Log In Create A New Profile

Advanced

[PATCH 0 of 4] Add MPTCP support

Dourov Maxime
April 18, 2024 10:00AM
Multipath TCP (MPTCP), standardized in RFC8684 [1], is a TCP extension
that enables a TCP connection to use different paths.

Multipath TCP has been used for several use cases. On smartphones,
MPTCP enables seamless handovers between cellular and Wi-Fi networks
while preserving established connections. This use-case is what pushed
Apple to use MPTCP since 2013 in multiple applications [2].
On dual-stack hosts, Multipath TCP enables the TCP connection to
automatically use the best performing path, either IPv4 or IPv6. If one
path fails, MPTCP automatically uses the other path.

To benefit from MPTCP, both the client and the server have to support
it. Multipath TCP is a backward-compatible TCP extension that is enabled
by default on recent Linux distributions (Debian, Ubuntu, Redhat, ...).
Multipath TCP is included in the Linux kernel since version 5.6 [3].
To use it on Linux, an application must explicitly enable it when
creating the socket. No need to change anything else in the application.

This series of patches add two functionalities:
- First, the new 'protocol' field of the 'ngx_listening_s' allows for
the selection of the protocol parameter in the 'socket' system call.
The default value is zero.
- Second, a new parameter 'mptcp' for the 'listen' directive. It sets
the protocol to 'IPPROTO_MPTCP'. For the sake of uniformity, the
option is added to the 'http', 'mail' and 'stream' context.

Link: https://www.rfc-editor.org/rfc/rfc8684.html [1]
Link: https://www.tessares.net/apples-mptcp-story-so-far/ [2]
Link: https://www.mptcp.dev [3]
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH 0 of 4] Add MPTCP support

Dourov Maxime 153 April 18, 2024 10:00AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 105
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready