Windows NIC-Detaileinstellungen – Leitfaden zu RSS/LSO/EEE/Wake on LAN

· · Windows, Netzwerk, NIC, Ethernet, Performance-Tuning, Windows-Entwicklung

Der [Advanced]-Tab eines Windows-NIC ist voll von ungewohnten Begriffen. Jumbo Packet, Large Send Offload, Interrupt Moderation, Receive Side Scaling, Flow Control, Energy Efficient Ethernet. Schon beim Blick auf die Namen möchte man am liebsten alles aktivieren – tatsächlich hängt die richtige Antwort aber davon ab, welche Priorität man verfolgt.

  • Möchte man den Durchsatz bei großen Übertragungen erhöhen?
  • Möchte man die Latenz bei kleinen Paketen senken?
  • Möchte man die CPU-Auslastung reduzieren?
  • Möchte man die Ruhezustands-Wiederherstellung und Wake on LAN stabilisieren?
  • Möchte man Kompatibilitätsprobleme mit Treiber oder Switch eingrenzen?

Bleibt das unklar und man macht einfach “sicherheitshalber alles An”, “sicherheitshalber Jumbo 9014” oder “ist langsam, also fest auf 1 Gbit/s Vollduplex” – dann geht das ziemlich zuverlässig schief.

Dieser Artikel richtet sich vor allem an kabelgebundene Ethernet-Adapter unter Windows 10 / 11 / Windows Server und ordnet, wie man beim praktischen Umgang mit den NIC-Detaileinstellungen denken sollte. Er beschreibt, was die einzelnen Einstellungen bedeuten, was typischerweise passiert, wenn man einen Wert erhöht, senkt, aktiviert oder deaktiviert, und in welchen Situationen man überhaupt daran drehen sollte – so, dass man alles im Überblick sehen kann.

Zu beachten ist, dass sich die angezeigten Namen und wählbaren Werte der NIC je nach Hersteller und Treiber erheblich unterscheiden. Jumbo Packet heißt mal Jumbo Frames, Receive Buffers mal Receive Descriptors, Priority & VLAN mal Packet Priority & VLAN. In diesem Artikel werden Einstellungen mit ähnlicher Bedeutung zusammen behandelt.

So verwenden Sie diesen Artikel

Der Artikel hat 14 Kapitel und ist entsprechend lang, daher hier vorab eine Orientierung. Sie müssen nicht alles lesen.

Ziel Wo Sie lesen sollten
Nur das Fazit zuerst sehen Kapitel 1
Sehen, was aktuell eingestellt ist Kapitel 2 (GUI und PowerShell)
Die Vorgehensweise vor dem Ändern kennen Kapitel 3 (jeweils nur einen Punkt ändern, festlegen, was gemessen wird)
Die Bedeutung der Einstellungen verstehen Übersichtstabelle in Kapitel 4 → Kapitel 5–9 (Details zu jeder Einstellung)
Nur die zielbezogenen Schlussfolgerungen Kapitel 10 (Desktop / NAS / niedrige Latenz / Hyper-V / Eingrenzung)
Von einem Symptom aus recherchieren Kapitel 11 (100 Mbps, langsame Übertragung, Jitter, Wiederherstellungsprobleme, Checksum-Fehler)
Per Skript prüfen und ändern Kapitel 12

Am häufigsten dürfte die Lesart sein: “vom Symptom einsteigen → Kapitel 11 → das passende Kapitel zur Einstellung → mit Kapitel 10 wieder zurück”.

Mini-Glossar der Abkürzungen

Damit Sie beim Lesen mit dem Einstellungsdialog abgleichen können, hier eine Übersicht der in diesem Artikel verwendeten Abkürzungen.

Abkürzung Ausgeschrieben Kurz gesagt
MTU Maximum Transmission Unit Die maximale Größe, die ein Paket transportieren kann. Normalerweise 1500 Byte
RSS Receive Side Scaling Verteilt die Empfangsverarbeitung auf mehrere CPUs
RSC Receive Segment Coalescing Fasst empfangene TCP-Segmente auf Seiten der NIC zusammen
LRO Large Receive Offload Anderer Name für RSC. Bei manchen Herstellern diese Bezeichnung
LSO Large Send Offload Teilt große TCP-Sendedaten auf Seiten der NIC auf
TSO TCP Segmentation Offload Anderer Name für LSO
USO UDP Segmentation Offload Teilt große UDP-Pakete auf Seiten der NIC auf
URO UDP Receive Segment Coalescing Offload Fasst empfangene UDP-Datagramme auf Seiten der NIC zusammen
EEE Energy Efficient Ethernet (IEEE 802.3az) Senkt den Stromverbrauch, wenn der Link idle ist
WoL Wake on LAN Weckt einen im Ruhezustand befindlichen PC über das Netzwerk
VMQ Virtual Machine Queue Weist jeder Hyper-V-VM eine eigene Empfangswarteschlange zu
VMMQ Virtual Machine Multi-Queue Erweitert VMQ um mehrere Warteschlangen pro VM
SR-IOV Single Root I/O Virtualization Teilt die NIC virtuell auf und zeigt sie VMs direkt an
RDMA Remote Direct Memory Access Liest und schreibt direkt im Speicher der Gegenstelle, ohne die CPU einzubeziehen
DCB Data Center Bridging Eine Gruppe von Standards für verlustfreies Ethernet
PFC Priority-based Flow Control Flow Control, das Pausen je nach Priorität auslöst
DPC Deferred Procedure Call Hochpriorisierte, verzögerte Verarbeitung, die den hinteren Teil der Interrupt-Behandlung übernimmt
NDIS Network Driver Interface Specification Die Schnittstellenspezifikation für Windows-Netzwerktreiber

1. Zunächst das Fazit

Zu Beginn nur die Schlussfolgerungen, die sich in der Praxis kaum widerlegen lassen.

  • Speed & Duplex bleibt grundsätzlich auf Auto. Bei einem Problem mit einem Abfall auf 100 Mbps ist eine sofortige feste Einstellung auf 1,0 Gbit/s Vollduplex das letzte Mittel.
  • Checksum Offload / RSS / LSO / RSC bleiben grundsätzlich aktiviert oder auf dem Standardwert. Wer alles pauschal abschaltet, verschwendet tendenziell CPU-Leistung.
  • Jumbo Packet nur dann einsetzen, wenn es end-to-end übereinstimmt. Setzt man nur die eigene NIC auf 9014, während der Pfad dazwischen bei 1500 bleibt, tappt man in eine Falle.
  • Interrupt Moderation ist ein Tauziehen zwischen Durchsatz und Latenz. Ein höherer Wert entlastet die CPU, erhöht aber die Latenz.
  • Flow Control kann Drops reduzieren, aber auch Staus ausbreiten.
  • EEE / Green Ethernet / Selective Suspend sind Stromspareinstellungen, keine Einstellungen zur Beschleunigung.
  • VMQ / SR-IOV sind für Hyper-V-Hosts gedacht – kein Zaubermittel, um einen gewöhnlichen Desktop-PC schneller zu machen.
  • Wake on Pattern Match verursacht leicht unbeabsichtigtes Aufwachen, wer nur Wake on LAN benötigt, ist mit Magic Packet sicherer aufgestellt.
  • Ältere Einstellungen wie TCP Chimney Offload sollte man heute nicht mehr anfassen.

Kurz gesagt: Die NIC-Detaileinstellungen sind kein Ort, an dem man alles aktiviert, was stark klingt. Es ist ein Ort, an dem man festlegt, worauf man aus ist – Durchsatz, Latenz, CPU, Stromverbrauch oder Kompatibilität – und dann Punkt für Punkt vorgeht.

2. Wo man die Einstellungen findet

2.1 In der GUI

Über die Netzwerkverbindungen

  1. ncpa.cpl ausführen
  2. Mit der rechten Maustaste auf den Adapter klicken
  3. EigenschaftenKonfigurieren
  4. Registerkarte Erweitert (Advanced)

Über den Geräte-Manager

  1. Geräte-Manager
  2. Netzwerkadapter
  3. Mit der rechten Maustaste auf die NIC klicken → Eigenschaften
  4. Registerkarte Erweitert

Die Punkte, die hier aufgelistet sind, spielen in diesem Artikel die Hauptrolle. Allerdings wirken sich auch die Einstellungen der Registerkarte Energieverwaltung in der Praxis stark aus – sie werden später behandelt.

2.2 In PowerShell

Mit PowerShell lassen sich die aktuellen Werte übersichtlich auflisten und leicht ein Backup vor Änderungen anlegen.

Get-NetAdapter

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword, RegistryValue -Auto

Bei manchen NICs ist RegistryKeyword standardisiert benannt und erscheint als *RSS, *VMQ, *SRIOV, *EEE und ähnlich. Allerdings sind DisplayName und DisplayValue treiberabhängig. Wer Änderungsskripte schreibt, sollte sich die Liste zunächst auf dem realen Gerät ansehen – das ist sicherer.

3. Grundregeln vor dem Anfassen

Wer diese Punkte vor dem Ändern der NIC-Einstellungen ignoriert, versinkt meist im Sumpf.

3.1 Zuerst festlegen, “was verbessert werden soll”

Dieselbe Aussage “das Netzwerk ist langsam” kann inhaltlich völlig Verschiedenes bedeuten.

  • Große Dateikopien sind langsam → Durchsatz, RSS, RSC, LSO, Jumbo, Puffer
  • Kleine Request/Response-Vorgänge stocken → Interrupt Moderation, RSC, EEE, Warteschlangentiefe
  • Die CPU-Last ist hoch → Offloads, RSS, RSC, Interrupts
  • Nach der Ruhezustands-Wiederherstellung stimmt etwas nicht → Selective Suspend, Energieverwaltung, WoL
  • Gelegentliche Abbrüche / Abfall auf 100 Mbps → Kabel, Gegenstelle, Speed & Duplex, EEE, Treiber

Rührt man bei unterschiedlichen Zielen an denselben Einstellungen, verschlimmert sich die Lage, statt sich zu verbessern.

3.2 Zuerst die physische Schicht und die Gegenstelle in Verdacht nehmen

Es gibt ganz normal Probleme, die sich über die NIC-Einstellungen nicht beheben lassen.

  • Defektes Kabel
  • Kompatibilitätsprobleme mit Switch / Router / Dockingstation
  • Alte Firmware
  • Unterversorgte USB-NICs
  • Fehler auf Portseite
  • Paketverlust und erneute Übertragungen

Besonders bei einem Abfall auf 100 Mbps, flatternden Links und nur bei großen Übertragungen auftretenden Problemen ist es schneller, zuerst die physische Schicht und die Gegenstelle zu prüfen, bevor man Einstellungen anfasst.

3.3 Immer nur einen Punkt pro Durchgang ändern

Ändert man Jumbo, LSO, RSC, RSS und EEE gleichzeitig, weiß man am Ende nicht mehr, was eigentlich gewirkt hat. Die bisherigen Einstellungen notieren, einen Punkt nach dem anderen ändern und die Veränderung messen – das ist die Grundregel.

3.4 Festlegen, was gemessen wird

Mindestens diese Punkte sollte man im Blick behalten.

  • Link-Geschwindigkeit (1G / 2,5G / 10G usw.)
  • Durchsatz
  • Latenz
  • CPU-Auslastung
  • NIC-Statistiken (Drop / Fehler / Puffermangel)
  • Stabilität der Ruhezustands-Wiederherstellung

Änderungen sollte man nicht nur nach Gefühl, sondern anhand von Zahlen bewerten – das ist die stärkere Herangehensweise.

4. Übersichtstabelle der wichtigsten Einstellungen

Zunächst eine Tabelle, in der sich die Rolle jeder Einstellung auf einen Blick erfassen lässt.

Einstellung Was sie tut Was beim Erhöhen / Aktivieren typischerweise passiert Was beim Senken / Deaktivieren typischerweise passiert Grundhaltung
Speed & Duplex Aushandlung / Festlegung von Link-Geschwindigkeit und Duplex Kann mit älteren Gegenstellen bei Übereinstimmung funktionieren, bei Nichtübereinstimmung aber Duplex-Mismatch und Geschwindigkeitseinbußen Zurück auf Auto ist bei modernen Geräten meist die stabilere Wahl Grundsätzlich Auto
Jumbo Packet / Jumbo Frames Verwendet Frames, die größer als die Standard-MTU sind CPU und Header-Overhead sinken tendenziell bei großen Übertragungen Hohe Kompatibilität, aber mehr Pakete Nur auf dedizierten Pfaden, wenn end-to-end abgestimmt
Checksum Offload Berechnet IP-/TCP-/UDP-Prüfsummen auf der NIC CPU-Auslastung sinkt tendenziell Mehr Berechnung auf Betriebssystemseite, CPU-Auslastung steigt tendenziell Grundsätzlich aktiviert
LSO / TSO NIC teilt große TCP-Sendedaten auf Wirkt sich positiv auf sendelastigen Durchsatz und CPU aus CPU-Last steigt, aber nützlich zur Kompatibilitätseingrenzung Normalerweise aktiviert
RSC / LRO NIC fasst empfangene TCP-Segmente zusammen Wirkt sich positiv auf Empfangsdurchsatz und CPU aus Feinere Granularität, kann bei niedriger Latenz von Vorteil sein Aktiviert, wenn der Empfang im Vordergrund steht
RSS Verteilt Empfangsverarbeitung auf mehrere CPUs Durchsatz und Skalierbarkeit steigen tendenziell auf Multi-Core-Systemen Staut sich leicht auf einer einzelnen CPU Auf Multi-Core-Systemen grundsätzlich aktiviert
Interrupt Moderation Drosselt die Interrupt-Häufigkeit CPU wird entlastet, Latenz steigt tendenziell Latenz sinkt, CPU-/DPC-Last steigt tendenziell Standard / Adaptive als Ausgangspunkt
Receive / Transmit Buffers Tiefe der Ring-Puffer Wirkt sich positiv auf Burst-Toleranz und anhaltenden Durchsatz aus Weniger Speicherverbrauch, aber anfälliger für Drops Nur erhöhen, wenn ein Mangel vorliegt
Flow Control Senden / Empfangen von 802.3x-Pause-Frames Kann Drops reduzieren Kann sich positiv auf Tail-Latenz auswirken Zusammen mit dem gesamten Netzwerkdesign betrachten
Priority & VLAN 802.1p-/802.1Q-Tagging Ermöglicht VLAN / QoS Arbeitet als einfaches L2 Nur bei Bedarf
VMQ / SR-IOV NIC-Unterstützung für Hyper-V / Virtualisierung Wirkt sich positiv auf VM-Durchsatz / CPU aus Als gewöhnlicher Host einfacher Für Hyper-V-Hosts
EEE / Green Ethernet Low-Power Idle zum Stromsparen Stromverbrauch sinkt, aber Kompatibilitätsprobleme können auftreten Stromverbrauch steigt, kann aber stabiler sein Keine Geschwindigkeitseinstellung
Selective Suspend Versetzt die NIC bei Idle in einen Stromsparzustand Stromverbrauch sinkt Wiederherstellungsstabilität kann steigen Kandidat zur Eingrenzung bei Problemen
Wake on Magic Packet / Pattern Match Aufwachbedingungen im Ruhezustand Ermöglicht Fernstart Vermeidet leichter unbeabsichtigtes Aufwachen Nur bei Bedarf aktivieren

5.1 Speed & Duplex

Diese Einstellung betrifft die Aushandlung von Link-Geschwindigkeit und Voll-/Halbduplex. Anzeigenamen sind unter anderem Speed & Duplex, Link Speed und Link Speed & Duplex.

Was diese Einstellung tut

Bei Ethernet legen NIC und Gegenstelle fest, mit welcher Geschwindigkeit und welchem Duplex kommuniziert wird.

Häufig werden Optionen wie diese angeboten:

  • Auto Negotiation
  • 100 Mbps Vollduplex
  • 1,0 Gbit/s Vollduplex
  • 2,5 Gbit/s Vollduplex
  • 10 Gbit/s Vollduplex

Was sich bei einer Änderung ändert

Auf Auto setzen

  • Zwischen modernen Geräten ist das grundsätzlich am stabilsten
  • Ab 1000BASE-T aufwärts wird Auto in vielen Fällen vorausgesetzt
  • Es harmoniert auch gut mit EEE und der Master/Slave-Aushandlung

Manuell festlegen

  • Kann die Kompatibilität mit alten Switches oder fest eingestellten Gegenstellen verbessern
  • Allerdings ist ein Zustand wie eine Seite fest, die andere auf Auto ein Rezept für Probleme
  • Ein Duplex-Mismatch führt zu Geschwindigkeitseinbußen, erneuten Übertragungen und ungewöhnlichen Verzögerungen

Praktische Grundhaltung

Normalerweise bleibt man auf Auto. “Es kommt kein 1 Gbit/s zustande, also fest auf 1 Gbit/s Vollduplex” wirkt entschlossen, verfehlt aber häufig die eigentliche Ursache.

5.2 Jumbo Packet / Jumbo Frames

Diese Einstellung dient dazu, größere als die Standard-Ethernet-Frames zu verwenden. Anzeigenamen sind unter anderem Jumbo Packet, Jumbo Frames und Jumbo Packet Size.

Was diese Einstellung tut

Gewöhnliches Ethernet arbeitet meist mit einer angenommenen MTU von 1500. Aktiviert man Jumbo Frames, lassen sich große Frames von rund 9000 Byte verwenden.

Dieser Bereich enthält allerdings zahlreiche Namensfallen.

  • Treiber zeigen mitunter die Framegröße, etwa 9014 Bytes
  • Betriebssystem und Tools sprechen mitunter aus L3-Sicht, etwa MTU 9000
  • Switches zählen mitunter inklusive CRC oder VLAN-Tag

Vergleicht man die Zahlen einfach nebeneinander, tappt man ziemlich zuverlässig in eine Falle.

Was sich bei einer Änderung ändert

Erhöhen / Aktivieren

  • Beim Senden großer Datenmengen sinkt die Paketanzahl
  • Weniger Durchläufe der Header-Verarbeitung
  • CPU-Auslastung sinkt tendenziell
  • Andererseits belegt ein einzelnes Paket die Leitung länger
  • Unterstützt irgendein Abschnitt des Pfads das nicht, drohen Drops oder Fragmentierung

