Condividi tramite


Protocolli a più livelli e catene di protocolli

Windows Sockets 2 incorpora il concetto di protocollo a più livelli: uno che implementa solo funzioni di comunicazione di livello superiore, mentre si basa su uno stack di trasporto sottostante per lo scambio effettivo di dati con un endpoint remoto. Un esempio di questo tipo di protocollo a più livelli è un livello di sicurezza che aggiunge un protocollo al processo di connessione socket per eseguire l'autenticazione e stabilire uno schema di crittografia. Un protocollo di sicurezza di questo tipo richiede in genere i servizi di un protocollo di trasporto sottostante e affidabile, ad esempio TCP o SPX.

Il termine protocollo di base fa riferimento a un protocollo, ad esempio TCP o SPX, che è completamente in grado di eseguire comunicazioni dati con un endpoint remoto. Un protocollo a più livelli è un protocollo che non può essere autonomo, mentre una catena di protocolli è uno o più protocolli a più livelli raggruppati e ancorati da un protocollo di base.

È possibile creare una catena di protocolli se si progettano i protocolli a più livelli per supportare Windows Sockets 2 SPI sia in alto che in basso. Una struttura speciale WSAPROTOCOL_INFO fa riferimento alla catena di protocolli nel suo complesso e descrive l'ordine esplicito in cui i protocolli a più livelli vengono uniti. Questo è illustrato nella figura seguente. Poiché solo i protocolli di base e le catene di protocolli sono utilizzabili direttamente dalle applicazioni, sono gli unici elencati quando i protocolli installati vengono enumerati con la funzione WSAEnumProtocols .

architettura del protocollo a più livelli