Programmation réseau - Les sockets

Septembre 2015

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 :


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.
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 socketsModèle OSI
Application utilisant les socketsApplication
Présentation
Session
UDP/TCPTransport
IP/ARPRéseau
Ethernet, X25, ...Liaison
Physique
Pour une lecture illimitée hors ligne, vous avez la possibilité de télécharger gratuitement cet article au format PDF :
Programmation-reseau-les-sockets .pdf

Réalisé sous la direction de , fondateur de CommentCaMarche.net.


A voir également

Ce document intitulé «  Programmation réseau - Les sockets  » issu de CommentCaMarche (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.