Soquetes de domínio UNIX são um método pelo qual os processos no mesmo host podem se comunicar. A comunicação é bidirecional com soquetes de fluxo e unidirecional com soquetes de datagrama.
Soquetes de domínio UNIX usam o sistema de arquivos como espaço de nome de endereço, ou seja, em vez de identificar um servidor por um endereço IP e porta, um soquete de domínio UNIX é conhecido por um nome de caminho. este significa que você pode usar as permissões de arquivo do UNIX para controlar o acesso à comunicação com eles. Ou seja, você pode limitar os outros processos que podem se conectar ao daemon - talvez um usuário possa, mas o servidor web não pode, ou algo parecido. Com soquetes IP, a capacidade de se conectar ao seu daemon é exposta o sistema atual, o que significa que qualquer pessoa pode se conectar ao seu soquete, para que medidas adicionais possam ser tomadas para a segurança. Por outro lado, você obtém transparência de rede.
Com o UNIX soquetes de domínio, você pode realmente recuperar a credencial do processo que criou o socket remoto, e usa isso para controle de acesso também, o que pode ser bastante conveniente em sistemas multiusuários.
Os sockets de domínio UNIX têm conhecimento explícito em que estão sendo executados o mesmo sistema. Eles evitam os interruptores de contexto extras e nenhuma soma de verificação é calculada, cabeçalhos são inseridos, nenhum roteamento é executado, etc. acesso ao buffer de soquete remoto, eles também podem fornecer diretamente feedback para o remetente quando ele está preenchendo, ou mais importante, esvaziar, em vez de ter a sobrecarga de explícito reconhecimento e mudanças na janela. A única parte da funcionalidade que Os sockets de domínio UNIX não fornecem que o TCP faça dados fora da banda .