Realtek NDIS vs. NetAdapterCx

JennyCB

Lt. Commander
Registriert
März 2014
Beiträge
1.418
NDIS verfolgt mich nun schon seit Generationen. Was hat es denn mit dem neuen Treiber für Windows 11 auf sich?
Habe ihn installiert. Soll mehr Performance bringen. Kann das einer von euch mal auf deutsch erklären? Danke.
 
  • Gefällt mir
Reaktionen: Micke
Das eine wird der Treiber von Realtek sein, der ander von Microsoft (der wahrscheinlich auch von Realtek stammt, nur eine Zertifizierung hat, die aber eigentlich null bringt).

Was genau ist aber deine Frage?
 
  • Gefällt mir
Reaktionen: madmax2010
"NetAdapterCx brings an updated data path, that sits below the TCP/IP stack, with improved performance over current NDIS stack by reducing latency and cycles/packet. The new data path is built based on the polling-based IO model vs. the interrupt driven model, allowing the OS to optimize performance."

Klingt für mich als wäre NetAdapterCx dem älteren NDIS-Modell etwas voraus.

Edit:
Ohne viel Wert auf Marketing-Geblubber zu legen hat sich auch die Bezeichnung im Geräte-Manager geändert.
Nennt sich nun Realtek Gaming GbE Family Controller.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Micke
JennyCB schrieb:
Was hat es denn mit dem neuen Treiber für Windows 11 auf sich?

Porting NDIS miniport drivers to NetAdapterCx | Microsoft Docs
This page describes how to convert an NDIS 6.x miniport driver into a NetAdapterCx client driver.

Hier sind die notwendigen Anpassungen beschrieben, um den Treiber zu konvertieren.

Network Adapter WDF Class Extension (NetAdapterCx) | Microsoft Docs
In previous versions of Windows, WDF and NDIS had individual advantages, but did not interoperate well. The only way to write a NIC driver was to write an NDIS miniport driver. To use WDF in an NDIS miniport driver, you had to write extra code in your driver, and even then, you only had access to a small subset of WDF functionality.

With the NetAdapterCx model, conversely, you write a real WDF driver for your NIC. This means that your NetAdapterCx driver has access to full WDF functionality, as well as networking-specific APIs and I/O support from the NetAdapter class extension. As shown in the block diagram below, NetAdapterCx still works behind the scenes with NDIS, but it handles all the interaction with NDIS on your behalf.

Kurz:
Der NetAdapterCx-Treiber hat Zugriff auf die volle WDF-Funktionalität sowie auf netzwerkspezifische APIs und E/A-Unterstützung durch die NetAdapter-Klassenerweiterung, die der NDIS-Treiber nicht oder nur eingeschränkt hat.


Ergänzung
Introducing the NetAdapter Driver model for the next generation of networks and applications | Microsoft Techcommunity
 
Zuletzt bearbeitet: (Ergänzung)
  • Gefällt mir
Reaktionen: Micke, Alpha008, ufopizza und eine weitere Person
Umkehrschluss:
NetAdapterCx = ist in jedem Fall (bei der Benutzung von Win11) besser als NDIS Treiber? (bzw. dem jederzeit vorzuziehen)?

Aktuell habe ich die 10.53.1001 drauf (NDIS). Macht soweit keine Probleme. Laut Rückmeldung u.a. von @Hauro wäre hier (aufgrund besagter Verbesserungen) ggf. 11.2.0909.2021 (10222021) in jedem Fall zuträglicher?

Hoffe das ich das richtig verstanden habe. Klingt aktuell für mich eher danach; das man die 11.2.0909 durchwegs in allen Anwendungsfällen (von Win11) grundsäztlich, vor der 10.53 lieber wählen sollte? :)
 
Zuletzt bearbeitet von einem Moderator:
Otterliebe schrieb:
Aktuell habe ich die 10.53.1001 drauf (NDIS). Macht soweit keine Probleme.

Dann dabei belassen.

Unter Windows 10 und der Neu-Installation von Windows 11 habe ich den NDIS-Treiber verwendet. Aktuell ist der NetAdapterCx-Treiber installiert. Funktionieren beide einwandfrei. Realtek schreibt auch nicht, ob sie die neuen Funktionen nutzen, außerdem sollte der NetAdapterCx-Treiber auch unter Windows 10 ab der Version 2004 funktionieren:

Starting in Windows 10, version 2004, the Windows Driver Kit (WDK) includes a Network Adapter WDF Class Extension module (NetAdapterCx) that enables you to write a KMDF-based client driver for a Network Interface Controller (NIC).
 
Die Frage ob NDIS oder NetAdapterCx ist die Frage zwischen Interrupt oder Polling.

Eine Maus am PS2-Port wird Interrupt gesteuert, am USB-Port hingegen über Polling.

Vorteile vom Polling beim Gaming kann ich mir wegen der hohen Anzahl an UDP-Paketen vorstellen da hier im Gegensatz zum Interrupt die CPU weit weniger belastet wird.

Oder anderes ausgedrückt: Beim Interrupt entscheidet das Gerät (hier Netzwerkkarte) die CPU zu unterbrechen, beim Polling bestimmt das Betriebssystem eine Aufgabe durch periodisches Abfragen zu verarbeiten.
Dadurch sind die Last und die Latenz geringer.

Bei einem Office-Rechner ist es egal welchen Treiber man verwendet, beim Gaming würde ich Polling bevorzugen.

Der NetAdapterCx-Treiber funktioniert auch bei mir bislang einwandfrei.
 
JennyCB schrieb:
Oder anderes ausgedrückt: Beim Interrupt entscheidet das Gerät (hier Netzwerkkarte) die CPU zu unterbrechen, beim Polling bestimmt das Betriebssystem eine Aufgabe durch periodisches Abfragen zu verarbeiten.
Dadurch sind die Last und die Latenz geringer.
Eigentlich ja genau andersherum.

Beim Interrupt wird die CPU nur dann mit dem Kram betraut, wenns wirklich was zu verarbeiten gibt, und zwar genau dann, wenns was zu verarbeiten gibt. Beim Polling unterbricht die CPU laufend und regelmäßig, um nachzusehen, obs was zu verarbeiten gibt, und ignoriert das Thema dann bis zum nächsten Intervall, egal ob dazwischen eigentlich was zu verarbeiten wäre oder nicht.
 
Der "neue" Treiber kann auch dazu führen, dass das Netzwerk erst gar nicht funktioniert.

Treiberinstallation (NetAdapterCx) läuft reibungslos durch (Win 11 21H2 und 22H2), danach funktioniert das LAN gar nicht mehr. Die Fritzbox weißt dem Gerät keine gültige IP mehr zu. Selbst wenn man diese manuell für den Netzwerkadapter nachträgt, wird keine Netztwerk/Internetverbindung mehr aufgebaut. Installiert man dagegen den NDIS Treiber funktioniert wieder alles.

Dies betrifft wahrscheinlich nur ältere Modelle des LAN Adapters. Mein Mainboard verwendet noch einen Realtek LAN Adapter von 2017.
 
Ich hatte bisher keinerlei Probleme mit dem NetAdapterCx Treiber mit meinem X570 Board / Realtek PCIe GBe, auch nicht nach Treiberaktualisierung.
 
Zurück
Oben