Programmation réseau - Les sockets

Communication

Introduction aux sockets

La notion de sockets a été introduite dans les distributions de Berkeley (un fameux système de type UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code), c'est la raison pour laquelle on parle parfois de sockets BSD (Berkeley Software Distribution).

Il s'agit d'un modèle permettant la communication inter processus (IPC - Inter Process Communication) afin de permettre à divers processus de communiquer aussi bien sur une même machine qu'à travers un réseau TCP/IP.

La communication par socket est souvent comparée aux communications humaines. On distingue ainsi deux modes de communication :

  • Le mode connecté (comparable à une communication téléphonique), utilisant le protocole TCP. Dans ce mode de communication, une connexion durable est établie entre les deux processus, de telle façon que l'adresse de destination n'est pas nécessaire à chaque envoi de données.
  • Le mode non connecté (analogue à une communication par courrier), utilisant le protocole UDP. Ce mode nécessite l'adresse de destination à chaque envoi, et aucun accusé de réception n'est donné.

Les sockets sont généralement implémentés en langage C, et utilisent des fonctions et des structures disponibles dans la librairie <sys/socket.h>.

Position des sockets dans le modèle OSI

Les sockets se situent juste au-dessus de la couche transport du modèle OSI (protocoles UDP ou TCP), elle-même utilisant les services de la couche réseau (protocole IP / ARP).

Modèle des sockets Modèle OSI
Application utilisant les sockets Application
Présentation
Session
UDP/TCP Transport
IP/ARP Réseau
Ethernet, X25, ... Liaison
Physique


Dernière modification le mardi 14 octobre 2008 à 17:40:35.Ce document intitulé « Programmation réseau - Les sockets » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Meilleures réponses pour « Programmation réseau Les sockets » dans :
Ressources programmation système Linux VoirVoici quelques liens qui vous permettront de vous aider à vous débrouiller avec la programmation système sous Linux. Tutoriels Page de M. Billaud (fr) Un cours/tutoriel sur la programmation système et réseau sous Unix. Très complet. Cours de...
Sécuriser ses réseaux professionnels VoirSécuriser ses réseaux professionnels Virus, spyware, spam des milliers de programmes néfastes sont aux portes du réseau informatique de votre entreprise et de votre ordinateur professionnel. Qui sont-ils et comment bloquer définitivement leurs...
Télécharger Free Virtual Serial Ports Emulator VoirPour les utilisateurs d'un même réseau ou même sur un seul ordinateur, parfois un appareil peut être sollicité plus d'une fois par plusieurs applications. Free Virtual Serial Ports Emulator ou VPSE est un programme destine aux ingénieurs...
Créer un réseau local VoirPourquoi mettre en place un réseau local? Lorsque vous disposez de plusieurs ordinateurs, il peut être pratique de les connecter ensemble afin de créer un réseau local (en anglais LAN, abréviation de Local Area Network). La mise en place d'un tel...
Technicien réseau VoirTechnicien réseau Le technicien réseau a pour mission d'intervenir sur les équipements ou le câblage du réseau afin d'assurer une qualité de service optimale aux utilisateurs. Dans les grandes entreprises, le technicien réseau pourra intervenir...