Сетевые службы

Компьютерные сети предоставляют службы пользующимся ими хостам и процессам. Служба на основе соединения (conection-oriented service) моделируется так же, как в телефонной системе. Чтобы поговорить с кем-нибудь, вы берете телефонную трубку, набираете номер, разговариваете, а затем кладете трубку на место.
Точно так же для пользования сетевой службой на основе соединения обслуживаемый пользователь сначала устанавливает соединение, использует это соединение, а затем его освобождает. Важный аспект соединения заключается в том, что оно работает как телефон: отправитель помещает объекты (биты) на одном конце, а получатель берет их в том же порядке на другом конце.

В отличие от этого служба без установки соединения (connectionless service) моделируется наподобие почтовой системы. Каждое сообщение (письмо) несет в себе полный адрес доставки, и каждое такое сообщение направляется по маршруту по системе независимо от всех остальных. Как правило, когда два сообщения отправляются одному и тому же получателю, то первое посланное становится и первым полученным. Но может быть и так, что первое отправленное сообщение может задержаться и первым будет получено второе сообщение. В службе на основе соединения такое просто невозможно.

Каждая служба может характеризоваться качеством обслуживания (quality of service). Некоторые службы считаются надежными в том смысле, что они никогда не теряют данные. Обычно надежная служба реализуется за счет того, что получатель подтверждает получение каждого сообщения, отправляя назад специальный подтверждающий пакет (acknowledgement packet), чтобы отправитель был уверен, что его сообщение дошло до получателя. Процесс подтверждения вызывает издержки и паузы, необходимые для обнаружения потери пакета, которые замедляют работу.

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

все биты поступили без искажений и в том порядке, в каком они были отправлены. Вряд ли кто-нибудь из клиентов захочет иметь дело со службой, которая иногда допускает искажения или потери нескольких битов, даже если она работает намного быстрее всех остальных.

У надежной службы на основе соединения есть два немного различающихся варианта: последовательность сообщений и байтовый поток. В первом из них соблюдаются границы сообщений. При отправке двух сообщений по 1 Кбайт они поступают к получателю как два отдельных однокилобайтных сообщения и никогда не поступают как одно двухкилобайтное сообщение.

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

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

Но соединения требуются не всем приложениям. Например, для тестирования сети нужен лишь способ отправки одиночного пакета, имеющего высокую, но не гарантированную вероятность доставки. Ненадежная (в смысле не имеющая подтверждений) служба без установки соединения часто называется службой дейтаграмм (datagram service) по аналогии с телеграфной службой, также не предоставляющей подтверждений отправителю.

В отдельных ситуациях можно не устанавливать соединение для отправки одного короткого сообщения, но надежность играет не менее важную роль. Для таких приложений может быть предоставлена служба дейтаграмм с подтверждениями (acknowledged datagram service). Она похожа на отправку заказного письма с уведомлением о доставке. При возвращении уведомления отправитель будет абсолютно уверен, что письмо было доставлено по назначению, а не потеряно по дороге.

Рис. 8.29. Сетевые службы шести различных типов


Существует также служба запросов и ответов (request-reply service), при использовании которой отправитель посылает одиночную дейтаграмму, содержащую запрос, а в обратном сообщении получает ответ. Под эту категорию подпадает, например, запрос к локальной библиотеке о том, где говорят по-уйгурски. Запрос-ответ обычно используется для реализации обмена данными в клиент-серверной модели: клиент выдает запрос, а сервер на него отвечает. На рис. 8.29 приведена сводная таблица всех перечисленных ранее разновидностей служб.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Сетевые службы:

  1. ПРИЗЫВ РАБОТНИКА НА ВОЕННУЮ СЛУЖБУ ИЛИ НАПРАВЛЕНИЕ НА АЛЬТЕРНАТИВНУЮ (НЕВОЕННУЮ) СЛУЖБУ (П.3 Ч.1 СТ.36 КЗОТ)
  2. Рождение сетевой журналистики.
  3. Модель сетевого анализа коммуникационных сетей.
  4. Нет-мен или каково быть сетевым журналистом?
  5. 6. СИСТЕМА СМИ. ОСОБЕННОСТИ ИНФРАСТРУКТУРЫ ПЕЧАТНЫХ, ВЕЩАТЕЛЬНЫХ, СЕТЕВЫХ СМИ. ВЛИЯНИЕ ТЕХНОЛОГИЧЕСКИХ ОСОБЕННОСТЕЙ НА ПРОДУКТ ЖУРНАЛИСТСКОЙ ДЕЯТЕЛЬНОСТИ.
  6. СЛУЖБА ПСИХОЛОГИЧЕСКАЯ
  7. Государственная служба
  8. Воинская служба.
  9. Воинская служба.
  10. ГОСУДАРСТВЕННАЯ СЛУЖБА
  11. 19.3. Муниципальная служба
  12. СОЦИОЛОГИЧЕСКАЯ СЛУЖБА В РЕДАКЦИИ
  13. § 3. Государственная служба
  14. ШКОЛА: СЛУЖБА ПСИХОЛОГИЧЕСКАЯ
  15. ПРЕДПРИЯТИЕ ПРОМЫШЛЕННОЕ: СЛУЖБА ПСИХОЛОГИЧЕСКАЯ