Глава 15 Доменные протоколы Unix
Глава 15
Доменные протоколы Unix
15.1. Введение
Доменные протоколы Unix — это не набор протоколов, а способ связи клиентов и серверов на отдельном узле, использующий тот же API, который используется для клиентов и серверов на различных узлах, — сокеты или XTI. Доменные протоколы Unix представляют альтернативу методам IPC (Interprocess Communications — взаимодействие процессов), которым посвящен второй том[2] этой серии, применяемым, когда клиент и сервер находятся на одном узле. Подробности действительной реализации доменных сокетов Unix в ядре, происходящем от Беркли, приводятся в третьей части [112].
В домене Unix предоставляются два типа сокетов: потоковые (аналогичные сокетам TCP) и дейтаграммные (аналогичные сокетам UDP). Хотя предоставляется также и символьный сокет, но его семантика никогда не документировалась, он не используется никакой из известных автору программ и не определяется в POSIX.
Доменные сокеты Unix используются по трем причинам.
1. В реализациях, происходящих от Беркли, доменные сокеты Unix часто вдвое быстрее сокетов TCP, когда оба собеседника находятся на одном и том же узле [112, с. 223–224]. Есть приложение, которое использует это преимущество: X Window System. Когда клиент X11 запускается и открывает соединение с сервером X11, клиент проверяет значение переменной окружения DISPLAY, которая задает имя узла сервера, окно и экран. Если сервер находится на том же узле, что и клиент, клиент открывает потоковое соединение с сервером через доменный сокет Unix, в противном случае клиент открывает соединение TCP.
2. Доменные сокеты Unix используются при передаче дескрипторов между процессами на одном и том же узле. Пример мы приводим в разделе 15.7.
3. Более новые реализации доменных сокетов Unix предоставляют регистрационные данные клиента (идентификатор пользователя и идентификаторы группы) серверу, что может служить дополнительной проверкой безопасности. Мы покажем это в разделе 15.8.
Адреса протоколов, используемые для идентификации клиентов и серверов в домене Unix, — это полные имена в обычной файловой системе. Вспомните, что IPv4 использует комбинацию 32-разрядных адресов и 16-разрядных номеров портов для своих адресов протоколов, а IPv6 для своих адресов протоколов использует комбинацию 128-разрядных адресов и 16-разрядных номеров портов. Эти полные имена не являются обычными именами файлов Unix: в общем случае мы не можем читать из этих файлов или записывать в них. Это может делать только программа, связывающая полное имя с доменным сокетом Unix.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Осуществляем кросс-доменные запросы
Осуществляем кросс-доменные запросы Даже при небольшом опыте работы с AJAX уже должно было возникнуть закономерное возражение: «Это не будет работать из-за кроссдоменной безопасности» (для предотвращения XSS-атак). Давайте рассмотрим и этот вопрос.Для обеспечения
Глава 1. Работа в операционной системе UNIX
Глава 1. Работа в операционной системе UNIX Сегодня UNIX используется на самых разнообразных аппаратных платформах — от персональных рабочих станций до мощных серверов с тысячами пользователей. И прежде всего потому, что UNIX — это многозадачная многопользовательская
Глава 2 Среда программирования UNIX
Глава 2 Среда программирования UNIX Одной из целей, которые изначально ставились перед разработчиками UNIX, являлось создание удобной среды программирования. Во многом это справедливо и сегодня.Разговор в данной главе пойдет о программировании в UNIX. Может показаться, что
Глава 6 Поддержка сети в операционной системе UNIX
Глава 6 Поддержка сети в операционной системе UNIX Сегодня изолированный компьютер имеет весьма ограниченную функциональность. Дело даже не в том, что пользователи лишены возможности доступа к обширным информационным и вычислительным ресурсам, расположенным на
Глава 1 UNIX для начинающих
Глава 1 UNIX для начинающих Что такое UNIX? В узком смысле слова это ядро операционной системы разделения времени, т.е. программа, которая распоряжается ресурсами вычислительной машины и предоставляет их пользователям. Она дает пользователям возможность запускать свои
Глава 7 Системные вызовы в UNIX
Глава 7 Системные вызовы в UNIX В настоящей главе мы рассмотрим самый низкий уровень взаимодействия с операционной системой UNIX системные вызовы. Они являются входами в ядро. Эти средства предоставляются операционной системой; все остальные средства построены на их
Доменные адреса
Доменные адреса Доменные адреса компьютеров выглядят примерно так: www.ivan.petrov.ru.Таким образом, адрес компьютера является составным, и каждая его часть называется сегментом. Крайний правый сегмент (в данном случае ш) называется доменом первого уровня, следующий (справа
Глава 11 Получение почты: протоколы POP и IMAP
Глава 11 Получение почты: протоколы POP и IMAP Электронная почта — одна из наиболее популярных служб Internet. Большинство пользователей глобальной сети ежедневно прибегают к ее услугам. С ее помощью можно одинаково просто послать сообщение сотруднику, работающему за соседним
Глава 5 Модель сетевого взаимодействия и основные сетевые протоколы
Глава 5 Модель сетевого взаимодействия и основные сетевые протоколы Если вы были последовательны, то уже успели познакомиться с основными типами и топологиями сетей, а также сетевыми стандартами. Как и любая другая область жизни и работы человека, все действия находятся
4.4.3. Доменные гнезда (sockets)
4.4.3. Доменные гнезда (sockets) Гнезда - это соединения между процессами, которые позволяют им взаимодействовать, не подвергаясь влиянию других процессов. Вообще гнезда (и взаимодействие программ при помощи гнезд) играют очень важную роль во всех Unix-системах, включая и Linux: они
Глава 8. Wi-Fi для Unix
Глава 8. Wi-Fi для Unix Количество беспроводных функций для пользователей различных версий Unix является ограниченным, но они все же существуют. Мир драйверов для беспроводных адаптеров и сетевого программного обеспечения для систем Unix не так велик, как для Linux, но здесь
§ 68. Доменные имена по-русски
§ 68. Доменные имена по-русски 8 апреля 2001Некоторое время назад у китайцев появилась возможность регистрировать доменные имена по-китайски. Недавно о похожей услуге объявила компания РБК. Она предлагает регистрировать домены по-русски в зоне. com[8].Пожалуй, идея
Первые шаги с UNIX (глава для начинающих)
Первые шаги с UNIX (глава для начинающих) O В этой главе:O Оболочки - что это такое?O Краткая история оболочек UNIXO Как узнать какая оболочка выполняется в данный моментO Как узнать, какие оболочки установлены на компьютереO Как просмотреть список файловO Немного о правах
Unix-строки (чтение и запись Unix-файлов)
Unix-строки (чтение и запись Unix-файлов) Данный модуль позволяет читать и записывать файлы формата Unix.unit StreamFile;interfaceUses SysUtils;Procedure AssignStreamFile(var f: text; FileName: String);implementationConst BufferSize = 128;Type TStreamBuffer = Array[1..High(Integer)] of Char; TStreamBufferPointer = ^TStreamBuffer; TStreamFileRecord = Record Case Integer Of 1: ( Filehandle: Integer; Buffer: