Глава 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.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Осуществляем кросс-доменные запросы

Из книги Разгони свой сайт автора Мациевский Николай

Осуществляем кросс-доменные запросы Даже при небольшом опыте работы с AJAX уже должно было возникнуть закономерное возражение: «Это не будет работать из-за кроссдоменной безопасности» (для предотвращения XSS-атак). Давайте рассмотрим и этот вопрос.Для обеспечения


Первые шаги с UNIX (глава для начинающих)

Из книги Техника сетевых атак автора Касперски Крис

Первые шаги с UNIX (глава для начинающих) O В этой главе:O Оболочки - что это такое?O Краткая история оболочек UNIXO Как узнать какая оболочка выполняется в данный моментO Как узнать, какие оболочки установлены на компьютереO Как просмотреть список файловO Немного о правах


4.4.3. Доменные гнезда (sockets)

Из книги Домашние и офисные сети под Vista и XP автора Ватаманюк Александр Иванович

4.4.3. Доменные гнезда (sockets) Гнезда - это соединения между процессами, которые позволяют им взаимодействовать, не подвергаясь влиянию других процессов. Вообще гнезда (и взаимодействие программ при помощи гнезд) играют очень важную роль во всех Unix-системах, включая и Linux: они


Глава 5 Модель сетевого взаимодействия и основные сетевые протоколы

Из книги Советы по Delphi. Версия 1.0.6 автора Озеров Валентин

Глава 5 Модель сетевого взаимодействия и основные сетевые протоколы Если вы были последовательны, то уже успели познакомиться с основными типами и топологиями сетей, а также сетевыми стандартами. Как и любая другая область жизни и работы человека, все действия находятся


Unix-строки (чтение и запись Unix-файлов)

Из книги Wi-Fi. Беспроводная сеть автора Росс Джон

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:


Глава 8. Wi-Fi для Unix

Из книги Сетевые средства Linux автора Смит Родерик В.

Глава 8. Wi-Fi для Unix Количество беспроводных функций для пользователей различных версий Unix является ограниченным, но они все же существуют. Мир драйверов для беспроводных адаптеров и сетевого программного обеспечения для систем Unix не так велик, как для Linux, но здесь


Глава 11 Получение почты: протоколы POP и IMAP

Из книги Ководство автора Лебедев Артём Андреевич

Глава 11 Получение почты: протоколы POP и IMAP Электронная почта — одна из наиболее популярных служб Internet. Большинство пользователей глобальной сети ежедневно прибегают к ее услугам. С ее помощью можно одинаково просто послать сообщение сотруднику, работающему за соседним


§ 68. Доменные имена по-русски

Из книги Интернет – легко и просто! автора Александров Егор

§ 68. Доменные имена по-русски 8 апреля 2001Некоторое время назад у китайцев появилась возможность регистрировать доменные имена по-китайски. Недавно о похожей услуге объявила компания РБК. Она предлагает регистрировать домены по-русски в зоне. com[8].Пожалуй, идея


Доменные адреса

Из книги Операционная система UNIX автора Робачевский Андрей М.

Доменные адреса Доменные адреса компьютеров выглядят примерно так: www.ivan.petrov.ru.Таким образом, адрес компьютера является составным, и каждая его часть называется сегментом. Крайний правый сегмент (в данном случае ш) называется доменом первого уровня, следующий (справа


Глава 1. Работа в операционной системе UNIX

Из книги UNIX — универсальная среда программирования автора Пайк Роб

Глава 1. Работа в операционной системе UNIX Сегодня UNIX используется на самых разнообразных аппаратных платформах — от персональных рабочих станций до мощных серверов с тысячами пользователей. И прежде всего потому, что UNIX — это многозадачная многопользовательская


Глава 2 Среда программирования UNIX

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

Глава 2 Среда программирования UNIX Одной из целей, которые изначально ставились перед разработчиками UNIX, являлось создание удобной среды программирования. Во многом это справедливо и сегодня.Разговор в данной главе пойдет о программировании в UNIX. Может показаться, что


Глава 6 Поддержка сети в операционной системе UNIX

Из книги автора

Глава 6 Поддержка сети в операционной системе UNIX Сегодня изолированный компьютер имеет весьма ограниченную функциональность. Дело даже не в том, что пользователи лишены возможности доступа к обширным информационным и вычислительным ресурсам, расположенным на


Глава 1 UNIX для начинающих

Из книги автора

Глава 1 UNIX для начинающих Что такое UNIX? В узком смысле слова это ядро операционной системы разделения времени, т.е. программа, которая распоряжается ресурсами вычислительной машины и предоставляет их пользователям. Она дает пользователям возможность запускать свои


Глава 7 Системные вызовы в UNIX

Из книги автора

Глава 7 Системные вызовы в UNIX В настоящей главе мы рассмотрим самый низкий уровень взаимодействия с операционной системой UNIX системные вызовы. Они являются входами в ядро. Эти средства предоставляются операционной системой; все остальные средства построены на их