Winsock

Winsock

1 – L’histoire de Winsock

Depuis des années, les applications se sont tournées vers une communication réseaux afin d’interagir entre elles. La Socket Windows, ou plus couramment appelé Winsock, est une API (Application Programming Interface) procurant des fonctions d’accès aux protocoles réseaux. Winsock représente donc une interface API permettant l’utilisation du protocole TCP/IP sur une interface Windows.

Winsock 1.1 à été publié le 20 janvier 1993 afin de créer un standard universel pour les applications TCP/IP. Les auteurs des Windows Socket 1.1 ont limité les possibilités à l’utilisation d’un seul protocole, TCP/IP, contrairement à la version 2.0 qui  propose en plus, la suite des protocoles ATM, IPX/SPX, DECnet et le sans fil. Le passage à Winsock 2.0 s’est fait en gardant 100% de compatibilité permettant aux applications déjà développées de continuer à fonctionner.

2 – L’architecture

L’architecture Winsock 2 est conforme à WOSA (Windows Open System Architecture).

winsock architecture
Comme vous pouvez le voir sur le schéma ci dessus, Winsock 2.0 fournit deux interfaces de programmation. La première, application programming interface, est appelé API. Elle se situe en couche 5 du modèle OSI et utilise donc un protocole de couche 3 et 4 pour véhiculer ses informations à travers un réseau. La seconde interface, service provider interface, est appelé SPI. Elle se situe en couche 3 du modèle OSI et permet de personnaliser les protocoles tels que IP, IPX afin de gérer l’adressage, le transport et les options.

3 – Les compatibilités

3.1 – Winsock

Voici la liste de version de Winsock en fonction des différents Windows :

  • Windows 3.x
    Version 1.1 :  Oui
    Version 2 : Non
  • Windows NT 3.x
    Version 1.1 :   Oui
    Version 2 : Non
  • Windows 95
    Version 1.1 :   Oui
    Version 2 : Oui *
  • Windows NT 4
    Version 1.1 :   Oui
    Version 2 : Oui **
  • Windows 98
    Version 1.1 :   Oui
    Version 2 : Oui **
  • Windows 2000
    Version 1.1 :   Oui
    Version 2 : Oui
  • Windows XP
    Version 1.1 :   Oui
    Version 2 : Oui
  • Windows 2003
    Version 1.1 : Oui
    Version 2 : Oui

* Windows 95 est livré de base avec Winsock 1.1. Il est possible d’installer Winsock 2 à l’aide d’un add-on Microsoft.

3.2 – Le mode Raw

Le mode Raw est disponible à partir de la version 2.0 de Winsock.

** Malgré le support du mode Raw, Win98 et Nt4 ne sont pas compatibles avec l’option IP_HDRINCL permettant de spécifier l’entête IP.

3.3 – Les options

Vous trouverez la liste des compatibilités de toutes les options.

4 – Le mode non connecté

Le mode non connecté est basé sur UDP qui ne garanti pas la transmission de donnée. Voici le schéma d’une relation entre deux hosts IP en mode non connecté.

winsock mode non connecte

5 – Le mode connecté

Le mode connecté est basé sur l’ouverture d’une session TCP afin de garantir, au niveau 4, la transmission de donnée. Voici le schéma d’une relation entre deux hosts IP en mode connecté.

winsock mode connecte

6 – Le mode brut

Le mode brut est plus communément appelé mode raw. Compatible uniquement avec la version 2 de Winsock, il permet de spécifier un protocole de couche 3 tel que ATM, SPX, IP et autres. Dans le cadre d’IP, il existe une option appelée IP_HDRINCL apportant la possibilité de spécifier l’entête IP entière. Pour avoir accès aux options du mode raw, il faut posséder les droits d’administrateur local. Microsoft l’impose pour des raisons de sécurité, mais propose de contourner cette restriction à l’aide de la modification du registre explicité dans la Q195445.

7 – Suivi du document

Création et suivi de la documentation par _SebF

Modification de la documentation par _SebF

Modification de la documentation par _SebF

  • Ajout des compatibilité du mode Raw et des Options configuré par SetSockOpt()

Modification de la documentation par _SebF

  • Ajout des ** expliquant que Win98 et Nt4 ne sont pas compatible avec IP_HDRINCL

8 – Discussion autour de Winsock

Vous pouvez poser toutes vos questions, faire part de vos remarques et partager vos expériences à propos de Winsock. Pour cela, n’hésitez pas à laisser un commentaire ci-dessous :

X - Commentaire et discussion

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *