Provedores de Serviços de Transporte
Um determinado provedor de serviços de transporte dá suporte a um ou mais protocolos. Por exemplo, um provedor TCP/IP forneceria, no mínimo, os protocolos TCP e UDP, enquanto um provedor IPX/SPX poderia fornecer IPX, SPX e SPX II. Cada protocolo com suporte de um provedor específico é descrito por uma estrutura WSAPROTOCOL_INFO e o conjunto total dessas estruturas pode ser considerado como o catálogo de protocolos instalados. Os aplicativos podem recuperar o conteúdo desse catálogo (para obter mais informações, consulte WSAEnumProtocols, WSCEnumProtocols e WSCEnumProtocols32) e examinando as estruturas de WSAPROTOCOL_INFO disponíveis, descubra os atributos de comunicação associados a cada protocolo.
Protocolos em camadas e cadeias de protocolos no SPI
O Windows Sockets 2 acomoda o conceito de um protocolo em camadas. Um protocolo em camadas é aquele que implementa apenas funções de comunicação de nível mais alto, enquanto depende de uma pilha de transporte subjacente para a troca real de dados com um ponto de extremidade remoto. Um exemplo desse protocolo em camadas seria uma camada de segurança que adiciona o protocolo ao processo de estabelecimento de conexão para executar a autenticação e estabelecer um esquema de criptografia mutuamente acordado. Esse protocolo de segurança geralmente exigiria os serviços de um protocolo de transporte confiável 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 e o termo protocolo em camadas é usado para descrever um protocolo que não pode ficar sozinho. Em seguida, uma cadeia de protocolos seria definida como um ou mais protocolos em camadas amarrados e ancorados por um protocolo base.
Essa cadeia de caracteres de protocolos em camadas e protocolos base em cadeias pode ser realizada organizando os protocolos em camadas para dar suporte à SPI winsock em suas bordas superior e inferior. Uma estrutura de WSAPROTOCOL_INFO especial é criada que se refere à cadeia de protocolos como um todo e que descreve a ordem explícita na qual os protocolos em camadas são unidos. Isso é ilustrado no gráfico a seguir.