Транспортная служба

Back Оглавление

Для подключения главной вычислительной машины к сети коммутации пакетов необходимо иметь четыре уровня протоколов. СПД обеспечивает выполнение процедур для физического канала, управления доступом к каналу и процедур переноса пакетов. Три уровня, представленные в рекомендации Х25, являются примерами этих трех уровней протоколов. Четвертым уровнем является транспортный протокол с универсальным интерфейсом в сторону следующего верхнего уровня.

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

Понятие транспортной службы предполагает универсальный связной интерфейс, через который процессам предоставлялись бы средства, не зависящие от используемой среды передачи. Транспортный интерфейс может рассматриваться как самый верхний интерфейс транспортного протокола. Этот интерфейс является постоянным независимо от услуг, предоставляемых СПД. Сам протокол в значительной степени определяется этими услугами, поэтому он является средством, устраняющим расхождение между требующимися услугами и предоставляемыми средствами. В зависимости от используемой СПД функции транспортного протокола могут оказаться или тривиальными, или весьма сложными.
Назначение транспортной службы, состоит в организации единого для всей вычислительной сети интерфейса между процессами, работающим в любых сетях ЭВМ.

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

Транспортный интерфейс - правила взаимодействия процессов.

Рис.1. Транспортный интерфейс

Процессы, находящиеся в главной вычислительной машине, идентифицируются по заведенным в ней правилам. Для установления связи между удаленными процессами необходима некоторая схема общесетевой адресации. Каждый процесс должен идентифицироваться в сети единственным образом. Однако это не следует понимать так, что каждый процесс в сети имеет только единственное имя. На практике такой одноименный подход неэкономичен и нецелесообразен, а более предпочтительной является иерархическая схема адресации. При ее использовании процессы, находящиеся в различных главных вычислительных машинах, могут иметь одинаковые имена. Отличаться же друг от друга они будут сетевым адресом главной вычислительной машины. Если процессы идентифицируются в сети единственным образом, то они могут устанавливать между собой соединения и осуществлять связь посредством обмена сообщениями. Понятие соединения будет существовать в течение того периода времени, пока осуществляется связь между процессами. Пока функционируют процессы их соединение идентифицируется именами портов каждого процесса. Это является минимальным требованием к соединению, и мы можем образовывать более чем одно соединение для одной пары процессов, а также два независимых соединения через один и тот же порт процесса. Единственное ограничение состоит в том, что пара портов на двух сторонах соединения идентифицирует его единственным образом.Только что сказанное проиллюстрировано на рисунке 2. Три процесса А, В и С, образуют соединения через несколько своих портов. Процесс А через порт а1, участвует в двух соединениях с процессом В, а через порт а2 одновременно участвует в соединении с процессом В(а2, b3) и процессом С(a2, с1). Каждое соединение идентифицируется посредством пары портов, и, таким образом, адрес соединения можно выразить следующим путем: Адрес соединения = (порт 1, порт 2). В сети коммутации пакетов сообщение, передаваемое от одного процесса к другому, с которым он имеет соединение, переносит в явном или неявном виде адрес процесса-получателя и определяет таким методом соединение. Структура адреса имеет следующий вид:
Сеть — получатель; главная вычислительная машина—получатель; процесс—получатель; адрес соединения.

Рис.2. Межпроцессные соединения портов

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

Структура сообщений

Данные между процессами передаются через транспортный интерфейс в форме сообщений - последовательности байтов, ограничиваемой сверху достаточно большим значением, например 8 кбайт. Сообщение идентифицируется адресом порта местного процесса, передающего сообщение, адресом порта удаленного процесса, которому посылается сообщение, порядковым номером сообщения в сеансе связи и длиной в байтах. Эти сведения указываются в заголовке сообщения, формируемом и обрабатываемом транспортными службами вычислительной сети.

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

Примитивы транспортного интерфейса

