Quando dois programas desejam se comunicar pela rede, um programa pode abrir uma conexão TCP (um "soquete") com o outro. O primeiro programa precisa saber o endereço IP do segundo computador e a porta na qual o programa está escutando.
No Linux, quando dois programas no mesmo computador desejam se comunicar, eles ainda podem abrir uma conexão TCP. Mas eles também podem abrir uma conexão por meio de um "arquivo de soquete". O Linux torna a API de arquivo de soquete bastante semelhante à API de TCP, portanto, não é grande coisa atualizar um programa que já se comunica pela rede via TCP para suportar a comunicação também por meio de arquivos de soquete. Os arquivos de soquete são mais rápidos que o TCP, mas só funcionam quando os dois programas estão no mesmo computador.