Auf Standard zurücksetzen / Deaktivieren

  • Höchste Kompatibilität
  • Mehr Pakete
  • CPU-/Header-Overhead steigt tendenziell bei großen Übertragungen

Praktische Grundhaltung

Jumbo ergibt erst dann Sinn, wenn es end-to-end übereinstimmt:

  • die eigene NIC
  • die NIC der Gegenstelle
  • die Switches dazwischen
  • der Overhead von VLANs oder virtuellen Switches, falls im Pfad vorhanden

Bleibt auch nur einer dieser Punkte bei 1500, entsteht kein Nutzen – und meist entstehen neue Probleme.

5.3 Gigabit Master / Slave Mode

Diese Einstellung betrifft bei 1000BASE-T, welche Seite als Master den Takt vorgibt und welche als Slave folgt. Bei einem gewöhnlichen PC fasst man das so gut wie nie an.

Grundhaltung

  • Auto als Grundeinstellung
  • Nur bei Link-Qualitätsproblemen mit bestimmten alten Gegenstellen evaluieren
  • Ohne Herstellervorgabe nicht als Performance-Tuning-Regler behandeln

Einstellungen wie Wait for Link betreffen, ob der Treiber wartet, bis die Auto Negotiation erfolgreich abgeschlossen ist, bevor er den Link-Status meldet. Log Link State Event protokolliert Link-Up/-Down-Ereignisse zu Diagnosezwecken im Ereignisprotokoll.

Grundhaltung

  • Ein gewöhnlicher PC kann bei den Standardwerten bleiben
  • Wichtiger als für die Performance selbst sind diese Einstellungen für das Erscheinungsbild beim Start und für die Failover-Diagnose
  • Kein Punkt, den man als Erstes anfassen sollte

6. Einstellungen mit Einfluss auf CPU-Last, Durchsatz und Latenz

Das ist der Bereich, der am ehesten “wirksam” aussieht. Er wirkt sich tatsächlich oft aus – allerdings gehen die Wirkrichtungen sauber auseinander.

6.1 Checksum Offload

Verlagert die Berechnung der IP-/TCP-/UDP-Prüfsumme auf die NIC.

Grundhaltung

  • Grundsätzlich aktiviert
  • Belassen, wenn die CPU entlastet werden soll
  • Checksum-Fehler in Mitschnitten sind häufig nur die sichtbare Auswirkung des Offloads
  • Vorübergehendes Abschalten zur Kompatibilitätseingrenzung ist vertretbar

6.2 Large Send Offload (LSO) / TSO / Offload TCP Segmentation

Die NIC teilt große TCP-Sendedaten in kleinere Frames auf.

Wo es wirkt

  • Sendelastiger Durchsatz
  • Reduzierte CPU-Auslastung
  • Größere zusammenhängende Sendevorgänge

Grundhaltung

  • Normalerweise aktiviert
  • Bei Verdacht auf Kompatibilitätsprobleme mit einer bestimmten Anwendung oder einem Treiber vorübergehend deaktivieren und den Unterschied beobachten

6.3 Receive Segment Coalescing (RSC) / Large Receive Offload

Fasst auf der Empfangsseite mehrere TCP-Segmente zusammen.

Wo es wirkt

  • Empfangsseitiger Durchsatz
  • Reduzierte CPU-Auslastung

Zu beachten

  • Kann bei niedriger Latenz oder Beobachtung auf Paketebene nachteilig sein
  • Die Interpretation von Mitschnitten und Zeitbeobachtungen ändert sich dadurch etwas

Grundhaltung

  • Aktivieren, wenn Empfangsdurchsatz gefragt ist
  • Als Option evaluieren, wenn die Latenz kleiner Request/Response-Vorgänge im Fokus steht

6.4 Neuere UDP-Offloads (USO / URO)

Bei aktuelleren NICs und Betriebssystemen tauchen mitunter auch für UDP-Senden/-Empfangen neuere Offloads auf.

Grundhaltung

  • Auch wenn vorhanden, zunächst nicht von den Standardwerten abweichen
  • Nur messen, wenn der Treiber hinreichend aktuell und die betreffende Workload klar umrissen ist
  • Bei der Fehlersuche nicht ohne Grund anfassen

6.5 Receive Side Scaling (RSS)

Verteilt die Empfangsverarbeitung auf mehrere CPUs. Auf Multi-Core-Systemen ist das ziemlich wichtig.

Grundhaltung

  • Auf Multi-Core-Systemen grundsätzlich aktiviert
  • Als Erstes prüfen, wenn eine einzelne CPU an ihre Grenze stößt
  • Spielt auch vor Hyper-V- und High-Throughput-Szenarien eine zentrale Rolle

6.6 RSS Queues / RSS Processors / RSS Profile

Diese Einstellungen bestimmen den Parallelisierungsgrad von RSS.

Grundhaltung

  • Mit den Standardwerten beginnen
  • Erst erhöhen, wenn CPU-Auslastung oder eine ungleiche Warteschlangenverteilung sichtbar werden
  • Blindes Maximieren kann Interrupt- und DPC-Last erhöhen

6.7 Interrupt Moderation / Interrupt Moderation Rate

Drosselt die Interrupt-Häufigkeit und tauscht dadurch CPU-Last gegen Latenz.

Tendenz

  • Hoch / Adaptive → CPU wird tendenziell entlastet, Latenz steigt tendenziell
  • Niedrig / Off → Latenz sinkt tendenziell, CPU-/DPC-Last steigt tendenziell

Grundhaltung

  • Standard / Adaptive als Ausgangspunkt
  • Bei störendem Jitter kleiner Pakete Low / Off evaluieren
  • Bei großen Übertragungen ist der Standardwert meist die unkompliziertere Wahl

6.8 Receive Buffers / Receive Descriptors und Transmit Buffers / Transmit Descriptors

Diese Einstellungen ändern die Tiefe der Ring-Puffer.

Wo es wirkt

  • Burst-Toleranz
  • Anhaltender Durchsatz
  • Vermeidung von Drops

Nebenwirkungen

  • Höherer Speicherverbrauch
  • Tiefere Warteschlangen können die Warteschlangenverzögerung erhöhen

