Direkte Windows Sockets-Architektur

Windows Sockets Direct stellt eine Hochgeschwindigkeitsverbindung mit hoher Leistung zwischen zwei Netzwerkknoten im gleichen System Area Network (SAN) bereit, indem eine SAN-Transportschnittstelle direkt einem Anwendungsprozess zugeordnet wird. Diese SAN-Verbindung ermöglicht Es Prozessen im Benutzermodus, direkte Eingaben und Ausgaben (E/A) durchzuführen, ohne die Benutzer-Kernel-Grenze zu kopieren.

Die Abbildung zur SAN-Architektur unter Einführung in Systembereichsnetzwerke zeigt, wie Windows Sockets Direct eine SAN-Verbindung bereitstellt. Die schattierten Bereiche in der Abbildung stellen Komponenten dar, die ein SAN NIC-Anbieter bereitstellen muss, um die Verwendung eines SAN zu ermöglichen.

In den folgenden Absätzen werden die Komponenten beschrieben, die in der Abbildung angezeigt werden.

Bereitgestellte Komponenten für SAN-Netzwerkschnittstellencontroller

Jeder SAN-Netzwerkschnittstellencontroller (NIC) verwendet die folgenden Softwarekomponenten, um Unterstützung für NDIS und für Windows Sockets Direct bereitzustellen.

  • Ein NDIS-Miniporttreiber für eine SAN NIC bietet Unterstützung für NDIS, sodass er mit Windows Sockets-Anwendungen mithilfe eines TCP/IP-Standardprotokolltreibers kommunizieren kann. Dieser NDIS-Miniporttreiber unterstützt Standardmedientypen wie Ethernet oder ATM.

  • Die DLL des SAN-Dienstanbieters und der zugehörige Proxytreiber bieten Unterstützung für Windows Sockets Direct. Diese Windows Sockets Direct-Komponenten exportieren die native Transportsemantik einer Verbindung für san to Windows Sockets-Anwendungen. Diese Semantik kann z. B. Adressfamilie und Nachrichtenausrichtung umfassen.

Der SAN-NIC-Anbieter stellt den NDIS-Miniporttreiber und die Windows Sockets Direct-Komponenten bereit. Der SAN NIC-Anbieter kann auch einen SAN-Transporttreiber bereitstellen, wenn der Transportdienst nicht vollständig in der NIC implementiert ist. Der Proxytreiber für eine SAN-Dienstanbieter-DLL und möglicherweise ein SAN-Transporttreiber sind entweder im NDIS-Miniporttreiber oder in separaten Treibern enthalten, im Ermessen des SAN NIC-Anbieters.

Windows Sockets Switch-Komponenten

Der Windows Sockets-Switch ist eine vom Betriebssystem bereitgestellte Komponente von Windows Sockets Direct. Der Switch ist ein Windows Sockets-Dienstanbieter, der über TCP/IP- und SAN-Dienstanbietern verfügt. Das Windows-Betriebssystem fügt den Schalter zwischen der Windows Sockets-Schnittstelle und den anderen Dienstanbietern ein. Der Übersichtlichkeit halber wird der Schalter in der Abbildung als separate Entität angezeigt. Der Switch und der TCP/IP-Basisdienstanbieter sind jedoch tatsächlich in derselben DLL implementiert. Der Schalter führt die folgenden Aktionen aus:

  • Bewirkt, dass die installierte Sammlung von SAN-Dienstanbietern und der TCP/IP-Standardanbieter wie ein einzelner Anbieter für Windows Sockets-Anwendungen aussieht.

  • Wählt auf Verbindungsbasis aus, ob ein nativer SAN-Dienstanbieter oder der TCP/IP-Standardanbieter zum Bedienen eines Anwendungssockets verwendet werden soll.

  • Emuliert die TCP/IP-Semantik bei Verwendung eines nativen SAN-Dienstanbieters.

Die oberen und unteren Schnittstellen des Switches entsprechen der Windows Sockets Service Provider Interface (SPI). Die untere Schnittstelle des Switches verwendet Erweiterungen des Windows Sockets SPI, um die Funktionen eines SAN zu nutzen. Diese Erweiterungen werden in Windows Sockets SPI-Erweiterungen für SANs beschrieben und in der Windows Sockets Direct Reference vollständig dokumentiert.

Der Switch verwaltet den Anwendungszugriff auf alle Netzwerke. Ein Computer kann mehrere SAN-NICs von mehreren Anbietern sowie eine oder mehrere LAN- und WAN-NICs enthalten, z. B. eine LAN-Netzwerkkarte, die ein Ethernet-Netzwerk unterstützt. Der Switch verwaltet den Anwendungszugriff auf alle Netzwerke, die diesen NICs zugeordnet sind, transparent.

TCP/IP-Funktionen

Wie bei jeder NIC, die über NDIS verfügbar gemacht wird, weist der TCP/IP-Protokolltreiber jeder SAN-Netzwerkkarte eine oder mehrere IP-Adressen zu. Die Windows Sockets-Switch- und SAN-Dienstanbieter bestimmen diese Zuweisungen, wie unter Empfangen und Übersetzen von NIC-Adressen beschrieben. Der Switch verwendet diese IP-Adressinformationen, um zu bestimmen, welcher SAN-Dienstanbieter für eine bestimmte Socketverbindung verwendet werden soll. SAN-Dienstanbieter verwenden diese IP-Adressinformationen, um IP-Adressen in native SAN-Adressen zu übersetzen.

Der Switch arbeitet eng mit dem TCP/IP-Standardbasisdienstanbieter zusammen, um Funktionen zu erhalten, die VON SAN-Dienstanbietern nicht unterstützt werden. Der TCP/IP-Dienstanbieter unterstützt das Lauschen auf Verbindungen mit mehreren Anbietern und die Synchronisierung über mehrere Anbieter hinweg.

Der TCP/IP-Dienstanbieter übernimmt auch die gesamte Kommunikation über Standard-LAN- und WAN-Verbindungen, unformatierte IP-Sockets, alle UDP-Sockets und Verbindungen zwischen Subnetzen.