12 Punkte von GN⁺ 2025-08-02 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Der erste Patch zur offiziellen Integration des QUIC-Protokolls in den Linux-Kernel wurde eingereicht
  • Ziel ist es, die Grenzen des bestehenden TCP zu verbessern, etwa Latenz, Head-of-Line-Blocking und durch Zwischenkomponenten verursachte Protokoll-Erstarrung
  • QUIC basiert auf UDP, unterstützt Multistreaming und Ende-zu-Ende-Verschlüsselung; bei einer Einführung im Kernel steigt das Potenzial zur Nutzung auf breiteren Plattformen und mit mehr Hardware
  • Die Leistung der ersten Kernel-Implementierung wurde zwar niedriger als bei bestehendem TCP und Kernel-TLS gemessen, doch durch künftiges Hardware-Offloading und Optimierungen sind Verbesserungen zu erwarten
  • Derzeit wird die Unterstützung in Samba, kernelbasiertem SMB/NFS, curl und anderen Projekten intensiv diskutiert, allerdings dürfte es bis zur Aufnahme in den Mainline-Kernel noch dauern

Hintergrund zur Entstehung von QUIC und die Grenzen von TCP

  • QUIC wurde entwickelt, um verschiedene Probleme von TCP im heutigen Internet zu lösen
  • Die durch den 3-Wege-Handshake entstehende Verzögerung beim Verbindungsaufbau, fehlende gute Multistream-Unterstützung und Head-of-Line-Blocking bei Paketverlust verschlechtern die Web-Erfahrung
  • TCP-Metadaten werden unverschlüsselt übertragen, wodurch das Risiko von Informationsabfluss besteht; zudem filtern Middleboxes (Zwischengeräte) den Traffic anhand von Verbindungsinformationen, was zur Protokoll-Erstarrung (ossification) führt
  • Auch Verbesserungsversuche bei TCP, etwa Multipath TCP, funktionieren in der Praxis oft nur dann zuverlässig, wenn sie sich als bestehendes TCP tarnen

Eigenschaften von QUIC und technische Vorteile

  • QUIC läuft über UDP und kann Verbindungen schnell aufbauen, ohne dabei einen separaten 3-Wege-Handshake zu benötigen
  • Das Übertragungsdesign mit Multistreaming sorgt dafür, dass Paketverlust nicht den gesamten Stream beeinträchtigt
  • QUIC-bezogene Transportdaten sind stets Ende-zu-Ende verschlüsselt (TLS-basiert), sodass Zwischengeräte nicht auf interne Nachrichten zugreifen können
  • In Netzwerkumgebungen, in denen UDP-Pakete passieren können, kann in der Regel auch QUIC normal arbeiten

Überblick über den QUIC-Integrationspatch im Linux-Kernel

  • Im eingereichten Patch wird mit IPPROTO_QUIC ein neuer Protokolltyp eingeführt, sodass der bestehende socket()-Systemaufruf genutzt werden kann
  • Ähnlich wie bei TCP können Aufrufe wie bind(), connect(), listen() und accept() verwendet werden, allerdings unterscheidet sich die weitere Verarbeitung
  • TLS-Sitzungsverwaltung sowie Authentifizierungs- und Verschlüsselungsprozesse werden im Userspace verarbeitet; nach dem Verbindungsaufbau muss auf beiden Seiten der TLS-Handshake abgeschlossen werden, bevor Daten gesendet und empfangen werden können
  • Nach der ersten Verbindung kann das Ergebnis der TLS-Aushandlung zwischengespeichert werden, wodurch erneute Verbindungen zwischen zwei Systemen deutlich beschleunigt werden

Herausforderungen bei der Leistung und Ausblick

  • Die eingereichte QUIC-Implementierung im Kernel liegt bei der Leistung derzeit noch hinter bestehendem Kernel-TLS und TCP zurück
    • Im Vergleich zu In-Kernel-TLS liegt der Durchsatz bei weniger als einem Drittel; selbst bei deaktivierter Verschlüsselung ist der Durchsatz gegenüber TCP um bis zu den Faktor 4 geringer
  • Als Ursachen werden fehlende Unterstützung für Segmentation Offloading, zusätzliche Datenkopien im Sendepfad und die Header-Verschlüsselung genannt
  • Künftig werden Leistungsverbesserungen erwartet, wenn Hardware-Offloading hinzukommt und die In-Kernel-Implementierung weiter optimiert wird

Stand der Einführung und weiterer Ausblick

  • In verschiedenen Projekten wird In-Kernel-QUIC-Unterstützung intensiv diskutiert, darunter Samba-Server/Client, Kernel-SMB- und NFS-Dateisysteme sowie curl
  • Der Patch umfasst rund 9.000 Zeilen und enthält derzeit nur Low-Level-Unterstützungscode. Die vollständige Implementierung ist in weiteren Patches angekündigt
  • Die Diskussionen zu Code-Review und Merge haben gerade erst begonnen, daher dürfte es bis zum praktischen Einsatz noch dauern
    • Wenn man den jüngsten Fall des Homa-Protokolls betrachtet, das über neun Monate hinweg elf Einreichungen für die Kernel-Integration benötigte, ist auch bei QUIC ein Einzug in den Mainline-Kernel wohl erst ab 2026 zu erwarten

Noch keine Kommentare.

Noch keine Kommentare.