UNIX: разработка сетевых приложений - страница 12

Шрифт
Интервал

стр.

6.1TCP, использует функцию select
6.2TCP, использует функцию select и работает в пакетном режиме
8.3UDP/IPv4, зависимый от протокола
8.5UDP, проверяет адрес сервера
8.7UDP, вызывает функцию connect для получения асинхронных ошибок
14.2UDP, тайм-аут при чтении ответа сервера с использованием сигнала SIGALRM
14.4UDP, тайм-аут при чтении ответа сервера с использованием функции select
14.5UDP, тайм-аут при чтении ответа сервера с использованием опции сокета SO_RCVTIMEO
14.7TCP, использует интерфейс /dev/poll
14.8TCP, использует интерфейс kqueue
15.4Поток домена Unix, зависит от протокола
15.6Дейтаграмма домена Unix, зависит от протокола
16.1TCP, использует неблокируемый ввод-вывод
16.6TCP, использует два процесса (функцию fork)
16.14TCP, устанавливает соединение, затем посылает пакет RST
20.1UDP, широковещательный, ситуация гонок
20.2UDP, широковещательный, ситуация гонок
20.3UDP, широковещательный, для устранения ситуации гонок используется функция pselect
20.5UDP, широковещательный, для устранения ситуации гонок используются функции sigsetjmp и siglongmp
20.6UDP, широковещательный, для устранения ситуации гонок в обработчике сигнала используется IPC
22.4UDP, увеличение надежности протокола за счет применения повторной передачи, тайм-аутов и порядковых номеров
26.1TCP, использование двух потоков
27.4TCP/IPv4, задание маршрута от отправителя
27.5UDP/IPv6, задание маршрута от отправителя

Таблица 1.4. Различные версии эхо-сервера, рассматриваемые в данной книге

ЛистингОписание
5.1TCP/IPv4, зависимый от протокола
5.9TCP/IPv4, зависимый от протокола, корректно обрабатывает завершение всех дочерних процессов
6.3TCP/IPv4, зависимый от протокола, использует функцию select, один процесс обрабатывает всех клиентов
6.5TCP/IPv4, зависимый от протокола, использует функцию poll, один процесс обрабатывает всех клиентов
8.1UDP/IPv4, зависимый от протокола
8.14TCP и UDP/IPv4, зависимый от протокола, использует функцию select
14.6TCP, использует стандартный ввод-вывод
15.3Доменный сокет Unix, зависимый от протокола
15.5Дейтаграмма домена Unix, зависит от протокола
15.13Доменный сокет Unix, с передачей данных, идентифицирующих клиента
22.3UDP, печатает полученный IP-адрес назначения и имя полученного интерфейса, обрезает дейтаграммы
22.13UDP, связывает все адреса интерфейсов
25.2UDP, использование модели ввода-вывода, управляемого сигналом
26.2TCP, один поток на каждого клиента
26.3TCP, один поток на каждого клиента, машинонезависимая (переносимая) передача аргумента
27.4TCP/IPv4, печатает полученный маршрут от отправителя
27.6UDP/IPv4, печатает полученный маршрут от отправителя и обращает его
28.21UDP, использует функцию icmpd для получения асинхронных ошибок
Д.9UDP, связывает все адреса интерфейсов

1.7. Модель OSI

Распространенным способом описания уровней сети является предложенная Международной организацией по стандартизации (International Standards Organization, ISO) модель взаимодействия открытых систем (open systems interconnection, OSI). Эта семиуровневая модель показана на рис. 1.5, где она сравнивается со стеком протоколов Интернета.

Рис. 1.5. Уровни модели OSI и набор протоколов Интернета

Мы считаем, что два нижних уровня модели OSI соответствуют драйверу устройства и сетевому оборудованию, которые имеются в системе. Обычно нам не приходится беспокоиться об этих уровнях, за исключением того, что мы должны знать некоторые свойства канального уровня — например, что MTU (максимальная единица передачи) Ethernet, которая описывается в разделе 2.11, имеет размер 1500 байт.

Сетевой уровень управляется протоколами IPv4 и IPv6, оба они описываются в приложении А. Из протоколов транспортного уровня мы можем выбирать TCP, UDP и SCRIPT, они описываются в главе 2. На рис. 1.5 изображен разрыв между TCP и UDP; это означает, что приложение может обойти транспортный уровень и использовать IPv4 или IPv6 непосредственно. В таких случаях речь идет о символьных сокетах (raw socket), которые будут описаны в главе 28.

Три верхних уровня модели OSI соответствуют уровню приложений. Приложением может быть веб-клиент (браузер), клиент Telnet, веб-сервер, сервер FTP или любое другое используемое нами приложение. В случае протоколов Интернета три верхние уровня модели OSI разделяются очень редко.


стр.

Похожие книги