Состав процедур, реализуемых транспортным протоколом для обеспечения транспортного интерфейса, представлен в таблице 1. В отношении использования процедур оба взаимодействующих процесса - местный и удаленный - равноправны, т. е. каждый из них может инициировать установление соединения, передачу и прием сообщений, разъединение и т. д. Указанные процедуры реализуются транспортными модулями систем — главных и терминальных ЭВМ и инициируются процессами с помощью операторов обращения к процедурам. Выполнение процедуры-оператора можно рассматривать как команду, интерпретируемую транспортной службой и исполняемую транспортной сетью. Когда удаленный процесс в качестве реакции на команду инициирует соответствующую процедуру транспортного интерфейса, действие удаленного процесса, определяемое этой процедурой, можно рассматривать как ответ.

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

  1. Формированию сообщений;
  2. Представлению их в пакетной форме для отправки в СПД;
  3. Сборке сообщений из поступающих пакетов;
  4. Интерпретации поступающих команд и сообщений-ответов в соответствии с процедурной характеристикой протокола.
В результате этого транспортная служба сети реализует процедуры транспортного интерфейса, перечисленные в таблице 1.

Таблица 1. Примитивы транспортного интерфейса
Класс Наименование Функция
Установление соединения и разъединение Ожидание (LISTEN) Подготовка к установлению соединения
Соединение (CONNECT)Установление соединения
Согласие (ACCEPT) Согласие на установление соединения
Отказ (REJECT) Отказ в установлении соединения
Отмена (CANSEL) Отмена ожидания
Разъединение (DISCONNECT) Разъединение
Разрыв (DESTORY) Неуправляемый разрыв соединения
Передача данных Передача (SENT) Выдача сообщения для удаленного процесса
Прием (RECEIVE) Готовность к приему сообщения
Отмена передачи (CANCELSENT) Отмена процедуры передачи
Отмена приема (CANCELRECEIVE) Отмена готовности к приему
Синхронизация Прерывание (INTERRUPT) Передача прерывания
Прием прерывания (CONINTERRUPT) Готовность к приему прерывания
Рестарт (RESET) Повторный старт
Дейтаграммная служба Передача дейтаграммы (SENTDATAGRAMM) Прием дейтаграммы (RECEIVEDATAGRAMM)
Передача дейтаграммы Готовность к приему дейтаграммы
Переключение Переключение (SWITCH) Изменение адреса местного процесса

Функции транспортного протокола.

  1. Функция сборки-разборки сообщений.
  2. Сопряжение процессов с сетью передачи данных с целью обеспечения их прозрачной передачи сообщений. Прозрачная передача сообщений не зависит от способов кодирования и от внутренней структуры сети.
  3. Обеспечение взаимодействия процессов при наличие сбоев в сети.
  4. Передача прикладному процессу целостных сообщений.
  5. Передача квитанции по заявке сообщения.
  6. Транспортный протокол может обеспечивать приоритетную передачу сообщений.
  7. Шифрование сообщения.
Функционирование транспортной службы.

Механизмы передачи данных:

  1. Механизм тайм-аута;
  2. Механизм циклической нумерации;
  3. Механизм кредитов.
Механизмы передачи данных имеют 3 фазы работы: соединения, передачи данных, разъединения.

Процедура соединения

В вычислительной сети должны существовать процессы, готовые взаимодействовать с процессами, создаваемыми пользователями. Готовность процесса к установлению соединения порождается процедурой “Ожидание”. В момент инициализации любой ЭВМ в ней должен быть активизирован по крайней мере один процесс, ожидающий установления соединения. Такого рода процессы порождаются командой “Ожидание”(LISTEN), в ответ на которую местная транспортная служба создает порт, связываемый с этим процессом, и отправляет ответ “Согласие”(ACCEPT).

Активизируемый процесс, например терминал, формирует команду “Соединение”(CONNECT), содержащую адрес процесса, с которым необходимо установить соединение. Этот адрес, являясь общесетевым, будет интерпретирован в адрес транспортного протокола, т. е. ЭВМ, и, если адресуемый процесс находится в состоянии ожидания, транспортная служба организует соединение между процессами по схеме, представленной на рисунке 2. Процесс, находящийся в состоянии ожидания, реагирует на попытку со стороны другого процесса установить соединение ответами “Согласие”(ACCEPT) или “Отказ”(REJECT) . При выдаче ответа “Согласие”(ACCEPT) оба процесса обмениваются сообщениями, необходимыми для построения блоков связи, идентифицирующих устанавливаемое соединение.

Блоки связи формируются в транспортных модулях на каждом конце соединения и содержат в себе следующие параметры соединения:

