Kernel-Log – Was 3.6 bringt (2): Netzwerk

Kleinere Puffer sollen bei der Vermeidung von Bufferbloat helfen. "TCP Fast Open" verspricht schnellere HTTP-Verbindungen. Die Netfilter-Infrastruktur kann zum Connection Tracking nun auf Userspace-Programme zurückgreifen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 13 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Durch "TCP small queues" (TSQ) nutzt Linux 3.6 pro Netzwerksocket standardmäßig nur mehr 128 KByte kleine Puffer. Ähnlich wie einige andere jüngst vorgenommene Kernel-Änderungen soll auch diese zur Vermeidung von "Bufferbloat" beitragen; der Begriff umschreibt Probleme wie hohe Netzwerklatenzen und Verbindungsabbrüche, die durch zu umfangreiches Puffern zu übertragender Daten entstehen. Die kleineren Zwischenspeicher pro Socket sollen den Durchsatz laut verschiedenen Messungen des zuständigen Entwicklers nicht beeinträchtigen; Administratoren könne den Wert bei Bedarf über die Datei /proc/sys/net/ipv4/tcp_limit_output_bytes zur Laufzeit anpassen.

In den Kernel ist Client-Unterstützung für "TCP Fast Open" (TFO) eingeflossen (u. a. 1, 2, 3, 4, 5); die Server-seitige Unterstützung soll bei Linux 3.7 folgen. TFO ist eine experimentelle, von der Internet Assigned Numbers Authority (IANA) noch nicht abgesegnete TCP-Erweiterung von Google, die den Overhead beim Verbindungsaufbau senken soll, indem die ersten beiden Schritte beim normalerweise genutzten "TCP three-way handshake" kombiniert werden: Bei der Anfrage zum Aufbau einer TCP-Verbindung schickt der Client auch gleich Datenanfragen mit, sofern Server und Client zuvor schon kommuniziert haben. Das soll unter anderem HTTP-Verbindungen beschleunigen. Weitere Hintergründe zur Technik erläutert der LWN.net-Artikel "TCP Fast Open: expediting web services".

Der für einige Ethernet-Chips von Broadcom zuständige Treiber bnx2x unterstützt nun das in IEEE 802.3az spezifizierte Energy-Efficient Ethernet (EEE); auch der Treiber stmmac, der Embedded-Ethernet-Kerne von Stmicro anspricht, beherrscht nun die Technik, über die sich Hardware-Parameter konfigurieren lassen, die für die Leistungsaufnahme von Ethernet-Chips wichtig sind. Anwender können EEE-Parameter mit Hilfe der kürzlich veröffentlichten Version 3.5 von Ethtool auslesen und setzen.

Der Ethernet-Treiber r8169 erhielt Unterstützung für die Realtek-Ethernet-Chips RTL8168G und RTL8106E. Der Team-Treiber beherrscht jetzt einen Broadcast-Modus, bei dem er alle Pakete über alle passenden Ports versendet. Der WLAN-Treiber rt2800pci spricht nun auch die Ralink-Chips RF5360 und RT5392 an; zudem erhielt er experimentelle Unterstützung für die WLAN-Chips der RT3290-Familie.

Mehr Infos

Entwicklungsstand

Am Wochenende hat Linus Torvalds die vierte Vorabversion von Linux 3.6 freigegeben. Es sei ziemlich ruhig gewesen, merkte er dabei an; er vermutet, daran seien die kürzlich in San Diego abgehaltenen Konferenzen mit Schuld, die zahlreiche Kernel-Entwickler besucht haben.

Die für Firewalls genutzte Netfilter-Infrastruktur kann zum Connection Tracking nun auf Hilfsprogramme zurückgreifen, die im Userspace laufen. Das soll die Entwicklung von Code zum Connection Tracking erleichtern – etwa wenn Nutzer spezielle Module für proprietäre Protokolle benötigen.

Über das neue Virtual Tunnel Interface (VTI) kann Linux 3.6 IPSec-Datenströme tunneln.

Durch einige von Volkswagen-Mitarbeiter Oliver Hartkopp beigesteuerte Änderungen unterstützt Linux jetzt CAN FD (CAN with flexible data rate) – eine von Bosch vorangetriebene Erweiterung des Feldbus CAN (Controller Area Network), der vorwiegend in Autos und zur Steuerung von Industrieanlagen genutzt wird. Einige Hintergründe zur Erweiterung und der Unterstützung durch Linux erläutert ein Beitrag im CAN-Newsletter. Neu ist auch die ebenfalls von Volkswagen geförderte Unterstützung für Ematch-basiertes Traffic Shaping für CAN-Botschaften. Das soll zur Lösung von Problemen beitragen, die auftreten, wenn mehrere Nutzer simultan auf den CAN-Bus schreiben; Details liefert die Studie "SocketCAN and queueing disciplines" und der Abschnitt "CAN frame traffic shaping" in einem Dokument, in dem Hartkopp die CAN-Unterstützung von Linux beschreibt.

Der Betreuer des Netzwerk-Codes, David Miller, erläutert einige weitere Änderungen in der Mail mit seinen Haupt-Git-Pull-Request für Linux 3.6. Dazu gehört die schon länger vorbereitete Entfernung des Routing-Caches, der anfällig für einen Denial-of-Service-Angriff gewesen sein soll.