Служба с установлением логического соединения

Отличительной особенностью службы с установлением логического соединения является то, что клиент и сервер перед передачей данных (например, сообщений электронной почты) сначала обмениваются специальными управляющими пакетами. Эта процедура, иногда называемая рукопожатием, позволяет сторонам подготовиться к процессу основного обмена. Говорят, что по окончании процедуры рукопожатия соединение между оконечными системами является установленным.

Интересно отметить, что процедура рукопожатия между хостами очень напоминает протокол взаимодействия (общения) между людьми, в этом случае обмен приветствиями на рис. 1.2 представляет собой аналог человеческой процедуры рукопожатия (хотя реального рукопожатия между двумя людьми может не быть). В случае web-взаимодействия, также представленного на рис. 1.2, процедуру рукопожатия реализуют первые два сообщения, а следующая пара сообщений — сообщение GET и ответное сообщение с файлом — содержат реальные данные и пересылаются только после успешного установления соединения.

12.png

Не удивительно, если у вас сразу же возникнет вопрос о том, что означает термин «логическое соединение» и чем логическое соединение отличается от «обычного» соединения. Термин «логическое» отражает два аспекта. Во-первых, об установленном соединении известно только оконечным системам; коммутаторы (то есть маршрутизаторы) функционируют, «не зная», какие оконечные системы они обслуживают. Во-вторых, соединение представляет собой не что иное, как совокупность буферов обмена, выделенных в памяти оконечных систем, а также переменных состояния. Ни буферы, ни переменные также не содержат никакой информации о том, каким образом будет осуществляться передача пакетов.

С логическим соединением связаны несколько важных задач: надежной передачи данных, контроля потока данных и контроля перегрузки. Под надежной передачей данных понимается передача, в ходе которой не допускаются потери или искажения данных. Надежная передача в Интернете обеспечивается при помощи механизмов подтверждений и повторных посылок. Для того чтобы представить процесс надежной передачи данных, рассмотрим следующую ситуацию. Пусть установлено соединение между оконечными системами А и В. Каждый раз при завершении приема очередного пакета данных от системы А система В посылает подтверждение о том, что пакет был успешно принят. В случае, если система А не получает подтверждения, она инициирует повторную посылку пакета. Контроль потока данных требуется для того, чтобы ни одна сторона не превысила установленную частоту (или скорость) передачи пакетов. Это необходимо потому, что оконечные системы могут иметь разные скорости передач и, следовательно, отсутствие контроля может привести к ошибкам.

В случае вероятности таких ошибок протокол вынуждает одну из сторон снизить скорость передачи пакетов. Как мы увидим в главе 3, контроль потока данных в Интернете осуществляется путем использования буферов на принимающей и передающей сторонах. Контроль перегрузки служит для предотвращения ситуаций взаимной блокировки передающих сторон. Когда маршрутизатор перегружен, возникает угроза переполнения его буферов и потери передаваемых пакетов. В Интернете эта проблема решается путем принудительного снижения частоты передачи пакетов в периоды перегрузки. Оконечные системы «узнают» о перегрузке по отсутствию подтверждений при передаче пакетов.

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

В Интернете протокол, использующий службу с установлением логического соединения, имеет название TCP (Transmission Control Protocol — протокол управления передачей). Первая версия TCP была определена в документе RFC 793. Как следует из сказанного ранее, протокол TCP решает три задачи: надежной передачи данных, контроля потока данных и контроля перегрузки. Обратим внимание на то, что приложения никак не связаны с механизмами функционирования TCP; другими словами, они «не знают», каким образом протокол решает поставленные перед ним задачи. Разумеется, для нас, в отличие от сетевых приложений, принципы работы TCP представляют значительный интерес, и мы займемся их детальным рассмотрением в другой главе.

Данная статья "Служба с установлением логического соединения" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

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

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "Служба с установлением логического соединения", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *