Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Функции протоколов транспортного уровня. Процедура клиент-сервер




Функции протокола TCP

Функции транспортного уровня реализуются только в конечных узлах и представляют собой следующие функции:

· разделение сообщений на дейтаграммы;

· сборка сообщений из дейтаграмм;

· установление виртуального соединения между отправителем и получателем;

· обеспечение заданного уровня услуг, включающих установление времени доставки пакета, типа канала связи, возможности сжатия данных с частичной потерей информации;

· управление сквозными соединениями в сети с помощью специальных команд.

Ориентированные на предварительное установление соединения транспортные протоколы, такие как ТСР (Transmission Control Protocol), делят общий поток данных приложения на раздельные логические потоки и могут дифференцированно распределять ресурсы между ними, что позволяет эффективно использовать общую пропускную способность.

Протокол ТСР – это дуплексный транспортный протокол с установлением соединения. Он описан в документе RFC 793.

Функциями протокола являются:

а) упаковка и распаковка пакетов на концах транспортного соединения. Поступающие к получателю данные буферизуются средствами протокола ТСР. Перед отправкой данные также буферизуются;

б) установление виртуального канала путем обмена запросом и подтверждением на соединение;

в) управление потоком, которое заключается в том, что получатель при подтверждении правильности передачи сообщает размер окна ответов, т.е. диапазон номеров пакетов, которые получатель готов принять;

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

Протокол TCP работает только в конечных узлах. Протокол TCP представляет собой программу, которая входит в ОС (представляет ее часть), а именно драйвер самого высокого уровня. Программа TCP постоянно находится в режиме ожидания, поэтому она называется «демон». Когда от прикладных программ приходят запросы на посылку сообщений, то TCP программа создает в памяти свою копию для обслуживания запроса, а сама опять переходит в режим ожидания. Число одновременно обслуживаемых запросов зависит от размера оперативной памяти компьютера.

 

Формат ТСР-пакета

Структура ТСР-пакета (сегмента) имеет следующий формат (рис. 10.1).


Минимальная длина заголовка составляет 20 байт. Такая большая величина обусловлена тем, что один и тот же заголовок используется протоколом для различных целей. Размер всего ТСР пакета с учетом заголовка, который будет потом добавлен протоколом IP, не может превышать 65,5 тыс.байт.

Для определения назначения большинства полей предназначены «Контрольные биты». При помощи этих бит можно установить режим работы протокола (синхронный или асинхронный), срочность данных, наличие данных для передачи и т.п.

Поле «Номер в последовательности» определяет но­мер первого байта в очереди (последовательности) байтов в текущем сег­менте. Исключение составляют случаи, когда установлен бит (флаг) синхронизации в поле «Контрольные биты». Тогда это поле обозначает начальный номер в по­следовательности INS и первый байт данных имеет номер в очереди INS+1.

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

Поле «Смещение данных» определяет количество 32-бит­ных слов в заголовке ТСР. Тем самым указывается начало поля данных. Заголовок протокола ТСР всегда заканчивается на 32-битной границе, даже если он содержит опции.

Поле «Резерв» должно быть заполнено нулями и предназна­чено для будущего расширения протокола.

Поле «Окно» содержит объявляемый размер окна ответов в байтах.

Поле «Контрольная сумма» рассчитывается по сегменту, при этом определяется 16-битное дополнение суммы всех 16-битных слов в заголовке и в поле данных. Если сегмент содержит нечетное количество байтов, то он будет дополнен нулями справа до образования 16-битного слова. Этот выравнивающий байт не передается с сегментом по сети, так как может быть «восстановлен» получателем. Контрольная сумма учи­тывает также 96-битный псевдозаголовок, который ставится перед заго­ловком протокола ТСР.

Псевдозаголовок включает следующие поля из заголовка протокола IP: IP-адреса отправителя и получателя, протокол и длину сегмента. С помощью добавления псевдозаголовка протокол ТСР защищает самого себя от ошибочной доставки протоколом IP. Так, если протокол IP доставляет сегмент, не предназначенный данному работающему приложению, то модуль протокола ТСР на принимающей стороне обнаружит некорректность доставки.

Поле «Указатель срочности» сообщает текущее значение указателя срочности. Эта положительная величина определяет смещение относительно номера в очереди данного сегмента. Этот указатель сообщает номер байта, следующего за срочными данными, то есть, начи­ная с этого байта, данные имеют обычный статус срочности. Поле исполь­зуется совместно с контрольным битом указания срочности в поле «Контрольные биты».

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

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

Некоторые поля в заголовке сегмента протокола ТСР могут быть использо­ваны при его дальнейшем развитии. «Номер в последовательности» и «Номер подтверждения» выравниваются по числу байтов в поле данных, а не по длине всего сегмента. Например, если сегмент содержит в поле «Номер в последо­вательности» значение 1000 и несет в поле данных 600 байт данных, то поле «Номер в последовательности» указывает на номер первого байта в поле дан­ных. Следующий (в логическом порядке) сегмент будет иметь в поле «Номер в последовательности» значение 1601. Протокол ТСР изначально логически ориентирован на работу с потоком данных. Он принимает байты от пользовательского приложения, группирует их, а затем распределяет по сегмен­там и формирует поток сегментов с нумерацией каждого байта.

 

Установление соединения в архитектуре клиент-сервер

 
 

Схема установления соединения в сетях с архитектурой “клиент-сервер” аналогична предыдущей, однако есть различия в начальной трехшаговой процедуре (рис 10.3 - рис. 11.2 КН, стр. 20):

· соединение устанавливается в два шага, а не в три;

· номер соединения ISN назначает только сервер;

· во время установления соединения возможна передача данных.

Здесь клиент командой ACTIVE-OPEN посылает запрос на соединение с указанием адреса сервера, времени жизни запроса (тайм-аута) и уровня секретности. Командой ACTIVE-OPEN-WITH-DATA можно сразу поместить в запрос данные. Если сервер готов к связи, он отвечает командой согласия OPEN-RECEIVED, в которой назначает номер соединения. Затем командой SEND посылает данные, а командой DELIVER подтверждается их получение. Разъединение выполняется обменом командами CLOSE и CLOSING.

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






Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 1135 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинайте делать все, что вы можете сделать – и даже то, о чем можете хотя бы мечтать. В смелости гений, сила и магия. © Иоганн Вольфганг Гете
==> читать все изречения...

2282 - | 2063 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.