Protocolos em camadas e cadeias de protocolo
O Windows Sockets 2 incorpora o conceito de um protocolo em camadas: um que implementa apenas funções de comunicação de nível superior, ao mesmo tempo em que depende de uma pilha de transporte subjacente para a troca real de dados com um ponto de extremidade remoto. Um exemplo desse tipo de protocolo em camadas é uma camada de segurança que adiciona um protocolo ao processo de conexão de soquete para executar a autenticação e estabelecer um esquema de criptografia. Esse protocolo de segurança geralmente requer os serviços de um protocolo de transporte confiável e subjacente, como TCP ou SPX.
O termo protocolo base refere-se a um protocolo, como TCP ou SPX, que é totalmente capaz de executar comunicações de dados com um ponto de extremidade remoto. Um protocolo em camadas é um protocolo que não pode ficar sozinho, enquanto uma cadeia de protocolo é um ou mais protocolos em camadas amarrados e ancorados por um protocolo base.
Você poderá criar uma cadeia de protocolos se criar os protocolos em camadas para dar suporte ao SPI do Windows Sockets 2 nas bordas superior e inferior. Uma estrutura de WSAPROTOCOL_INFO especial refere-se à cadeia de protocolo como um todo e descreve a ordem explícita na qual os protocolos em camadas são unidos. Isso é ilustrado na figura abaixo. Como apenas protocolos base e cadeias de protocolo são diretamente utilizáveis por aplicativos, eles são os únicos listados quando os protocolos instalados são enumerados com a função WSAEnumProtocols .