分层协议和协议链

Windows 套接字 2 包含分层协议的概念:一种协议,它只实现更高级别的通信功能,同时依赖于基础传输堆栈与远程终结点进行实际的数据交换。 这种类型的分层协议的一个示例是一个安全层,该层将协议添加到套接字连接进程,以便执行身份验证和建立加密方案。 此类安全协议通常需要底层可靠传输协议(如 TCP 或 SPX)的服务。

术语 基协议 是指完全能够与远程终结点执行数据通信的协议,例如 TCP 或 SPX。 分层协议是一种不能独立运行的协议,而协议链是一个或多个分层协议,由基本协议串在一起并锚定。

如果设计分层协议以支持 Windows 套接字 2 SPI 的上边缘和下边缘,则可以创建协议链。 特殊的 WSAPROTOCOL_INFO 结构将协议链称为一个整体,并描述分层协议联接的显式顺序。 下图对此进行了说明。 由于应用程序只能直接使用基本协议和协议链,因此当使用 WSAEnumProtocols 函数枚举已安装的协议时,它们是唯一列出的协议。

分层协议体系结构