>> Technologie Électronique >  >> Téléphones >> Systèmes de conférence

Que sont les sockets et ports en réseau ? La plomberie de la communication Internet

Sockets et ports sont la couche d'adressage qui permet à plusieurs apps de partager une connexion réseau. Voici le modèle mental.

Socket = Poignée d'extrémité

Un socket est un objet géré par l'OS représentant une extrémité d'un canal de communication bidirectionnel. Pensez : une prise téléphone au mur — c'est l'interface, pas la conversation.

  • Créé par l'app via syscall (socket()).
  • Lié à IP + port (local) et connecté à IP distante + port.
  • Identifié par descripteur de fichier (entier) dans le processus.
  • Supporte flux (TCP) ou datagrammes (UDP).

Port = Numéro de canal virtuel

Un port (0–65535) est une sous-adresse logique sur une IP. Il distingue les services sur le même hôte.

  • Bien connus (0–1023) : HTTP 80, HTTPS 443, SSH 22, DNS 53, SMTP 25.
  • Enregistrés (1024–49151) : MySQL 3306, PostgreSQL 5432, RDP 3389.
  • Éphémères (49152–65535) : Côté client auto-assignés pour connexions sortantes.

Comment ils marchent ensemble

Tuple = (IP source, port source, IP dest, port dest, protocole) identifie unique une connexion.

  • Serveur : bind(0.0.0.0, 443) → listen() → accept() crée nouveau socket par client.
  • Client : connect(dst_ip, 443) → OS choisit port source éphémère.
  • Multiples clients → même port serveur, ports source différents = multiplexage.

Port Forwarding (NAT)

Routeur mappe WAN_IP:port_ext → LAN_IP:port_int. Permet entrant vers serveur interne.

Analogie

  • IP = adresse bâtiment
  • Port = numéro appartement
  • Socket = la porte + interphone réelle (une par conversation)
  • Protocole = langue parlée (TCP = enregistré, fiable ; UDP = crie-et-espère)

Sockets sont l'API ; ports sont l'espace de noms. Les deux essentiels.

Systèmes de conférence