Каково различие между сокетом Unix и сокетом TCP/IP?

Хорошо, для пути server.com/private/public:

server.com/private/.htaccess

AuthType Basic
AuthName "Private, keep out."
Require...

server.com/private/public/.htaccess

Allow From All
Satisfy Any

Ключ здесь, 'Удовлетворяют Любого' который ORs требования от восходящего потока вместе. 'Удовлетворите, Все' являются значением по умолчанию.

126
задан 23 May 2017 в 15:41
3 ответа

Сокет UNIX является механизмом межпроцессорного взаимодействия, который позволяет двунаправленный обмен данными между процессами, работающими на той же машине.

Сокеты IP (особенно сокеты TCP/IP) являются коммуникацией разрешения механизма между процессами по сети. В некоторых случаях можно использовать сокеты TCP/IP для разговора с процессами, работающими на том же компьютере (при помощи петлевого интерфейса).

Сокеты домена UNIX знают, что выполняются в той же системе, таким образом, они могут избежать некоторых проверок и операций (как маршрутизация); который делает их быстрее и легче, чем сокеты IP. Таким образом, если Вы планируете общаться с процессами на том же хосте, это - более оптимальный вариант, чем сокеты IP.

Править: Согласно комментарию Nils Toedtmann: сокеты домена UNIX подвергаются полномочиям файловой системы, в то время как сокетами TCP можно управлять только на уровне фильтра пакетов.

199
ответ дан 28 November 2019 в 19:19

Можно перечислить собственную машину локальные сокеты Unix со следующей командой:

netstat -a -p --unix

Развлекайтесь!

29
ответ дан 28 November 2019 в 19:19

В чем разница между сокетом Unix и сокетом TCP / IP?

Сокет TCP / IP используется для связи в сетях TCP / IP. Подключенный сокет TCP идентифицируется комбинацией локального IP-адреса, локального порта, удаленного IP-адреса и удаленного порта. Слушающий TCP-сокет идентифицируется локальным портом и, возможно, локальным IP-адресом. AIUI, по крайней мере, на сокетах TCP / IP Linux всегда приводит к генерации и декодированию пакетов TCP / IP, даже если клиент и сервер находятся на одной машине.

Доменный сокет unix (иногда сокращается до сокета unix) на другая рука работает на одной машине. Слушающие сокеты находятся в иерархии файловой системы, и доступ к ним может контролироваться разрешениями файловой системы.

Кроме того, процесс, принимающий соединение на сокете Unix, может определить идентификатор пользователя процесса, который соединяется. Это может избежать необходимости в этапе аутентификации. Вместо того, чтобы генерировать пароль для вашего сервера базы данных и включать его копию в код вашего веб-приложения, вы можете просто сообщить серверу базы данных, что пользователь, запускающий веб-приложение, имеет доступ к соответствующей учетной записи пользователя в базе данных.


TCP-сокеты обрабатываются от Unix?

Конечно

сокеты TCP являются частью спецификации протокола TCP

Спецификации интернет-протокола имеют тенденцию касаться только того, что происходит в сети, спецификация TCP содержит определение Socket, но это определение не так же, как этот термин используется в «API сокетов».

«API сокетов», как мы знаем, был введен BSD, но позже был скопирован повсюду и включен как часть стандарта posix. Базовые вещи для сокетов TCP и UDP, как правило, одинаковы на разных платформах, но более сложные вещи и вещи, которые взаимодействуют с другими частями ОС, варьируются, например, в unix-подобных системах сокет идентифицируется дескриптором файла и может должны быть прочитаны / записаны файловыми API, это не относится к Windows.

Некоторые расширения API сокетов были задокументированы в rfcs, но эти RFC являются только «информационными».

или какой-либо протокол может использовать IP-сокеты?

Когда приложение явно создает сокет с помощью функции «сокет» (сокеты также создаются функцией accept), оно передает три параметра: «домен», «тип» и «протокол». Между ними эти три параметра могут использоваться для выбора множества различных типов розеток.

  • домен выбирает семейство используемых протоколов / адресов, например AF_INET для ipv4, AF_INET6 для ipv6, AF_Unix для путей файловой системы unix и т. Д. Тип
  • выбирает семантику связи, основными из которых являются дейтаграмма и поток, но есть и другие более специализированные типы.
  • протокол выбирает протокол для использования, если он установлен на 0, будет использоваться протокол по умолчанию для комбинации домена и типа.
12
ответ дан 28 November 2019 в 19:19

Теги

Похожие вопросы