Multipath TCP

Multipath TCP
Familie:Internetprotokollfamilie
Einsatzgebiet:Zuverlässiger bidirektionaler
Datentransport
MPTCP im TCP/IP-Protokollstapel:
AnwendungHTTPSMTP
TransportMPTCP
InternetIP (IPv4, IPv6)
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
Standards:RFC 6824 (2013)
RFC 6356 (2011)

Multipath TCP (MPTCP) ist ein vorgeschlagener Standard der Internet Engineering Task Force. MPTCP soll es erlauben, mehrere Pfade für erhöhte Redundanz und Durchsatz zusammenzuschließen.[1]

Im Januar 2013 publizierte das IETF die Multipfad-Spezifikation als experimentellen Standard im RFC 6824. Im März 2020 wurde dieser durch Veröffentlichung der Protokollerweiterung RFC 8684[2] als vorgeschlagener Standard obsolet.

Bündelung einer DSL und LTE Verbindung mit Multipath-TCP

Vorteile, Ziele, Einordnung

Durch das logische Zusammenschließen von mehreren TCP-Verbindungen bietet MPTCP erhöhte Redundanz und Durchsatz. Der Durchsatz ist gleich der Summe der zur Verfügung stehenden Bandbreite auf den jeweiligen Netzwerk-Schnittstellen. Multipfad-TCP ist rückwärtskompatibel mit regulärem TCP.

Neben MPTCP befinden sich mit Multipath QUIC und dem Multipath Datagram Congestion Control Protocol (MP-DCCP)[3] weitere Mehrwege-Daten-Transport-Protokolle in der IETF Standardisierung. Hinzu kommen Verfahren zur Aufteilung von Datenverkehr auf Leitungs- und Netz-Ebene, z. B. LACP und ECMP. Ziel dieser Multipath-Protokolle ist die Zusammenschaltung mehrerer Übertragungskanäle zu einem Hybrid Access, der die gesamte Übertragungskapazität über alle Wege in einem Internet-Anschluss bündelt und ausschöpft.

Mobiles Szenario

MPTCP ist besonders nützlich in einer mobilen Umgebung wo mehrere Netzwerk-Technologien gleichzeitig genutzt werden, wie Mobilfunknetze und Wi-Fi-Netze. Ein Mobiltelefon kann z. B. ein Online-Video auf dem Wi-Fi-Netz starten und beim Verlassen der Reichweite ununterbrochen auf dem Mobilfunknetz fortsetzen. Für den Anwender reduzieren sich die Kosten und er kann transparent von Netz zu Netz wechseln. Im Kernnetz von 5G als neuester Mobilfunktechnologie wird MPTCP für solch ein konvergentes (Fixed Mobile Convergence) Szenario als Standard auf Transportebene von 3GPP spezifiziert im Rahmen der ATSSS-Funktionalität zur Auswahl von und Umschaltung oder Aufspaltung von Verkehr auf unterschiedliche Zugangsnetz-Technologien (Access Traffic Steering, Switching and Splitting).

Server-Szenario

Durch das Bündeln von mehreren Pfaden können auch Server mit Multihoming profitieren. Sie können mehrere Pfade gleichzeitig ausnutzen und fällt ein Pfad aus, bleibt die TCP-Verbindung bestehen.

Applikations-Schnittstelle

Benötigt eine Applikation eine TCP-Verbindung, wird diese transparent mit MPTCP aufgebaut, ohne dass die Anwendung davon etwas merkt. So kann MPTCP auf einem System eingeführt werden, ohne Änderungen an den bestehenden Anwendungen vornehmen zu müssen.

Implementationen

Im Juli 2013 berichtete die MPTCP Working Group über 5 unabhängige Implementationen von MPTCP,[4] inklusive der Referenzimplementation im Linux-Kernel.

Die publizierten Implementationen sind:

Paketaufbau

Der MPTCP-Paketaufbau ist detailliert beschrieben in RFC 6824.

MPTCP erweitert ein TCP-Paket im TCP-Optionen-Feld um ID 30 (RFC 6824, Abschnitt 8). Die TCP-Option 30 ist registriert bei der IANA.[10]

Zusätzlich besitzen MPTCP-Pakete einen 4-Bit-Subtyp, der auch bei der IANA registriert ist. Die Subtypen sind im Subregister "MPTCP Option Subtypes" aufgeführt.[11] Diese Subtypen haben folgende Bedeutung:

WertSymbolName
0x0MP_CAPABLEMultipath Capable
0x1MP_JOINJoin Connection
0x2DSSData Sequence Signal (Data ACK and data sequence mapping)
0x3ADD_ADDRAdd Address
0x4REMOVE_ADDRRemove Address
0x5MP_PRIOChange Subflow Priority
0x6MP_FAILFallback
0x7MP_FASTCLOSEFast Close
0x8MP_TCPRSTSubflow Reset
0xfMP_EXPERIMENTALPrivate Use within controlled testbeds

Die Werte von 0x9 bis 0xe sind noch nicht zugewiesen.

Weblinks

RFC

  • RFC 6181 - Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses
  • RFC 8041 - Use Cases and Operational Experience with Multipath TCP
  • RFC 6897 - Multipath TCP (MPTCP) Application Interface Considerations
  • RFC 6356 - Coupled Congestion Control for Multipath Transport Protocols
  • RFC 6824 - TCP Extensions for Multipath Operation with Multiple Addresses (überschrieben durch RFC 8684)
  • RFC 6182 - Architectural Guidelines for Multipath TCP Development

Einzelnachweise

  1. Multipath TCP working group
  2. Mark Handley, Olivier Bonaventure, Costin Raiciu, Alan Ford, Christoph Paasch: TCP Extensions for Multipath Operation with Multiple Addresses. Abgerufen am 7. Mai 2021 (englisch).
  3. draft-amend-tsvwg-multipath-dccp-04 - DCCP Extensions for Multipath Operation with Multiple Addresses. Abgerufen am 6. Mai 2021 (englisch).
  4. MultiPath TCP: From Theory to Practice
  5. MPTCP - Linux Kernel implementation
  6. Multipath TCP for FreeBSD v0.1. Abgerufen am 23. September 2013.Vorlage:Cite web/temporär
  7. Release Note: BIG-IP LTM and TMOS 11.5.0. f5 Networks, 30. Mai 2014, abgerufen am 30. Mai 2014.Vorlage:Cite web/temporär
  8. John Gudmundson: Maximize mobile user experience with NetScaler Multipath TCP. Citrix, 28. Mai 2013, abgerufen am 20. September 2013.Vorlage:Cite web/temporär
  9. Apple seems to also believe in Multipath TCP. Abgerufen am 20. September 2013.Vorlage:Cite web/temporär
  10. IANA TCP-Optionen
  11. IANA TCP-Optionen, MPTCP Subtypen

Auf dieser Seite verwendete Medien

Architecture des réseaux d'accès hybrides avec Multipath TCP.png
Autor/Urheber: Obonaventure, Lizenz: CC BY-SA 4.0
Description de l'architecture générale d'un réseau d'accès hybride utilisant Multipath TCP