Grundhaltung

  • Nur erhöhen, wenn Drops oder Puffermangel sichtbar sind
  • Nicht ohne triftigen Grund auf das Maximum setzen

6.9 Flow Control

Betrifft das Senden und Empfangen von 802.3x-Pause-Frames.

Grundhaltung

  • Ein Kandidat, wenn Drops reduziert werden sollen
  • Allerdings kann Pause anderswo neue Staus auslösen
  • In latenzkritischen Systemen mit Vorsicht behandeln
  • Zusammen mit dem gesamten Netzwerkdesign betrachten

7. Einstellungen rund um VLAN, QoS und Virtualisierung

7.1 Priority & VLAN / Packet Priority & VLAN / NDIS QoS

Der Bereich, der 802.1Q-VLAN und 802.1p-Priority behandelt.

Grundhaltung

  • Nur beachten, wenn VLAN / QoS tatsächlich genutzt wird
  • In einer einfachen Access-Port-Umgebung reichen die Standardwerte
  • Konfigurationen, bei denen Tags unbeabsichtigt gesetzt werden, erschweren die Eingrenzung – hier ist Vorsicht geboten

7.2 VMQ / VMMQ / SR-IOV

Diese Einstellung entfaltet ihre Bedeutung erst auf Hyper-V-Hosts und Virtualisierungsplattformen.

Grundhaltung

  • Nicht als gewöhnliches Desktop-Tuning behandeln
  • Auf einem Hyper-V-Host zusammen mit vSwitch-Konfiguration, Warteschlangenzuweisung und Gastseiten-Einstellungen bewerten
  • Betrachtet man nur eine Seite, kommt selten die richtige Antwort heraus

7.3 RDMA / DCB / PFC sind eine andere Welt

Dieser Bereich, einschließlich SMB Direct und verlustfreiem Ethernet, ist wirklich eine eigene Welt.

Grundhaltung

  • Getrennt vom gewöhnlichen Tuning für 1GbE / 2,5GbE-Desktops betrachten
  • Herstellerdokumentation zusammen mit dem Switch-seitigen Design prüfen

8. Einstellungen rund um Stromsparen, Ruhezustand und Wake on LAN

8.1 Energy Efficient Ethernet (EEE) / Green Ethernet

Senkt zum Stromsparen den Stromverbrauch, wenn der Link idle ist.

Einordnung

  • Keine Geschwindigkeitseinstellung
  • Wirkt sich auf den Stromverbrauch aus
  • Je nach Gegenstelle und Kabelzustand kann es ein Kandidat zur Eingrenzung von Link-Instabilität oder einem Downshift auf 100 Mbps sein

Grundhaltung

  • Für allgemeine Nutzung reicht der Standardwert
  • Bei Link-Instabilität, einem Abfall auf 100 Mbps oder wenn niedrige Latenz im Vordergrund steht, ist es zuerst ein Eingrenzungskandidat

Vereinfacht gesagt geht es darum, wie tief die NIC im Idle- oder Ruhezustand schlafen darf.

Grundhaltung

  • Bei Notebooks mit den Standardwerten beginnen
  • Bei Wiederherstellungsproblemen zuerst hier ansetzen
  • Bei Anlagensteuerungs-PCs oder 24/7-Betrieb ist ein Deaktivieren manchmal die eindeutigere Wahl

8.3 Wake on Magic Packet / Wake on Pattern Match

Diese Einstellung weckt einen im Ruhezustand befindlichen PC über das Netzwerk.

Grundhaltung

  • Wenn Wake on LAN benötigt wird, Magic Packet aktivieren
  • Wenn nicht benötigt, deaktivieren
  • Pattern Match nur, wenn der Bedarf eindeutig ist

Es kommt ganz normal vor, dass allein das Aktivieren auf der NIC nicht zum Aufwachen führt. BIOS/UEFI-Seite und die Registerkarte Energieverwaltung sollten ebenfalls übereinstimmend geprüft werden.

8.4 ARP Offload / NS Offload

Eine Einstellung, bei der die NIC auch im Ruhezustand minimale Antworten stellvertretend übernimmt.

Grundhaltung

  • Normalerweise reicht aktiviert / Standardwert
  • Wird häufig vorübergehend bei der Eingrenzung von Kompatibilitätsproblemen rund um den Ruhezustand angefasst

8.5 Die Registerkarte Energieverwaltung

Getrennt von der Registerkarte Erweitert besitzen die NIC-Eigenschaften eine Registerkarte Energieverwaltung. Auch sie ist unauffällig wichtig.

Am häufigsten sieht man diese drei:

  • Diesem Gerät gestatten, den Computer zum Energiesparen auszuschalten
  • Diesem Gerät gestatten, den Computer aus dem Ruhezustand zu aktivieren
  • Nur ein Magic Packet darf den Computer aktivieren

Grundhaltung

  • Bei Wiederherstellungsproblemen zuerst Diesem Gerät gestatten, den Computer zum Energiesparen auszuschalten... in Verdacht nehmen
  • Um unbeabsichtigtes Aufwachen zu vermeiden, Nur ein Magic Packet darf... aktivieren
  • Wird Wake on LAN gar nicht benötigt, können sämtliche Wake-Einstellungen deaktiviert bleiben

9. Weitere Einstellungen, die man häufig sieht, aber selten anfasst

9.1 Network Address / Locally Administered Address

Eine Einstellung, mit der sich die MAC-Adresse manuell überschreiben lässt.

Grundhaltung

  • Im Normalfall nicht anfassen
  • Keine Performance-Einstellung
  • Nur in Laborumgebungen oder bei besonderen Anforderungen verwenden

9.2 Adaptive Inter-Frame Spacing

Eine echte Altlast. Im modernen Switched-Full-Duplex-Ethernet spielt sie keine tragende Rolle mehr.

Grundhaltung

  • In einem modernen, gewöhnlichen LAN bei den Standardwerten belassen
  • Nur bei alten Geräten oder besonderen Umgebungen mit Herstellervorgabe anfassen

9.3 Header Data Split

Eine hauptsächlich serverorientierte Einstellung, die die CPU-Verarbeitung unterstützt, indem Paket-Header und Payload getrennt behandelt werden.

Grundhaltung

  • Für Server / bestimmte Workloads
  • Bei gewöhnlichen Clients bei den Standardwerten belassen

9.4 Low Latency Interrupts

Bei manchen Herstellern findet sich eine Einstellung wie Low Latency Interrupts.

Grundhaltung

  • Nur einsetzen, wenn eine Messung den Vorteil bestätigt
  • Kein Bereich, den man aus dem Bauch heraus aktiviert

9.5 Ältere Einstellungen wie TCP Chimney Offload / IPsec Task Offload

Bei älteren NICs und Treibern sieht man solche Einstellungen mitunter noch.

Grundhaltung

  • Heute nicht mehr anfassen, nicht mehr verwenden ist die richtige Antwort
  • Sich nicht von Kompatibilitätslegenden oder alten Dokumenten leiten lassen

10. Grobe Richtlinien nach Ziel

Im Folgenden tauchen wiederholt die Formulierungen “Deaktivierung evaluieren” und “Deaktivierungskandidat” auf. Das bedeutet nicht “deaktivieren”, sondern zum Bewertungsgegenstand machen. Inhaltlich handelt es sich um genau die Grundregeln aus 3.3 und 3.4, konkret um diese 4 Schritte.

  1. Die bisherigen Einstellungen sichern (Export-Csv aus 12.1)
  2. Nur einen Punkt deaktivieren (3.3)
  3. Die in 3.4 festgelegten Kennzahlen messen (Durchsatz, Latenz, CPU, NIC-Statistik, Stabilität der Wiederherstellung)
  4. Ohne Effekt: zurücksetzen

Fehlt Schritt 4, sammeln sich sinnlose Änderungen an, die die nächste Eingrenzung erschweren. Lesen Sie die folgenden Punkte als Kandidatenliste, mit der Sie diese 4 Schritte durchlaufen.

10.1 Gewöhnlicher Desktop- / Notebook-PC

  • Speed & Duplex: Auto
  • MTU / Jumbo: 1500 / deaktiviert
  • Checksum Offload: aktiviert
  • LSO: aktiviert
  • RSC: aktiviert
  • RSS: aktiviert
  • Interrupt Moderation: Standard / Adaptive
  • Buffers: Standardwert
  • Flow Control: Standardwert
  • EEE / Green Ethernet: Standardwert
  • Selective Suspend: Standardwert
  • Wake on LAN: nur bei Bedarf

Also: zunächst nicht von den Standardwerten abweichen ist die Grundregel.

10.2 NAS / Backup / große Kopiervorgänge

  • Speed & Duplex: Auto
  • Jumbo: evaluieren, wenn ein dedizierter Pfad abgestimmt werden kann
  • Checksum Offload: aktiviert
  • LSO: aktiviert
  • RSC: aktiviert
  • RSS: aktiviert
  • RSS Queues: bei Bedarf leicht erhöhen
  • Receive / Transmit Buffers: bei Drops leicht erhöhen
  • Interrupt Moderation: Standard / etwas höher
  • EEE: Deaktivierung evaluieren, wenn Stabilität im Vordergrund steht

Bei großen Übertragungen wirken sich weniger Pakete, weniger CPU-Last und die Vermeidung von Warteschlangenmangel meist positiv aus.

10.3 Industriekameras / Anlagensteuerung / niedrige Latenz im Vordergrund

  • Speed & Duplex: grundsätzlich Auto, bei Bedarf an die Gegenstelle angepasst fest einstellen
  • Jumbo: evaluieren, wenn Kamera / NIC / Switch übereinstimmen
  • Checksum Offload: zunächst aktiviert
  • LSO: bei Verdacht auf Sendekompatibilitätsprobleme vorübergehend Deaktivierung evaluieren
  • RSC: Deaktivierungskandidat, wenn niedrige Latenz oder Beobachtbarkeit im Vordergrund stehen
  • Interrupt Moderation: Low / Off evaluieren
  • Buffers: nicht übermäßig erhöhen
  • Flow Control: Nebenwirkungen der Pause-Frames bewerten
  • EEE / Green Ethernet: Deaktivierungskandidat
  • Selective Suspend / Energieverwaltung: Deaktivierungskandidat

Auf Durchsatz optimierte Einstellungen sind nicht automatisch von Vorteil für niedrige Latenz.

10.4 Hyper-V-Hosts

  • VMQ / VMMQ / SR-IOV: je nach Konfiguration evaluieren
  • RSS: wichtig für den hostseitigen Datenverkehr
  • RSC: durch die vSwitch-Konfiguration eingeschränkt
  • QoS / VLAN: am vSwitch-Design ausrichten
  • Flow Control / PFC: zusammen mit dem Storage-/RDMA-Design betrachten

Das ist kein Desktop-Tuning, sondern Virtualisierungsplattform-Design.

10.5 Temporäre Einstellungen zur Fehlersuche

Bei der Eingrenzung eines Fehlers ist die Rückkehr in eine einfache Welt wirkungsvoll.

  • Speed & Duplex: Auto
  • MTU: 1500
  • Jumbo: deaktiviert
  • EEE: deaktiviert
  • LSO: vorübergehend deaktiviert
  • RSC: vorübergehend deaktiviert
  • Interrupt Moderation: Standard oder niedriger
  • Wake / Energiesparen: bei Nichtbedarf deaktiviert
  • Bisherige Einstellungen: unbedingt sichern

Bei der Eingrenzung gewinnt die Vereinfachung des Verhaltens gegenüber der Performance-Optimierung.

11. Erste Anlaufstellen nach Symptom

11.1 Eigentlich 1 Gbit/s / 2,5 Gbit/s erwartet, aber es sind 100 Mbps

Die sinnvolle Prüfreihenfolge sieht ungefähr so aus.

  1. Kabel
  2. Dockingstation / USB-NIC / Adapter
  3. Der Switch-Port
  4. Treiberupdate
  5. EEE / Green Ethernet
  6. Speed & Duplex zurück auf Auto setzen
  7. Hilft das alles nicht, eine an die Gegenstelle angepasste feste Einstellung versuchen

Sofortiges manuelles Festlegen ist das letzte Mittel.

11.2 Große Übertragungen sind langsam, aber Ping ist normal

