Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Логические соединения — основа надежности ТСР






 

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

Протокол ТСР устанавливает логические соединения между прикладными процессами, причем только между двумя процессами. ТСР-соединение яв­ляется дуплексным, то есть каждый из участников этого соединения может одновременно получать и отправлять данные.

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

· Номер порта. Клиенту уже известен номер порта сервера, который относится к хорошо известным портам и необходим для инициа­лизации соединения. В поле Source Port сообщений клиента, ад­ресованных серверу, передается временный номер порта, который будет подставляться в ответы сервера.

· Начальный порядковый номер байта, с которого она начинает отсчет потока данных в рамках данного соединения.

· Максимальный размер сегмента (MSS), который она готова принять.

· Максимальный объем данных (возможно несколько сегментов) которые она разрешает другой стороне передавать, даже если та еще не получила квитанцию на предыдущую порцию данных (размер окна).

 

Рис. 3. Процедура установления и разрыва логического соединения

 

Соединение устанавливается по инициативе клиентской части приложения. При необходимости выполнить обмен данными с серверной частью прило­жение-клиент обращается к нижележащему протоколу ТСР, который в ответ на это обращение посылает сегмент-запрос на установление соединения про­токолу ТСР, работающему на стороне сервера (рис. 3, а). В числе прочего в запросе содержится флаг SYN, установленный в 1.

Получив запрос, модуль ТСР на стороне сервера пытается создать «инфра­структуру» для обслуживания нового клиента. Он обращается к операци­онной системе с просьбой о выделении определенных системных ресурсов: для организации буферов, таймеров, счетчиков. Эти ресурсы закрепляются за соединением с момента создания и до момента разрыва. Если на сто­роне сервера все необходимые ресурсы были получены и все необходимые действия выполнены, то модуль ТСР посылает клиенту сегмент с флагами АСК и SYN.

В ответ клиент посылает сегмент с флагом АСК и переходит в состояние ус­тановленного логического соединения (состояние ESTABLISHED). Когда сервер получает флаг АСК, он также переходит в состояние ESTABLISHED. На этом процедура установления соединения заканчивается, и стороны мо­гут переходить к обмену данными.

Соединение может быть разорвано в любой момент по инициативе любой стороны. Для этого клиент и сервер должны обменяться сегментами FIN и АСК, в последовательности, показанной на рис. 3, б (здесь инициато­ром является клиент). Соединение считается закрытым по прошествии не­которого времени, в течение которого сторона инициатор убеждается, что его завершающий сигнал АСК дошел нормально и не вызвал никаких «аварий­ных» сообщений со стороны сервера.

ПРИМЕЧАНИЕ --------------------------------------------------------------------

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.