Socket
Un socket est un point de terminaison de communication réseau identifié par (protocole, IP locale, port local, IP distante, port distant), servant d'interface entre les couches application et transport.
Objectif
Donne aux applications un point de communication abstrait qui masque les détails du protocole sous-jacent.
Mécanisme
L'API socket : socket() crée, bind() attribue une adresse, listen() met un serveur en écoute, accept() prend une connexion, connect() appelle depuis le client, send()/recv() transfèrent les données et close() ferme. Les sockets TCP ont une machine à états ; UDP est sans connexion.
Cas d’usage
- Serveurs et clients réseau
- Connexions aux bases de données
- Communication WebSocket
- Sockets de domaine Unix (IPC local)
Exemples
- entrée
(TCP, 0.0.0.0:8080, client:1234)OutputOne connected TCP socketThe five-tuple
Erreurs courantes
- Unclosed sockets exhaust available ports
- Use SO_REUSEADDR or close sockets promptly
Termes associés
Port
Un port est une adresse de 16 bits de la couche transport (0-65535) qui distingue plusieurs applications réseau sur un même hôte ; combiné à l'adresse IP, il forme un socket. GLOSSAIRE
TCP
TCP (Transmission Control Protocol) est un protocole de transport orienté connexion, fiable et ordonné ; il établit les connexions par poignée de main en trois temps et fournit un contrôle de flux à fenêtre glissante et des acquittements basés sur ACK. GLOSSAIRE
UDP
UDP (User Datagram Protocol) est un protocole de transport sans connexion, non fiable et non ordonné, à faible surcoût et latence minimale, adapté au trafic temps réel et à la diffusion. GLOSSAIRE
IP Address
Une adresse IP est l'identifiant numérique attribué à une interface réseau — 32 bits pour IPv4 (quatre octets décimaux) et 128 bits pour IPv6 (huit groupes hexadécimaux) — utilisé pour l'adressage réseau. GLOSSAIRE