Protocoles en couches et chaînes de protocoles
Windows Sockets 2 intègre le concept d’un protocole en couches : celui qui implémente uniquement les fonctions de communication de niveau supérieur tout en s’appuyant sur une pile de transport sous-jacente pour l’échange réel de données avec un point de terminaison distant. Un exemple de ce type de protocole en couches est une couche de sécurité qui ajoute un protocole au processus de connexion de socket afin d’effectuer l’authentification et d’établir un schéma de chiffrement. Un tel protocole de sécurité nécessite généralement les services d’un protocole de transport sous-jacent et fiable, tel que TCP ou SPX.
Le terme protocole de base fait référence à un protocole, tel que TCP ou SPX, qui est entièrement capable d’effectuer des communications de données avec un point de terminaison distant. Un protocole en couches est un protocole qui ne peut pas être autonome, tandis qu’une chaîne de protocole est un ou plusieurs protocoles en couches liés entre eux et ancrés par un protocole de base.
Vous pouvez créer une chaîne de protocoles si vous concevez les protocoles en couches pour prendre en charge les sockets Windows 2 SPI aux bords supérieur et inférieur. Une structure WSAPROTOCOL_INFO spéciale fait référence à la chaîne de protocole dans son ensemble et décrit l’ordre explicite dans lequel les protocoles en couches sont joints. Cela est illustré dans la figure ci-dessous. Étant donné que seuls les protocoles de base et les chaînes de protocoles sont directement utilisables par les applications, ils sont les seuls répertoriés lorsque les protocoles installés sont énumérés avec la fonction WSAEnumProtocols .