Доменный сокет Unix

редактировать
Сокет для обмена данными между процессами, выполняющимися в одной ОС; аналогичен Интернет-сокету, но все коммуникации происходят в одной ОС

A сокет домена Unix или IPC-сокет (межпроцессное взаимодействие сокет) - это данные конечная точка связи для обмена данными между процессами, выполняющимися в одной операционной системе хоста. Допустимые типы сокетов в домене UNIX:

  • SOCK_STREAM(сравните с TCP ) - для потокового сокета
  • SOCK_DGRAM(сравните с UDP ) - для сокета, ориентированного на дейтаграммы, который сохраняет границы сообщений (как и в большинстве реализаций UNIX, сокеты дейтаграмм домена UNIX всегда надежны и не меняют порядок датаграмм)
  • SOCK_SEQPACKET(сравните с SCTP ) - для сокета с последовательными пакетами, ориентированного на соединение, сохраняющего границы сообщений и доставляющего сообщения в том порядке, в котором они были отправлены

Функция сокетов домена Unix является стандартным компонентом POSIX операционные системы.

API для сокетов домена Unix аналогичен таковому для интернет-сокета, но вместо использования базового сетевого протокола вся связь происходит полностью в пределах операционной система ядро ​​. Сокеты домена Unix могут использовать файловую систему в качестве своего адреса пространство имен. (Некоторые операционные системы, например Linux, предлагают дополнительные пространства имен.) Процессы ссылаются на сокеты домена Unix как на файловую систему inodes, поэтому два процесса могут взаимодействовать, открывая один и тот же сокет.

Помимо отправки данных, процессы могут отправлять файловые дескрипторы через соединение сокета домена Unix, используя sendmsg ()и recvmsg ()системные вызовы. Это позволяет отправляющим процессам предоставлять принимающему процессу доступ к файловому дескриптору, к которому принимающий процесс в противном случае не имеет доступа. Это можно использовать для реализации элементарной формы безопасности на основе возможностей. Например, это позволяет сканеру Clam AntiVirus работать как непривилегированный демон в Linux и BSD, но при этом читать любой файл, отправленный в сокет домена Unix демона..

См. Также
Ссылки
Внешние ссылки

Последняя правка сделана 2021-06-20 14:18:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте