Основы операционных систем. Практикум




Применение интерфейса сетевых


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

  1. Изменяется тип сокета, поэтому для его точной спецификации нужно задавать другие параметры в системном вызове socket().
  2. В различных семействах протоколов применяются различные адресные пространства для удаленных и локальных адресов сокетов. Поэтому меняется состав структуры для хранения полного адреса сокета, название ее типа, наименования полей и способ их заполнения.
  3. Описание типов данных и предопределенных констант будет находиться в других include-файлах, поэтому потребуется заменить include-файлы <netinet/in.h> и <arpa/inet.h> на файлы, относящиеся к выбранному семейству протоколов.
  4. Может измениться способ вычисления фактической длины полного адреса сокета и указания его максимального размера.

И все!!!

Схема работы TCP-сервера с параллельной обработкой запросов

Рис. 15-16.9.  Схема работы TCP-сервера с параллельной обработкой запросов

Давайте подробнее рассмотрим эти изменения на примере семейства UNIX Domain протоколов. Семейство UNIX Domain протоколов предназначено для общения локальных процессов с использованием интерфейса системных вызовов. Оно содержит один потоковый и один датаграммный протокол. Никакой сетевой интерфейс при этом не используется, а вся передача информации реально происходит через адресное пространство ядра операционной системы. Многие программы, взаимодействующие и с локальными, и с удаленными процессами (например, X-Windows), для локального общения используют этот стек протоколов.

Поскольку общение происходит в рамках одной вычислительной системы, в полном адресе сокета его удаленная часть отсутствует. В качестве адресного пространства портов – локальной части адреса – выбрано адресное пространство, совпадающее с множеством всех допустимых имен файлов в файловой системе.




Содержание  Назад  Вперед