Сетевые протоколы

У всех сетей имеются узкоспециализированные правила для отправляемых сообщений и возвращаемых на них ответов. При определенных обстоятельствах (например, при передаче файлов), когда сообщение отправляется от источника к месту назначения, из места назначения требуется отправка по обратному маршруту подтверждения, свидетельствующего о благополучном получении сообщения.
При других обстоятельствах (например, при использовании цифровой телефонии) подобных подтверждений не ожидается. Свод правил, по которым происходит обмен данными между взаимодействующими компьютерами, называется протоколом (protocol). Существует множество протоколов, включая протоколы обмена данными между маршрутизаторами, протоколы обмена данными между хостами и т. д. Более подробное рассмотрение компьютерных сетей и их протоколов дано в книге Computer Networks, 5/e (Tanenbaum and Wetherall, 2010).

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

Так как большинство распределенных систем используют Интернет в качестве основы для своей работы, ключевыми протоколами, используемыми этими системами, являются два главных интернет-протокола: IP и TCP. IP (Internet Protocol) — это протокол отправки дейтаграмм, согласно которому отправитель вводит в сеть дейтаграмму размером до 64 Кбайт и надеется, что она дойдет до получателя. При этом не дается никаких гарантий. По мере прохождения по сети Интернет дейтаграммы могут разбиваться на меньшие по размеру пакеты. Эти пакеты путешествуют независимо друг от друга, возможно, по разным маршрутам. Когда все составляющие прибывают к месту назначения, они собираются в нужном порядке и доставляются получателю.

В настоящее время используются две версии IP — v4 и v6. На сегодня доминирует v4, поэтому она и будет здесь рассмотрена, но все большее распространение получает v6. Каждый пакет v4 начинается с 40-байтного заголовка, содержащего кроме других полей 32-битный адрес источника и 32-битный адрес приемника. Они называются IP-адресами, которые формируют основу маршрутизации в Интернете. Согласно условиям, они записываются в виде четырех десятичных чисел в диапазоне от 0 до 255, разделенных точками, как в адресе 192.31.231.65. Когда пакет поступает на маршрутизатор, тот извлекает IP-адрес получателя и использует его для маршрутизации пакета.

Поскольку в дейтаграммах IP подтверждение не используется, то одного IP недостаточно для надежной связи по Интернету. Для предоставления надежной передачи данных поверх IP обычно накладывается другой протокол — TCP (Transmission Control Protocol — протокол управления передачей).

TCP использует IP для предоставления потоков, основанных на соединениях. Для использования TCP процесс сначала устанавливает соединение с удаленным процессом. Требуемый процесс определяется IP- адресом машины и номером порта на этой машине, который отслеживается процессами, заинтересованными в получении входящих соединений. Как только соединение будет установлено, байты просто закачиваются в соединение, при этом гарантируется, что они выйдут на другом конце без повреждений и в нужном порядке. При реализации TCP этой гарантии добиваются за счет использования порядковой нумерации и контрольных сумм, а также повторной передачи при получении пакетов с ошибками. Все это незаметно применяется к процессам отправки и получения данных. Для них очевидна лишь надежная связь между процессами, подобная каналу в системе UNIX.

Чтобы понять порядок взаимодействия всех этих протоколов, рассмотрим простейший случай с использованием очень короткого сообщения, не нуждающегося во фрагментации ни на каком уровне. Хост находится в сети Ethernet, подключенной к Интернету. Так что же происходит на самом деле? Пользовательский процесс генерирует сообщение и выдает системный вызов для его отправки по предварительно установленному TCP-соединению. Стек протоколов, находящийся в ядре, добавляет в начало сообщения TCP-заголовок, а затем IP-заголовок. Затем сообщение поступает к драйверу сети Ethernet, который добавляет Ethernet-заголовок, направляющий пакет к маршрутизатору в сети Ethernet. После чего этот маршрутизатор внедряет пакет в Интернет (рис. 8.30).


Чтобы установить соединение с удаленным хостом (или хотя бы отправить ему дейтаграмму), необходимо знать его IP-адрес. Поскольку оперировать списками с 32-битными адресами людям неудобно, была изобретена система под названием DNS (Domain Name System — система доменных имен), представляющая собой базу данных, которая отображает ASCII-имена хостов на их IP-адреса. Таким образом, появилась возможность воспользоваться DNS-именем star.cs.vu.nl вместо соответствующего ему IP-адреса 130.37.24.6. DNS-имена получили широкую известность благодаря адресам электронной почты Интернета, имеющим следующую форму: имя пользователя, символ @, а затем DNS-имя хоста (user-name@DNS-host-name). Такая система имен позволяет почтовой программе на отправляющем почту хосте вести поиск IP-адреса, принадлежащего хосту назначения в базе данных DNS, устанавливая TCP-соединение с фоновым процессом электронной почты на этом хосте, и отправлять сообщение в виде файла. Вместе с сообщением отправляется имя пользователя (user-name), чтобы можно было идентифицировать, в какой почтовый ящик следует поместить сообщение.

8.3.3.

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

Еще по теме Сетевые протоколы:

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