Multi-Path TCP: revolutionizing connectivity, one path at a time
15 days ago
- #TCP
- #Networking
- #MPTCP
- The Internet typically uses a single path for end-to-end communication despite being designed for multiple paths due to issues like packet reordering.
- Multi-Path TCP (MPTCP) leverages multiple interfaces (e.g., Wi-Fi and cellular) on devices to enable multi-path connectivity.
- MPTCP introduces 'subflows' allowing a single TCP connection to use multiple paths, improving aggregation and mobility.
- Aggregation in MPTCP can combine bandwidth from multiple interfaces, though its practical benefits are debated.
- Mobility in MPTCP allows connections to survive network changes, such as switching from Wi-Fi to cellular.
- MPTCP is supported in Linux (kernel v5.6+) and iOS/macOS, with Linux typically used on servers and Apple devices as clients.
- Linux's MPTCP implementation includes a Path Manager and scheduler, but client-side setup is complex and requires configuration.
- macOS and iOS offer higher-level APIs for MPTCP, integrating with features like Wi-Fi Assist for seamless connectivity.
- MPTCP has limitations, such as IPv6 compatibility issues when TCP timestamps are enabled.
- MPTCP's future is uncertain, with Multi-Path QUIC also in development but not yet practical.