Freigeben über


Netzwerk-Redirector-Design

In diesem Artikel wird das Treibermodell für Netzwerk-Redirektoren beschrieben, die in Windows 2000 eingeführt wurden.

Eine erhebliche Herausforderung beim Entwurf von Netzwerk-Redirectoren ist die relativ komplexe Übersetzung, die von vom Benutzer initiierten Vorgängen zu Netzwerkvorgängen auf niedriger Ebene durchgeführt wird, sowohl im Hinblick auf die Vorgangsauswahl als auch die Anzeigedauer. Der Umgang mit dem Windows-E/A-System, dem Cache-Manager und dem Speicher-Manager ist ein relativ komplexes Unternehmen. Diese Aussage gilt insbesondere bei der Betrachtung der Vielzahl von Puffermodi, die für einen Remotekommunikationsmechanismus geeignet sein könnten, z. B. ein Computernetzwerk, in dem sich die Geschwindigkeit und Zuverlässigkeit erheblich unterscheiden können. Die Implementierung dieser Puffervorgänge in einem Netzwerk-Redirektor stellt eine erhebliche Investition in die Funktion dar, die idealerweise von Treibern gemeinsam genutzt und wiederverwendet werden würde.

In Windows 2000 wurde ein Treibermodell für Netzwerk-Redirektoren eingeführt, die auf einer Ebene oder einem Miniporttreiberansatz basieren. Dieses Modell wird als Mini-Redirector-Architektur (rdr2) bezeichnet. Anstatt den komplexen Code, der für die Pufferung und Interaktion mit dem E/A-Manager und dem Cache-Manager in jedem Treiber verwendet wird, erneut implementieren zu müssen, wurde dieser große Codeblock abgerufen und allen potenziellen Netzwerk-Redirectoren zur Verfügung gestellt. Der gemeinsam genutzte gemeinsame Puffercode wird als Umleitungslaufwerkpuffer-Untersystem (RDBSS) bezeichnet.

Nachfolgend sehen Sie ein Modell dieser Architektur mit mehreren Redirectoren.

Diagramm zur Veranschaulichung des Netzwerk-Redirector-Designs ab Windows 2000.

Dieses RDBSS-Design bietet mehrere der folgenden Vorteile:

  • Es vereinfacht den Prozess des Schreibens des Kernelmodustreibers (Kernel-Mode Driver, KMD) für einen Netzwerk-Redirector, da eine große Menge an gemeinsamem Code bereitgestellt wurde, der zum Umgang mit dem E/A-System, dem Cache-Manager und dem Speicher-Manager erforderlich war.

  • Sie stellt anderen Netzwerk-Redirector-Treiber eine erhebliche Leistungsverbesserung auf der Grundlage von Pufferalgorithmen und Kerneloptimierungen zur Verfügung, die für Microsoft Networks entwickelt wurden.

  • Sie vereinfacht die Wartung, da nur eine Kopie des Puffercodes entwickelt und verwaltet werden muss. Im Vor-Windows 2000-Modell war für jeden Umleitungsmodul eine Kopie erforderlich.

  • Es bietet eine starke Kapselung der netzwerkprotokollspezifischen Komponente eines Netzwerk-Redirector, sodass sich Treiberentwickler auf diese Aspekte des Netzwerk-Redirectors konzentrieren können, die einzigartig und spezifisch für ihre Anwendung oder ihr Produkt sind.

  • Es vereinfacht das Debuggen von Treibern für Netzwerk-Redirectoren, indem die Entkoppelung basierend auf diesem mehrschichtigen Ansatz bereitgestellt wird.

Das RDBSS-Modell wurde mit Windows 2000 eingeführt. Dieses Modell wird auch unter Windows Server 2003 und Windows XP verwendet.

Design des Netzwerk-Redirectors in Windows NT

Das in Windows NT 3.0 eingeführte ursprüngliche Schema verwendet keine freigegebenen Komponenten und war eingeschränkt. Dieses Modell wird häufig als das ursprüngliche rdr-Treibermodell bezeichnet (rdr war eine Abkürzung für Redirector). Um das Schreiben eines Netzwerk-Redirectors zu vereinfachen, bietet das Betriebssystem keine spezielle Unterstützung. Jeder KMD implementierte alle Funktionen, die für einen Netzwerk-Redirector erforderlich sind. Daher würde jeder KMD eine große Menge Code für Interaktionen mit dem E/A-Manager, dem Cache-Manager und dem Speicher-Manager enthalten. Jeder unter Windows installierte Netzwerk-Redirector (LAN-Manager, NetWare und NFS) musste alle diese Funktionen selbst implementieren. Dieses Entwurfsmodell wurde für Treiber für Netzwerkumleitungen über Windows NT 4.0 verwendet. Es folgt ein Diagramm dieser Architektur mit mehreren Redirectoren.

Diagramm zur Veranschaulichung des Netzwerk-Redirector-Designs in Windows NT.