Diese Punkte lohnt es sich anzusehen:

  • Checksum Offload
  • LSO
  • RSC
  • RSS
  • Receive / Transmit Buffers
  • Jumbo Frame (bei dediziertem Pfad)
  • Drops/Fehler in der NIC-Statistik

Das ist ein Durchsatz-Problem, weshalb Jumbo, Warteschlangen und Offloads tendenziell helfen.

11.3 Die Latenz kleiner Request/Response-Vorgänge ist hoch, Jitter stört

Diese fünf Punkte sind zu prüfen:

  • Interrupt Moderation
  • RSC
  • EEE
  • Flow Control
  • Ob die Buffers zu großzügig eingestellt sind

In diesem Bereich können auf Zusammenfassung ausgelegte Optimierungen die gefühlte Verzögerung sogar erhöhen.

11.4 Die NIC verschwindet nach der Ruhezustands-Wiederherstellung / ist einige Sekunden nicht erreichbar

Mit Schwerpunkt auf der Stromversorgung sind diese fünf Punkte zu prüfen:

  • Selective Suspend
  • Device Sleep / Standby-bezogene Einstellungen
  • Diesem Gerät gestatten, den Computer zum Energiesparen auszuschalten... auf der Registerkarte Energieverwaltung
  • Firmware der Dockingstation / des USB-NIC
  • Die Kombination der Wake-Einstellungen

Wiederherstellungsprobleme liegen häufiger an der Energieverwaltung als an der NIC selbst.

11.5 Der Paketmitschnitt zeigt massenhaft Checksum-Fehler

Bevor man voreilig “die Leitung ist kaputt” ruft, sollte man diese Punkte prüfen.

  • Ist Checksum Offload aktiviert?
  • Ist LSO aktiviert?
  • Wurde vor dem Senden mitgeschnitten oder auf der Leitung?
  • Sieht es von einem anderen Host oder einem Mirror-Port aus genauso aus?

Checksum-Fehler in einem lokalen Mitschnitt sind wirklich häufig nur die sichtbare Auswirkung des Offloads.

Nur der dritte Punkt, “vor dem Senden oder auf der Leitung mitgeschnitten”, braucht eine Ergänzung. Schneidet man auf dem eigenen PC mit, sieht man das Paket, bevor die NIC die Checksum eingetragen hat. Ist Offload aktiviert, ist das Checksum-Feld noch leer oder trägt einen vorläufigen Wert, sodass ein Analysewerkzeug es natürlich als “ungültig” anzeigt. Dass das tatsächlich über das Kabel gelaufene Paket korrekt ist, kommt dabei ganz normal vor.

Für die Überprüfung werden meist diese drei Werkzeuge eingesetzt:

Werkzeug Einordnung Hinweis
Wireshark Die klassische Analyse-GUI Es gibt eine Einstellung, die Checksum-Prüfung abzuschalten. In Offload-Umgebungen ist das der erste Verdachtsort
pktmon Ab Windows 10 / Windows Server 2019 (1809) standardmäßig enthaltenes Paketüberwachungswerkzeug Keine zusätzliche Installation nötig. Auch Drop-Erkennung und Filterung sind möglich
Mirror-Port des Switches Der einzige verlässliche Weg, um auf der Leitung zu sehen Beobachtung außerhalb des sendenden PCs, daher nicht von Offload beeinflusst

Die Protokolle von pktmon lassen sich in pcapng umwandeln, sodass man sie direkt in Wireshark öffnen kann.

pktmon etl2pcap log.etl --out capture.pcapng

Zeigt sich “lokal Checksum-Fehler, über den Mirror-Port aber normal”, ist das eindeutig die sichtbare Auswirkung des Offloads. Erst nach dieser Prüfung sollte man an den Einstellungen drehen.

11.6 Nur die Hyper-V-VM ist langsam / die CPU-Last ist ungleich verteilt

Zu betrachten ist mehr als nur das desktoptypische RSS.

  • VMQ / VMMQ
  • SR-IOV
  • vSwitch-Bindung
  • VLAN / QoS
  • Die Aufteilung zwischen hostseitigem RSS und VM-seitigen Warteschlangen

Bei der Virtualisierung hilft es, sich in einem Diagramm klarzumachen, wer die Pakete tatsächlich verarbeitet.

12. Praktische Hinweise zum Prüfen und Ändern per PowerShell

12.1 Zunächst den aktuellen Zustand sichern

Ein Backup vor der Änderung ist wichtig.

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Select-Object Name, DisplayName, DisplayValue, RegistryKeyword, RegistryValue |
  Export-Csv .\nic-advanced-backup.csv -NoTypeInformation -Encoding UTF8

12.2 Die Liste ansehen

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword -Auto

12.3 RSS / RSC / Statistiken ansehen

Get-NetAdapterRss -Name "Ethernet"
Get-NetAdapterRsc -Name "Ethernet"
Get-NetAdapterStatistics -Name "Ethernet"

12.4 Änderungsbeispiele

Die tatsächlichen Anzeigenamen unterscheiden sich je nach NIC, daher zunächst die Liste ansehen und erst dann ändern.

# Beispiel: Jumbo Packet ändern (der Wert unterscheidet sich je nach NIC)
Set-NetAdapterAdvancedProperty -Name "Ethernet" `
  -DisplayName "Jumbo Packet" `
  -DisplayValue "9014 Bytes"
# Beispiel: Anzahl der RSS-Empfangswarteschlangen festlegen
Set-NetAdapterRss -Name "Ethernet" -NumberOfReceiveQueues 4

12.5 Jumbo-Konnektivität prüfen

# Entspricht Standard-MTU 1500
ping <Ziel-IP> -f -l 1472

# Entspricht MTU 9000
ping <Ziel-IP> -f -l 8972

1472 und 8972 sind die Payload-Größen nach Abzug der IP-/ICMP-Header. 9014 Bytes in der Treiber-UI und diese Ping-Werte stimmen nicht miteinander überein.

12.6 Praktische Hinweise

  • Manche Einstellungen erfordern das Deaktivieren/erneute Aktivieren des Adapters oder einen Neustart
  • DisplayName kann lokalisiert sein
  • Selbst innerhalb desselben Herstellers können sich Bezeichnungen je nach Treiberversion ändern
  • Bei Automatisierung per PowerShell ist es sicherer, zuerst die Werte auf dem realen Gerät aufzulisten und dann zu schreiben

