Compartilhar via


Layered Protocols and Provider Chains

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Sockets do Windows (Winsock) em camadas suporta protocolos. Uma em camadas protocolo implementa funções de nível mais alto apenas de comunicações ao confiar em um subjacente pilha transporte para o real troca de dados com um remoto ponto de extremidade. Um exemplo desse tipo de em camadas protocolo é uma camada de segurança que adiciona um protocolo para o processo conexão Soquete em ordem para executar autenticação e estabelecer um esquema de criptografia. Tais um protocolo de segurança geralmente requer os serviços de um subjacente e seguro protocolo transporte such as protocolo TCP (TCP) ou Sequenced Packed Exchange (SPX).

O termo protocolo de base Refere-se a um protocolo, such as TCP ou SPX, que é totalmente capaz de executar as comunicações dados com um remoto ponto de extremidade. A em camadas protocolo é um protocolo que não é possível espera sozinho, e um encadear provedor é em camadas um ou mais protocolos relacionadas juntas e ancorados por um protocolo de base.

A seguinte ilustração mostra sockets do Windows (Winsock) com somente um provedor de base de TCP/IPv4 instalado.

O provedor de base tem um identificador encadear, que é um Globally Unique Identifier (GUID).

Observação

Essas ilustrações apresentação uma exibição simplificada do provedor cadeias.Este modelo é o mesmo para cada provedor de base.

Você pode criar um provedor encadear se provedores superiores e inferiores nas bordas do suporte encadear os Winsock SPI.

A seguinte ilustração mostra o provedor Chains quando você instalar um Encryption LSP sobre o provedor de base TCP/IPv4.

Cada tempo um LSP estiver instalado, o original permanece encadear de base, e um novo encadear é criado que possui o LSP adicionado e um identificador exclusivo. Quando o encadear provedor 0xAAAA é usado, dados TCP/IPv4 é criptografados ou descriptografados entre TCP/IP e sockets do Windows (Winsock).

Sockets do Windows (Winsock) usa o família de endereços, Soquete tipo e protocolo que é passado para Soquete Para determinar qual encadear é melhor. Ou, para usar um encadear específico, você pode chamar WSASocket e transmitir o apropriado WSAPROTOCOL_INFO estrutura.

Observação

Sockets do Windows (Winsock) verifica que os soquetes que são passados para Selecione são do mesmo provedor.Soquetes são considerados como do provedor de serviço mesmo se a WSAPROTOCOL_INFO Estruturas descrevendo seus protocolos têm o mesmo ProviderId valor.Se a pasta ProviderId Valores não coincidirem, o Selecione chamar falhar e a Soquete não é passado para quaisquer provedores.

Observação

Embora você não pode chamar Selecione Com os soquetes criados pelo provedor diferentes cadeias, sockets do Windows (Winsock) determina que TCP/IPv4, TCP/IPv6, UDP/IPv4, UDP/IPv6 e Bluetooth são do mesmo provedor porque eles todos são tratados pelo mesmo provedor de base, wspm.dll.

A seguinte ilustração mostra o provedor Chains quando você instalar um AUTH LSP sobre o provedor de base TCP/IPv4.

O novo encadear provedor agora está disponível com o AUTH LSP. Quando o provedor encadear 0xFFFF for usado, TCP/IPv4 dados é não apenas criptografados ou descriptografados entre TCP/IP e sockets do Windows (Winsock), mas ele também é autenticado.

Observação

Um LSP não deve modificar um não reconhecido identificador.Ele deve transmitir o identificador para o próximo nível inferior.

Esta ilustração mostra a importância da ordem de instalação lsp. A conexão pode ser autenticado antes de ele é criptografado, mas pode falhar autenticação se ele é criptografado pela primeira vez. Para informações sobre como instalar um LSP e configuração ordem de instalação, consulte Instalando um LSP.

O WSAPROTOCOL_INFO estrutura refere-se a encadear provedor como um todo e descreve a ordem explícito no qual a em camadas protocolos associados. Como apenas protocolos de base e provedor cadeias são diretamente utilizáveis por aplicativos, eles são os únicos listados quando os protocolos instalados são enumerados com o WSAEnumProtocols função.

Um aplicativo usa o WSAEnumProtocols função para determinar quais protocolos transporte e provedor cadeias estiverem presentes, e para obter informações sobre cada um deles como que informações está contido em de associado WSAPROTOCOL_INFO estrutura.

Na maioria dos casos, há um único WSAPROTOCOL_INFO estrutura para cada encadear protocolo ou provedor. No entanto, alguns protocolos apresentam múltiplo comportamentos. Por exemplo, o protocolo SPX é orientado a mensagem. Isto é, a rede preserva os limites do remetente mensagem, mas a Soquete de recebimento pode ignorar esses limites mensagem e tratá-los como um fluxo de bytes. Conseqüentemente, dois diferentes WSAPROTOCOL_INFO Entradas estrutura podem existir para SPX, uma para cada problema.

Aplicativos que precisam ser independente de protocolo são incentivados a selecionar um protocolo on the basis of sua adequação rather than on the basis of os valores atribuídos a seus socket_type Ou protocolo Parâmetros. Adequação do protocolo é indicada pelos atributos, como mensagem - versus - fluxo de bytes e seguro - versus - não confiável, contidos em comunicações de WSAPROTOCOL_INFO estrutura. Selecionando protocolos com base em de adequação em oposição a on the basis of conhecido protocolo nomes e tipos Soquete permite que aplicativos independente de protocolo tirar proveito dos novos protocolos transporte e seus associado tipos de mídia, como elas tornam-se disponível.

O servidor metade de um cliente/servidor aplicativo benefícios estabelecendo Soquetes de escuta em todos os protocolos transporte adequado. Em seguida, o cliente pode estabelecer sua conexão usando qualquer protocolo adequado. De exemplo, isso permite que um aplicativo cliente ser mantidos inalterados se ele é execução em um área de trabalho sistema, conectado a um Local Area Network (LAN), ou em um laptop usando um sem fio rede.

See Also

Concepts

Multiple Transport Protocols