Socket

Un article de Wikipédia, l'encyclopédie libre.

Page d'aide sur l'homonymie Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.
Page d'aide sur l'homonymie Pour l’article homophone, voir Socquette.

Socket (qui en français signifie prise) est un terme informatique qui peut avoir plusieurs significations suivant s'il est utilisé dans le cadre logiciel ou matériel.

Sommaire

[modifier] Logiciel

Article détaillé : Berkeley sockets.

Dans le contexte des logiciels, on peut le traduire par « connecteur réseau »[1].

Apparu dans les systèmes UNIX, un socket est un élément logiciel qui est aujourd'hui répandu dans la plupart des systèmes d'exploitation. Il s'agit d'une interface logicielle avec les services du système d'exploitation, grâce à laquelle un développeur exploitera facilement et de manière uniforme les services d'un protocole réseau.

Il lui sera ainsi par exemple aisé d'établir une session TCP, puis de recevoir et d'expédier des données grâce à elle. Cela simplifie sa tâche car cette couche logicielle, de laquelle il requiert des services en appelant des fonctions, masque le nécessaire travail de gestion du réseau, pris en charge par le système. Le terme socket désigne en pratique chaque variable employée dans un programme afin de gérer l'une des sessions.

[modifier] Connectique

Article détaillé : Socket (processeur).

En connectique, les termes anglais socket et slot désignent un réceptacle. Ils sont souvent utilisés pour parler des réceptacles de processeur présents sur les cartes mères.

[modifier] Socket Réseaux

La notion de socket 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>.

[modifier] 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).

Sur les autres projets Wikimedia :

[modifier] Notes et références

  1. http://www.traduc.org/pipermail/traduc/2004-July/003002.html

[modifier] Lien externe

Ce document provient de « http://fr.wikipedia.org/wiki/Socket ».
Créer un livre