Порт местной TS
Состояние связи
Порт удаленной TS
Адрес местного процесса
Адрес удаленного процесса
Параметры услуг для связи
Размер передающего буфера
Размер приемного буфера
N(S) — номер следующего передаваемого сообщения
N(R) — номер следующего принимаемого сообщения
M(S) — максимальный номер передаваемого сообщения
M(R) — максимальный номер принимаемого сообщения

Фрагменты блоков связи изображены на рисунке 3. Соединение установлено, когда в местном и удаленном транспортных протоколах созданы блоки связи, идентифицирующие соединение. При организации соединения номера сообщений N(S) и N(R) устанавливаются в 0, а максимальные номера М(S) и M(R) должны быть равны по крайней мере 1.

Рис.3

Процедура передачи данных

Передача сообщений организуется на основе системы кредитов — разрешений на прием определенного числа сообщений Кредит характеризуется максимальным номером принимаемого сообщения M(R), и значение M(R) —N(R) определяет число сообщений, которое может принять транспортная служба. Кредиты передаются с командой “Прием”(RECEIVE), формируемой процессом на противоположном конце соединения. Эта команда переносит в удаленный модуль максимальный номер сообщения M(S), который может быть принят удаленным транспортным протоколом. Доставка сообщений производится процедурой “Передача”(SENT). Число реализуемых процедур “Передача” определяется имеющимся кредитом — наибольшим номером передаваемого сообщения М(S). Процедуры “Отмена передачи”(CANCELSENT) и “Отмена приема”(CANCELRECEIVE) аннулируют выполнение процедур “Передача” и “Прием”. Процедура “Отмена приема” изымает кредиты на передачу сообщений.

Для посылки срочных сообщений, которые должны доставляться без учета текущих очередей на передачу сообщений, используется, процедура “Прерывание”(INTERRUPT). Как правило, данные о прерывании содержат только код причины, для передачи которого требуется один байт. Передача байта прерывания инициируется командой “Прерывание”, которая порождает на сетевом уровне пакет “Прерывание”, переносимый протоколом Х25 через сеть вне зависимости от состояния передачи других пакетов. Для подготовки к приему таких пакетов удаленный процесс в период установления соединения должен инициировать процедуру “Прием прерывания”(CONINTERRUPT).

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

Процедура “Переключение” (SWITCH) предназначена для оповещения транспортной службы об изменении связи между процессом и портом транспортной службы. При этом в транспортную службу передается адрес нового процесса, который должен с этого момента взаимодействовать с удаленным процессом через ранее установленное соединение, и формируется пакет, необходимый для модификации блока связи. Необходимость в переключении возникает, когда удаленный процесс обслуживался, например, процессом ввода заданий, по завершении которого инициируется прикладной процесс, выполняющий необходимую пользователю прикладную задачу.

Процедура разъединения

Связь между процессами закрывается процедурами “Разъединение” (DISCONNECT) и “Разрыв”(DESTROY). Первая закрывает соединение упорядоченным образом: в ответ на запрос “Разъединение” удаленный процесс посылает команду “Разъединение” после передачи последнего сообщения; по получении команды “Разъединение” соединение в сети передачи данных и блоки связи аннулируются. Процедура “Разрыв” инициируется процессом при нарушении связи в местном транспортном модуле и порождает немедленное прекращение связи. При этом удаленному процессу посылается диагностическая информация о причине прекращения связи, все выданные в транспортную службу и недоставленные сообщения стираются и виртуальное соединение ликвидируется.

Типы транспортных протоколов

Рекомендация МККТТ X224
Транспортный уровень может комплектоваться различными классами протоколов.
Определены функции для 5 классов протоколов:
класс 0 - примитивный класс;
класс 1 - базовый класс востановления от ошибок. Осуществляет передачу дейтаграмм;
класс 2 - класс мультиплексирования. Может одновременно обслуживать большое количество соединений;
класс 3 - класс восстановления от ошибок;
класс 4 - класс обнаружения ошибок и восстановления от ошибок.

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

TCP - транспортный протокол, не являющийся стандартным.
UDP - транспорный протокол для передачи дейтаграмм.

Дейтаграммная служба

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

TCP отвечает за полную доставку сообщения без ошибок, и выдает квитанцию о доставке. UDP эту функцию не выполняет, квитанцию выдает прикладной процесс.


Prev Предыдущий Next Следующий
Hosted by uCoz