Gniazdo domeny Unix

Gniazdo domeny Unix, czyli gniazdo UDS lub IPC ( gniazdo komunikacji międzyprocesowej ) to punkt końcowy komunikacji danych służący do wymiany danych między procesami działającymi w tym samym systemie operacyjnym hosta. Jest również określany przez swoją rodzinę adresów AF_UNIX . Poprawne typy gniazd w domenie UNIX to:

  • SOCK_STREAM (porównaj z TCP ) – dla gniazda zorientowanego strumieniowo
  • SOCK_DGRAM (porównaj z UDP ) - dla gniazda zorientowanego na datagram, które zachowuje granice komunikatów (jak w większości implementacji UNIX, gniazda datagramowe domeny UNIX są zawsze niezawodne i nie zmieniają kolejności datagramów)
  • SOCK_SEQPACKET (porównaj z SCTP ) - dla gniazda z sekwencjonowanymi pakietami, które jest zorientowane na połączenie, zachowuje granice wiadomości i dostarcza wiadomości w kolejności, w jakiej zostały wysłane

Funkcja gniazd domeny Unix jest standardowym składnikiem systemów operacyjnych POSIX .

Interfejs API gniazd domeny Unix jest podobny do gniazda internetowego , ale zamiast korzystać z bazowego protokołu sieciowego, cała komunikacja odbywa się w całości w jądrze systemu operacyjnego . Gniazda domeny Unix mogą używać systemu plików jako przestrzeni nazw adresów . (Niektóre systemy operacyjne, takie jak Linux , oferują dodatkowe przestrzenie nazw.) Procesy odwołują się do gniazd domeny Unix jako i- węzły systemu plików , więc dwa procesy mogą komunikować się, otwierając to samo gniazdo.

Oprócz wysyłania danych, procesy mogą wysyłać deskryptory plików przez połączenie gniazda domeny Unix za pomocą wywołań systemowych sendmsg() i recvmsg() . Pozwala to procesom wysyłającym przyznać procesowi odbierającemu dostęp do deskryptora pliku, do którego proces odbierający nie ma dostępu w inny sposób. Można to wykorzystać do zaimplementowania podstawowej formy zabezpieczeń opartych na możliwościach .

Zobacz też

Linki zewnętrzne