Unix domän socket

En Unix-domänsocket aka UDS eller IPC-socket ( inter-process communication socket) är en datakommunikationsändpunkt för utbyte av data mellan processer som körs på samma värdoperativsystem. Den hänvisas också till av sin adressfamilj AF_UNIX . Giltiga sockettyper i UNIX-domänen är:

  • SOCK_STREAM (jämför med TCP ) – för ett strömorienterat uttag
  • SOCK_DGRAM (jämför med UDP ) – för en datagramorienterad socket som bevarar meddelandegränser (som på de flesta UNIX-implementationer är UNIX-domändatagramsockets alltid tillförlitliga och ordnar inte om datagram)
  • SOCK_SEQPACKET (jämför med SCTP ) – för en sekvenserad paketsocket som är anslutningsorienterad, bevarar meddelandegränser och levererar meddelanden i den ordning som de skickades

Unix-domänsocket är en standardkomponent i POSIX- operativsystem .

API :et för Unix-domänsockets liknar det för en Internet-socket , men snarare än att använda ett underliggande nätverksprotokoll, sker all kommunikation helt inom operativsystemets kärna . Unix-domänsockets kan använda filsystemet som adressnamn . (Vissa operativsystem, som Linux , erbjuder ytterligare namnutrymmen.) Processer refererar till Unix-domänsockets som filsysteminoder, två processer kan kommunicera genom att öppna samma socket.

Förutom att skicka data kan processer skicka filbeskrivningar över en Unix-domänsocketanslutning med hjälp av systemanropen sendmsg() och recvmsg() . Detta gör det möjligt för sändningsprocesserna att ge den mottagande processen åtkomst till en filbeskrivning till vilken mottagningsprocessen annars inte har åtkomst. Detta kan användas för att implementera en rudimentär form av kapacitetsbaserad säkerhet .

Se även

externa länkar