Quando due programmi vogliono comunicare tra loro in rete, un programma potrebbe aprire una connessione TCP (un "socket") con l'altro. Il primo programma deve conoscere l'indirizzo IP del secondo computer e la porta su cui è in ascolto il programma.
Su Linux, quando due programmi sullo stesso computer vogliono comunicare tra loro, possono comunque aprire una connessione TCP. Ma possono anche aprire una connessione tramite un "file socket". Linux rende l'API del file socket piuttosto simile all'API TCP, quindi non è un grosso problema aggiornare un programma che già comunica sulla rete tramite TCP per supportare anche la comunicazione tramite file socket. I file socket sono più veloci di TCP, ma funzionano solo quando entrambi i programmi si trovano sullo stesso computer.