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, så 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
- The Single UNIX Specification , Version 4 från The Open Group – System Interfaces Reference,
- The Single UNIX Specification , Version 4 från The Open Group – System Interfaces Reference,
- The Single UNIX Specification , Version 4 från The Open Group – System Interfaces Reference,
- Linux Programmerarmanual – Bibliotekets funktioner –
- ucspi-unix , UNIX-domänsocket klient-server kommandoradsverktyg
- Unix-uttag vs Internet-uttag
- Unix Sockets - Beejs guide till Unix IPC