13. Zusammenfassung

Betrachtet man nur die Bezeichnungen, wirken alle Windows NIC-Detaileinstellungen “stark”. Tatsächlich handelt es sich aber um eine Welt, in der die richtige Antwort davon abhängt, ob man auf Durchsatz, Latenz, CPU, Stromverbrauch oder Kompatibilität aus ist.

Die Kernpunkte dieses Artikels zusammengefasst:

  • Speed & Duplex bleibt grundsätzlich auf Auto
  • Jumbo nur, wenn es end-to-end übereinstimmt
  • Checksum / RSS / LSO / RSC: grundsätzlich sind die Standardwerte stark
  • Interrupt Moderation ist ein Kompromiss zwischen Durchsatz und Latenz
  • Buffers nur so weit wie nötig
  • EEE / Selective Suspend / Wake-Einstellungen betreffen Stromverbrauch und Wiederherstellung
  • VMQ / SR-IOV sind eine Hyper-V-Angelegenheit
  • Alte Offload-Einstellungen nicht anfassen

Und am wichtigsten sind diese drei Punkte:

  1. Festlegen, was verbessert werden soll
  2. Immer nur einen Punkt pro Durchgang ändern
  3. Vorher/nachher anhand von Zahlen vergleichen

NIC-Einstellungen sind kein magischer Schalter für mehr Geschwindigkeit. Stimmt das Ziel jedoch, wirken sie durchaus deutlich. Verfehlt man das Ziel, schlagen sie ebenso deutlich ins Gegenteil um.

14. Referenzen

Im Folgenden die offiziellen und Hersteller-Materialien, die als Grundlage für diesen Artikel dienten. Da Windows und NIC-Treiber stark in der Terminologie schwanken, ist es letztlich am sichersten, sich an Treibername und -version der eigenen NIC zu orientieren.

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.

Technische Beratung und Design-Review

Hier geht es nicht nur um einzelne NIC-Einstellungen, sondern um den gesamten Kommunikationspfad, die Sende-/Empfangsmuster der Anwendung und die Bedingungen im Dauerbetrieb – ein Thema, das gut zu technischer Beratung und Design-Review passt.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Sollte man Large Send Offload (LSO) deaktivieren?
Im Regelfall sollte es aktiviert bleiben. LSO teilt große TCP-Sendedaten auf Seiten der NIC in kleinere Frames auf und wirkt sich positiv auf Durchsatz und CPU-Auslastung bei sendelastiger Kommunikation aus. Wer es unbedacht deaktiviert, verschwendet tendenziell CPU-Leistung. Eine Deaktivierung lohnt sich als Eingrenzungsmaßnahme, wenn die Kompatibilität mit einer bestimmten Anwendung oder einem Treiber fraglich ist und man vorübergehend abschaltet, um den Unterschied zu sehen, oder in Szenarien wie industriellen Kameras oder Anlagensteuerungen, bei denen man die Sendekompatibilität bewerten möchte. Wurde es zur Eingrenzung deaktiviert und stellt sich heraus, dass die Ursache woanders liegt, gehört es grundsätzlich wieder auf den Standardwert zurückgesetzt.
Was ist Receive Segment Coalescing (RSC)? Sollte man es deaktivieren?
RSC fasst auf der Empfangsseite mehrere TCP-Segmente auf Seiten der NIC zusammen und wird auch als Large Receive Offload bezeichnet. Es wirkt sich positiv auf den Empfangsdurchsatz und die CPU-Auslastung aus, weshalb Aktivierung die Grundregel ist, wenn der Empfang im Vordergrund steht. Andererseits kann es bei niedriger Latenz oder bei Beobachtung auf Paketebene nachteilig sein, und auch die Interpretation von Paketmitschnitten und Zeitbeobachtungen ändert sich dadurch etwas. Wer die Latenz kleiner Request/Response-Vorgänge senken möchte oder in einer Umgebung arbeitet, in der niedrige Latenz und Beobachtbarkeit Vorrang haben, sollte eine Deaktivierung als Option evaluieren. Den aktuellen Status kann man mit Get-NetAdapterRsc prüfen.
Was sollte ich prüfen, wenn eigentlich 1 Gbit/s erwartet werden, die Verbindung aber mit 100 Mbps zustande kommt?
Speed & Duplex sofort manuell festzulegen, ist das letzte Mittel. Die sinnvolle Prüfreihenfolge ist: zuerst das Kabel, dann Dockingstation / USB-NIC / Adapter, der Switch-Port, ein Treiberupdate, die Eingrenzung von EEE / Green Ethernet, das Zurücksetzen von Speed & Duplex auf Auto, und erst wenn das alles nichts hilft, eine an das Gegenüber angepasste feste Einstellung. Der Grund ist, dass ein Downshift auf 100 Mbps oder ein Link-Abbruch häufiger an der physischen Schicht oder am Gegenübergerät liegt als an der NIC-Einstellung selbst. Ist nur eine Seite fest eingestellt und die andere auf Auto, entsteht ein Duplex-Mismatch, der zu Geschwindigkeitseinbußen, erneuten Übertragungen und ungewöhnlichen Verzögerungen führt.
Welche Windows NIC-Detaileinstellungen sollte man letztlich aktivieren?
Bei einem gewöhnlichen Desktop- oder Notebook-PC gilt zunächst: nicht von den Standardwerten abweichen. Speed & Duplex bleibt auf Auto, Checksum Offload / LSO / RSC / RSS bleiben grundsätzlich aktiviert oder auf dem Standardwert, und Jumbo Packet kommt nur zum Einsatz, wenn NIC, Gegenstelle und alle dazwischenliegenden Switches end-to-end darauf abgestimmt sind. EEE und Selective Suspend sind Stromspareinstellungen, keine Einstellungen zur Beschleunigung. Bei Änderungen sollte man zuerst festlegen, was verbessert werden soll (Durchsatz, Latenz, CPU, Stromverbrauch), dann pro Durchgang nur einen einzigen Punkt ändern und den Unterschied vorher/nachher anhand von Zahlen vergleichen.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog