Multipath-TCP-UnterstĂĽtzung soll endlich in Linux einziehen
Über einen neuen Ansatz soll der für Mobilgeräte und 5G wichtige Support zur Internet-Kommunikation über mehrere Verbindungen mittelfristig in Linux einziehen.
- Thorsten Leemhuis
Unterstützung für Multipath-TCP (MPTCP), das unter anderem einen unterbrechungsfreien Wechsel von WLAN- auf Mobilfunk-Datenanbindung ermöglicht, soll nach über zehn Jahren bald in den offiziellen Linux-Kernel einfließen. Auf dieses Ziel arbeiten einigen Programmierer gerade von neuem hin, die den Entwicklungsstand auf der derzeit stattfinden Linux Plumber Conference (LPC) umrissen haben; zur Vorstellung waren mehrere der wichtigsten Entwickler des Netzwerkstacks von Linux anwesend, die sich dem Vorhaben gegenüber offen zeigen.
IPv6 ist Pflicht fĂĽr neue Kernel-Features
Die Kernel-Entwickler stellten aber auch Forderungen. Der derzeit nur IPv4 unterstützende Code müsse etwa lernen, IPv6 zu unterstützen. Denn David S. Miller, der Betreuer des Netzwerk-Subsystems von Linux, stellte klar: "Wir haben den Zeitpunkt lange überschritten, an dem wir neue Features akzeptieren können, die IPv6 nicht gleich von Anfang an unterstützen."
Multipath-TCP ist eine Technik, bei der ein Gerät mehrere Verbindungen zum Internet aufbauen kann, um diese entweder parallel zu nutzen oder transparent von der einen auf die andere zu wechseln. Letzteres ist etwa für Mobilgeräte wie Smartphones interessant: Wenn der Nutzer sein Haus und damit den Sendebereich seines heimischen WLANs verlässt, kann das Betriebssystem dann auf die Internetanbindung via Mobilfunktnetz umschwenken, ohne dass Anwendungen davon etwas bemerken. Das ist unter anderem wichtig, damit es bei Video-Streaming nicht zu Unterbrechungen kommt; einige Anbieter Linux-basierter Mobilgeräte integrieren daher ältere Patches für Multipath TCP schon eine Weile.
Neuer, schlankerer Ansatz
Die vorgestellten Kernel-Änderungen zum Support von Multipath TCP sind indes nicht die, die das Projekts Linux Kernel MultiPath TCP Project seit 2009 entwickelt. Es ist vielmehr ein neuer Code-Ansatz, den andere Entwickler initiiert haben. Unter ihnen sind auch renommierte Kernel-Hacker, die wissen, wie man neue Features in Linux einbringt. Deswegen ist die neue Lösung für MPTCP fürs Erste auch deutlich kleiner als die älteren MPTCP-Patches für Linux, die die Vortragenden aus verschiedenen Gründen als "nicht einbringbar" ("not upstreamable") einstufte.
Der neue Ansatz bietet daher vorerst auch nur die wichtigsten für MPTCP nötigen Funktionen: Das erleichtert die Begutachtung des Codes, die vor der Aufnahme in den Kernel ansteht. Deswegen implementiert der neue Code derzeit auch nur das neuere, noch diskutierte RFC 6824bis (auch MCTP v1 genannt), und lässt das ältere, von der IETF schon seit längerem abgesegnete RFC 6824 außen vor. Dass Linux MPTCP lernt, ist auch für neue Smartphones wichtig, denn die Technik ist bei Mobilfunkstandard 5G vorgeschrieben.
Details zum Ganzen in Folien, Paper und Videos
Hintergründe zum Ansatz und den Plänen der Entwickler finden sich in einem Github-Wiki und den Präsentationsfolien, die auf der Linux Plumbers Conference gezeigt wurden; noch detaillierter ist ein Paper der Entwickler, das die dortige Vorstellung begleitet. Genau wie alle anderen Vorträge der Konferenz wurde auch dieser auf Video aufgezeichnet und soll demnächst bei YouTube abrufbar sein.
In der Präsentation erwähnten die etablierten Kernel-Programmierer neben den IPv6-Support noch einige anderen Dinge, die die MPTCP-Entwickler vor der Aufnahme in den offiziellen Linux-Kernel noch angehen müssen. Daher ist nicht absehbar, wie lange es dauert, bis MPTCP in Linux einfließt; einige grundlegende Techniken, die die neue MPTCP-Implementation benötigt, haben die Entwickler aber bereits in aktuelle Kernel einbringen können.
Die Veranstalter haben dem Autor einen kostenlosen Zugang zur Linux Plumbers Conference gewährt. (thl)