Kernel-Log – Was 3.10 bringt (1): Netzwerk

Linux 3.10 handhabt Paketverluste am Ende von TCP-Verbindungen effizienter und beschleunigt so HTTP-Übertragungen. Neu sind auch Unterstützung für VLAN Stacking und den WLAN-Chip Realtek RTL8188EE.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 12 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Am Wochenende hat Linus Torvalds die vierte Vorabversion von Linux 3.10 freigegeben. Aufgrund technischer Probleme gab es sie anfangs nur über das Quellcodeverwaltungssystem git; Torvalds betont in der Freigabe-Mail, dies sei ohnehin die effizienteste Art der Beschaffung. Mittlerweile ist Linux 3.10-rc4 aber als Quellcode-Archiv über kernel.org abrufbar.

Alle größeren Neuerungen von Linux 3.10 haben Torvalds und seine Mitstreiter wie gewohnt in den zwei Wochen nach Freigabe der Version 3.9 in den Kernel integriert. Linux 3.10 befindet sich daher jetzt in der Stabilisierungsphase; umfangreichere Umbauten gibt es in diesem Entwicklungsabschnitt nur in Ausnahmefällen, daher können wir bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die der Ende Juni oder Anfang Juli erwartete Kernel 3.10 bringen wird. Eine Artikelserie wird nacheinander die verschiedenen Bereiche des Kernels behandeln.

Den Anfang macht die folgende Beschreibung zu den Neuerungen rund um Netzwerk-Unterstützung. In den nächsten Wochen folgen Artikel zu Storage-Techniken, Dateisystemen, Grafiktreibern, Kernel-Infrastruktur, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Durch Unterstützung für das experimentelle Tail Loss Probe (TLP) handhabt der TCP-Stack nun Paketverluste am Ende einer TCP-Verbindung effizienter. Das Konzept von TLP und die Implementation für Linux stammen von Google-Entwicklern; laut einigen im Commmit-Kommentar angegebenen Messungen soll die Technik bei kurzen Transaktionen die Retransmission Timeouts um 15 Prozent reduzieren und die HTTP-Antwortzeit um durchschnittlich 6 Prozent verkürzen. Details zur Funktionsweise liefert der Commit-Kommentar und der bei der TCP Maintenance Working Group vorliegende Internet-Draft zu TLP.

Das für die Kommunikation und Datenaustausch zwischen Kernel und manchen Userspace-Programmen verwendete Netlink-Interface beherrscht nun Memory Mapped I/O (MMIO); dadurch kann das bislang bei der Interaktion nötige Kopieren der ausgetauschten Daten entfallen, was den Overhead reduziert und die Performance steigert.

Der Kernel unterstützt jetzt die Spezifikation IEEE 802.1ad. Über das auch "VLAN Stacking" oder "Q-in-Q" bekannte Verfahren lassen sich mehrere VLAN-Tags in ein Ethernet-Frame einfügen; die Konfiguration der relevanten Netzwerk-Parameter erfolgt über das Tool ip.

Durch "network coding" kann ein Mesh-Relay mit einer Übermittlung Informationen an unterschiedliche Systeme senden.

Die Mesh-Implementierung batman-adv beherrscht nun "network coding" – durch diese Technik kann ein Mesh-Relay mit Hilfe eines XOR-Tricks in einer Übermittlung zwei Netzwerkpakete an unterschiedliche Systeme senden, mit denen das Relay zuvor kommuniziert hat.

Die Entwickler haben den unfertigen und bremsenden Code für TCP Cookie Transactions (TCPCT) rausgeschmissen – eine Technik, die bei der Abwehr einiger Denial-Of-Service-Attacken hätte helfen können.

Mit Linux 3.10 stoßen Treiber zum Kernel, die den USB-2.0-Netzwerkchip RTL8152 und den 11n-WLAN-Chip RTL8188EE (u. a. 1, 2) ansteuern; beide Netzwerkbausteine stammen von Realtek. Für den RT5592 von Ralink gibt es jetzt experimentelle Unterstützung. Der für neuere Broadcom-Chips zuständige Treiber brcmsmac kann jetzt im Access-Point-Modus arbeiten.

Der Treiber für Netzwerkverbindungen über FireWire unterstützt IPv6 erheblich besser. Der Team-Treiber entscheidet im neuen "Random Mode" jeweils zufällig, über welchen der vom Treiber virtuell verbundenen Netzwerkschnittstellen ein Paket das System verlässt.

Einige weitere Neuerungen rund um Netzwerk-Treiber und -Infrastruktur listet der Betreuer des Netzwerksubsystems in seinem Haupt-Git-Pull-Request für Linux 3.10.