Windows Sockets 直接架構
Windows Sockets Direct 提供相同系統區域網路上兩個網路節點之間的高速高效能連線, (SAN) ,方法是將 SAN 傳輸介面直接對應至應用程式程式。 此 SAN 連線可讓使用者模式進程執行直接輸入和輸出 (I/O) ,而不需要跨使用者核心界限複製。
系統 區域網路簡介 中的 SAN 架構圖顯示 Windows Sockets Direct 如何提供 SAN 連線。 圖中的陰影區域代表 SAN NIC 廠商必須提供的元件,才能使用 SAN。
下列段落描述圖形中顯示的元件。
為 SAN 網路介面控制器提供元件
每個 SAN 網路介面控制器 (NIC) 都會使用下列軟體元件來支援 NDIS 和 Windows 通訊端直接存取。
SAN NIC 的 NDIS 迷你埠驅動程式提供 NDIS 的支援,讓它可以使用標準 TCP/IP 通訊協定驅動程式與 Windows Sockets 應用程式通訊。 此 NDIS 迷你埠驅動程式支援標準媒體類型,例如乙太網路或 ATM。
SAN 服務提供者 DLL 及其相關聯的 Proxy 驅動程式提供 Windows Sockets Direct 的支援。 這些 Windows Sockets 直接元件會將 SAN 互連的原生傳輸語意匯出至 Windows Sockets 應用程式。 例如,這些語意可以包含位址系列和訊息方向。
SAN NIC 廠商提供 NDIS 迷你埠驅動程式和 Windows Sockets Direct 元件。 如果未在 NIC 中完全實作傳輸服務,SAN NIC 廠商也可能提供 SAN 傳輸驅動程式。 SAN 服務提供者 DLL 的 Proxy 驅動程式,而且 SAN 傳輸驅動程式可能包含在 NDIS 迷你埠驅動程式或個別驅動程式中,並視 SAN NIC 廠商而定。
Windows Sockets Switch 元件
Windows Sockets 參數是 Windows Sockets Direct 的作業系統提供元件。 交換器是一個 Windows 通訊端服務提供者,分層在 TCP/IP 和 SAN 服務提供者之上。 Windows 作業系統會在 Windows 通訊端介面與其他服務提供者之間插入參數。 為了清楚起見,參數會以個別實體的形式出現在圖表中。 不過,交換器和基底 TCP/IP 服務提供者實際上是在相同的 DLL 中實作。 參數會執行下列動作:
讓 SAN 服務提供者和標準 TCP/IP 提供者的已安裝集合看起來像是 Windows Sockets 應用程式的單一提供者。
會根據每個連線選擇使用原生 SAN 服務提供者或標準 TCP/IP 提供者來服務應用程式通訊端。
使用原生 SAN 服務提供者時模擬 TCP/IP 語意。
參數的頂端和底部介面符合 Windows 通訊端服務提供者介面 (SPI) 。 交換器的底部介面會使用 Windows 通訊端 SPI 的擴充功能來利用 SAN 的功能。 這些延伸模組會在 適用于 SAN 的 Windows 通訊端 SPI 延伸模組 中說明,並完整記載于 Windows Sockets 直接參考中。
交換器會管理所有網路的應用程式存取權。 電腦可以包含多個廠商的多個 SAN NIC,以及一或多個 LAN 和 WAN NIC,例如支援乙太網路的 LAN NIC。 交換器會以透明方式管理與這些 NIC 相關聯之所有網路的應用程式存取權。
TCP/IP 函式
如同透過 NDIS 公開的任何 NIC,TCP/IP 通訊協定驅動程式會將一或多個 IP 位址指派給每個 SAN NIC。 Windows Sockets 交換器和 SAN 服務提供者會決定這些指派,如 接收和翻譯 NIC 位址中所述。 交換器會使用此 IP 位址資訊來判斷要用於指定通訊端連線的 SAN 服務提供者。 SAN 服務提供者會使用此 IP 位址資訊,將 IP 位址轉譯為原生 SAN 位址。
交換器會與標準基底 TCP/IP 服務提供者密切合作,以取得 SAN 服務提供者不支援的功能。 TCP/IP 服務提供者支援接聽多個提供者上的連線,以及跨多個提供者進行同步處理。
TCP/IP 服務提供者也會透過標準 LAN 和 WAN 互連、原始 IP 通訊端、所有 UDP 通訊端和子網之間的連線來處理所有通訊。