Socket

Een socket is het eindpunt van een netwerkverbinding: de combinatie van IP-adres, poort en protocol waarmee een proces communiceert. Een verbinding bestaat altijd uit twee sockets — één aan elke kant.

Hoe een verbinding eruitziet

93.184.216.34:443 ↔ 192.168.1.10:52814 — de server luistert op een vaste, bekende poort (443), de client krijgt een willekeurige hoge poort toegewezen. Die vier waarden plus het protocol maken elke verbinding uniek.

Soorten

TypeProtocolGebruik
Stream socketTCPBetrouwbare verbindingen (web, SSH)
Datagram socketUDPLosse pakketten (DNS, streaming)
Unix domain socketProcessen op dezelfde machine

Voor een proces is een socket gewoon een file descriptor: lezen en schrijven werkt zoals bij een bestand.

Sockets bekijken

ss -tlnp            # luisterende TCP-sockets met proces
ss -tn              # actieve TCP-verbindingen

Een server die niet start met "Address already in use" probeert een socket te openen op een poort die al bezet is.

Zie ook

  • poort — het poortnummer in de socket
  • tcp en udp — de transportprotocollen
  • unix-socket — sockets zonder netwerk
  • file-descriptor — hoe processen sockets aanspreken
  • ss — sockets inspecteren
netwerklinux