Freigeben über


Überlegungen zur Programmierung für RSC-Treiber

In den folgenden Abschnitten werden Probleme beschrieben, die bei der Implementierung eines RSC-fähigen Miniporttreibers (Receive Segment Coalescing) zu berücksichtigen sind.

Antworten auf Abfragen für RSC-Statistiken

NDIS, überlastende Treiber und Benutzermodusanwendungen verwenden die OID_TCP_RSC_STATISTICS OID, um die RSC-Statistiken eines Miniportadapters abzurufen. RSC-fähige Miniporttreiber müssen diese OID unterstützen.

Weitergeleitete TCP-Pakete

Der Miniporttreiber sollte keine RSC für Segmente in TCP-Paketen ausführen, die nicht für den Host vorgesehen sind, aber über eine andere Schnittstelle weitergeleitet werden.

Der TCP/IP-Hoststapel deaktiviert RSC für jede Schnittstelle, für die die Weiterleitung aktiviert ist. Die schwache Hostweiterleitung wirkt sich nicht auf RSC aus.

RSC-Unterstützung für Leichte Filter und MUX-Zwischentreiber

Alle NDIS 6.30 Lightweight-Filtertreiber müssen Empfangspakete unterstützen, die größer als die MTU (Link Maximum Transmission Unit) sind. Weitere Informationen zu Größenbeschränkungen für Segmente finden Sie unter Angeben von zusammengespaltenen Segmenten.

NDIS deaktiviert RSC auf einer Schnittstelle, wenn ein einfacher Filtertreiber oder MUX-Zwischentreiber im Hoststapel NDIS 6.20 oder niedriger ist.

Ein MUX-Zwischentreiber kann RSC für eine Schnittstelle deaktivieren, auch wenn die NDIS-Version der Schnittstelle 6.30 oder höher ist.

Windows Filtering Platform (WFP) – Inspektions- und Legendentreiber

WFP-Legendentreiber bieten zusätzliche Filterfunktionen, indem sie der Filter-Engine benutzerdefinierte Legendenfunktionen auf mindestens einer der Filterebenen im Kernelmodus hinzufügen. Legenden unterstützen umfassende Überprüfungen und Paketänderungen sowie Streamänderungen.

WFP-Legendentreiber unterstützen möglicherweise die Behandlung von Support-Empfangspaketen, die größer als die Link-MTU sind. (Weitere Informationen zu Paketgrößenbeschränkungen finden Sie unter Nachverfolgen und Anzeigen von zusammengeknemten Segmenten.) Solche WFP-Legendentreiber sollten folgendes tun:

  • Melden Sie sich während der Registrierung an, um große Pakete zu verarbeiten.

  • Legen Sie das Flag des Legendentreibers fest, wie auf der Referenzseite für die FWPS_CALLOUT2-Struktur angegeben.

Wenn ein Legendentreiber registriert wird, der sich nicht für die Verarbeitung großer Pakete angemeldet hat, benachrichtigt WFP TCP/IP im Kontext der Registrierung. Im Rahmen der Verarbeitung dieser Benachrichtigung deaktiviert TCP/IP RSC für die Schnittstelle.

Wenn während der Legendenregistrierung aktiver TCP-Datenverkehr vorhanden ist, benachrichtigt TCP/IP WFP. WFP verzögert den Aufruf der registrierten Filter, bis RSC deaktiviert ist. Dadurch werden Legendentreiber vor großen Paketen geschützt.