传输服务提供商

给定的传输服务提供程序支持一个或多个协议。 例如,TCP/IP 提供程序至少提供 TCP 和 UDP 协议,而 IPX/SPX 提供程序可能提供 IPX、SPX 和 SPX II。 特定提供程序支持的每个协议都由 WSAPROTOCOL_INFO 结构描述,此类结构的总集可以视为已安装协议的目录。 应用程序可以检索此目录 (的内容以获取详细信息,请参阅 WSAEnumProtocolsWSCEnumProtocolsWSCEnumProtocols32) ;通过检查可用的 WSAPROTOCOL_INFO 结构,发现与每个协议关联的通信属性。

SPI 中的分层协议和协议链

Windows 套接字 2 适应分层协议的概念。 分层协议是一种仅实现更高级别通信功能,同时依赖于基础传输堆栈与远程终结点进行实际数据交换的协议。 此类分层协议的一个示例是安全层,该层将协议添加到连接建立过程,以便执行身份验证并建立相互同意的加密方案。 此类安全协议通常需要底层可靠传输协议(如 TCP 或 SPX)的服务。 术语基协议是指完全能够与远程终结点执行数据通信的 TCP 或 SPX 等协议,而术语分层协议用于描述无法独立运行的协议。 然后,协议链将被定义为一个或多个分层协议,这些协议串在一起并由基本协议锚定。

分层协议和基本协议成链的这种字符串可以通过安排分层协议在其上边缘和下边缘支持 Winsock SPI 来实现。 创建一个特殊的 WSAPROTOCOL_INFO 结构,该结构将协议链作为一个整体引用,并描述分层协议联接的显式顺序。 下图对此进行了说明。

协议链