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

ШнО»нь1М отличием TCP от OOP является то, что на протокол TCP возложена допошитель- : пая задача—обеспечить надежную доставку сообщений, используя в качестве ос новы иена* д0ж№йдейгяграммныйпрогЬкол /я

На рис. 19.5 показаны сети, соединенные маршрутизаторами, на которых уста­новлен протокол IP. Установленные на конечных узлах протокольные модули TCP решают задачу обеспечения надежного обмена данными путем установле­ния между собой логических соединений. Благодаря логическому соединению TCP следит, чтобы передаваемые сегменты не были потеряны, не были продуб­лированы и пришли к получателю в том порядке, в котором были отправлены.


При установлении логического соединения модули TCP договариваются между собой о параметрах процедуры обмёна данными. В протоколе TCP каждая сто­рона соединения посылает противоположной стороне следующие параметры:

□ максимальный размер сегмента, который она готова принимать;

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

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

В результате переговорного процесса модулей TCP с двух сторон соединения определяются параметры соединения. Одни из них остаются постоянными в те­чение всего сеанса связи, а другие адаптивно изменяются. В частности, в зави­симости от загрузки буфера принимающей стороны, а также надежности работы сети динамически изменяется размер окна отправителя. Создание соединения означает также выделение операционной системой на каждой стороне соеди­нения определенных системных ресурсов: для организации буферов, таймеров, счетчиков. Эти ресурсы будут закреплены за соединением с момента создания и до момента разрыва.

Логическое TCP-соединение однозначно идентифицируется парой сокетоа..

Каждый сокет одновременно может участвовать в нескольких соединениях. Так, если (IPI, nl), (IP2, п2), (IP3, пЗ) — сокеты трех разных приложений, где IP1,

IP2, IP3 — их IP-адреса, a nl, п2, пЗ — номера их TCP-портов, то возможно обра­зование следующих соединений:

□ соединение 1 - {(IP2, n2), (IPI, nl)};

□ соединение 2 - {(IPI, nl), (IP3, пЗ)};

□ соединение 3 - {(IP2, n2), (IP3, пЗ)}.

На рис. 19.6 показаны соединения 1 и 3, образованные сокетом (IP2, п2).


А теперь рассмотрим на примере, как протокол TCP выполняет демультиплек­сирование. Пусть некий поставщик услуг оказывает услугу по веб-хостингу, то есть на его компьютере клиенты могут устанавливать свои веб-серверы. Веб-сер- вер основан на протоколе прикладного уровня HTTP, который, в свою очередь, использует протокол TCP. TCP ожидает запросы от веб-клиентов (браузеров), прослушивая хорошо известный порт 80.

На рис. 19.7 показан вариант хостинга с двумя веб-серверами — сервером www1. model.ru, имеющим IP-адрес IP1, и сервером www2.tour.ru с адресом IP2. К каж­дому из них может обращаться множество клиентов, причем клиенты могут одновременно работать как с сервером WWW1, так и с сервером WWW2. Рабо­та каждого клиента требует сохранения прочитанных страниц, параметров и настроек сеанса связи, то есть образования отдельного логического соединения. Такое соединение создается протоколом TCP для каждой пары клиент-сервер.

На рисунке показаны два браузера, имеющие соответственно сокеты (IPk, nk) и (IPm, nm). Пользователь браузера к обращается одновременно к серверам WWW1 и WWW2. Наличие отдельных соединений для работы с каждым из этих серве­ров гарантирует разделение информационных потоков — у пользователя нико- "та не возникает вопроса, каким сервером ему была послана та или иная стра­ница. Одновременно с пользователем браузера к с сервером WWW2 работает пользователь браузера т. И в этом случае отдельные логические соединения, в рамках которых идет работа обоих пользователей, позволяют изолировать их информационные потоки. На рисунке показаны буферы, количество которых определяется не числом веб-серверов и не числом клиентов, а числом логиче­ских соединений. Сообщения в эти буферы направляются в зависимости от зна­чений сокетов как отправителя, так и получателя.

wwwl.model.ru - IP1 www2.tour.ru - IP2 Браузеры Рис. 19.7. Демультиплексирование TCP на основе соединений

Таким образом, протокол TCP осуществляет демультиплексирование на основе соединений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: