Транспортная служба |
Оглавление |
Для подключения главной вычислительной машины к сети коммутации пакетов необходимо иметь четыре уровня протоколов. СПД обеспечивает выполнение процедур для физического канала, управления доступом к каналу и процедур переноса пакетов. Три уровня, представленные в рекомендации Х25, являются примерами этих трех уровней протоколов. Четвертым уровнем является транспортный протокол с универсальным интерфейсом в сторону следующего верхнего уровня.
Транспортный протокол определяет правила взаимодействия процессов сети и основывается на общесетовой системе адресации процессов и портов. Порт - это логическая точка, через которую сообщение поступает на транспортный уровень. Точка порта образуется на границе уровня сессии и транспортного уровня. Фактически транспортный протокол организует соединение между точками порта в удаленных или локальных системах.
Понятие транспортной службы предполагает универсальный
связной интерфейс, через который процессам предоставлялись бы средства, не
зависящие от используемой среды передачи. Транспортный интерфейс может рассматриваться
как самый верхний интерфейс транспортного протокола. Этот интерфейс является
постоянным независимо от услуг, предоставляемых СПД. Сам протокол в
значительной степени определяется этими услугами, поэтому он является средством,
устраняющим расхождение между требующимися услугами и предоставляемыми
средствами. В зависимости от используемой СПД функции транспортного
протокола могут оказаться или тривиальными, или весьма сложными.
Назначение транспортной службы, состоит в организации единого для всей вычислительной сети
интерфейса между процессами, работающим в любых сетях ЭВМ.
Виртуальное соединение, определяемое в рекомендации Х25/3, не обеспечивает гарантированной доставки пакетов, и если соединение сбрасывается сетью, пользователь должен применять свой собственный механизм восстановления либо использовать транспортный протокол.
Транспортный интерфейс - правила взаимодействия процессов.
Рис.1. Транспортный интерфейс
Процессы, находящиеся в главной вычислительной машине, идентифицируются по
заведенным в ней правилам. Для установления связи между удаленными процессами
необходима некоторая схема общесетевой адресации. Каждый процесс должен
идентифицироваться в сети единственным образом. Однако это не следует понимать
так, что каждый процесс в сети имеет только единственное имя. На практике такой
одноименный подход неэкономичен и нецелесообразен, а более предпочтительной
является иерархическая схема адресации. При ее использовании
процессы, находящиеся в различных главных вычислительных машинах, могут иметь
одинаковые имена. Отличаться же друг от друга они будут сетевым адресом главной
вычислительной машины. Если процессы идентифицируются в сети единственным
образом, то они могут устанавливать между собой соединения и осуществлять связь
посредством обмена сообщениями. Понятие соединения будет существовать в течение
того периода времени, пока осуществляется связь между процессами. Пока функционируют
процессы их соединение идентифицируется именами портов каждого процесса. Это является минимальным
требованием к соединению, и мы можем образовывать более чем одно соединение для
одной пары процессов, а также два независимых соединения через один и тот же
порт процесса. Единственное ограничение состоит в том, что пара портов на двух
сторонах соединения идентифицирует его единственным образом.Только что
сказанное проиллюстрировано на рисунке 2. Три процесса А, В и С, образуют
соединения через несколько своих портов. Процесс А через порт а1,
участвует в двух соединениях с процессом В, а через порт а2
одновременно участвует в соединении с процессом В(а2, b3) и процессом
С(a2, с1). Каждое соединение идентифицируется посредством пары портов,
и, таким образом, адрес соединения можно выразить следующим путем: Адрес
соединения = (порт 1, порт 2). В сети коммутации пакетов сообщение,
передаваемое от одного процесса к другому, с которым он имеет соединение,
переносит в явном или неявном виде адрес процесса-получателя и определяет таким
методом соединение. Структура адреса имеет следующий вид:
Сеть — получатель;
главная вычислительная машина—получатель; процесс—получатель; адрес соединения.
Рис.2. Межпроцессные соединения портов
Процессы обмениваются сообщениями, и прием каждого законченного сообщения предполагает выполнение некоторых действий в принимающем процессе. Транспортная служба не должна налагать ограничений на размер сообщений, которыми обмениваются процессы. Принимающий процесс—получатель имеет дело только с законченными сообщениями, и поэтому нет необходимости извещать его о поступлении сообщения, пока оно не принято полностью.
Средства управления передачей данных транспортного уровня расчленяют сообщения на транспортные блоки, которые вводятся в СПД в виде пакетов последовательно и передаются по сети под управлением средств сетевого уровня. Принимая последовательность пакетов, удаленная транспортная служба собирает сообщения из полей данных, переносимых в пакетах, и поставляет их в адресуемый порт в виде, совпадающем с видом отправленных сообщений.
Команды и ответы на них связаны с выполнением соответствующих процедур, а реализация последних предполагает формирование сообщений и передачу их между транспортными протоколами через СПД. Таким образом, функционирование транспортных протоколов вычислительной сети сводится к:
Таблица 1. Примитивы транспортного интерфейса
Класс | Наименование | Функция |
Установление соединения и разъединение | Ожидание (LISTEN) | Подготовка к установлению соединения |
Соединение (CONNECT) | Установление соединения | |
Согласие (ACCEPT) | Согласие на установление соединения | |
Отказ (REJECT) | Отказ в установлении соединения | |
Отмена (CANSEL) | Отмена ожидания | |
Разъединение (DISCONNECT) | Разъединение | |
Разрыв (DESTORY) | Неуправляемый разрыв соединения | |
Передача данных | Передача (SENT) | Выдача сообщения для удаленного процесса |
Прием (RECEIVE) | Готовность к приему сообщения | |
Отмена передачи (CANCELSENT) | Отмена процедуры передачи | |
Отмена приема (CANCELRECEIVE) | Отмена готовности к приему | |
Синхронизация | Прерывание (INTERRUPT) | Передача прерывания |
Прием прерывания (CONINTERRUPT) | Готовность к приему прерывания | |
Рестарт (RESET) | Повторный старт | |
Дейтаграммная служба | Передача дейтаграммы (SENTDATAGRAMM) | Прием дейтаграммы (RECEIVEDATAGRAMM) |
Передача дейтаграммы | Готовность к приему дейтаграммы | |
Переключение | Переключение (SWITCH) | Изменение адреса местного процесса |
Функции транспортного протокола.
Механизмы передачи данных:
Активизируемый процесс, например терминал, формирует команду “Соединение”(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.
Для посылки срочных сообщений, которые должны доставляться без учета текущих очередей на передачу сообщений, используется, процедура “Прерывание”(INTERRUPT). Как правило, данные о прерывании содержат только код причины, для передачи которого требуется один байт. Передача байта прерывания инициируется командой “Прерывание”, которая порождает на сетевом уровне пакет “Прерывание”, переносимый протоколом Х25 через сеть вне зависимости от состояния передачи других пакетов. Для подготовки к приему таких пакетов удаленный процесс в период установления соединения должен инициировать процедуру “Прием прерывания”(CONINTERRUPT).
В результате сбоев в работе оборудования и ошибок при передаче сообщений транспортные модули могут выйти из синхронизма, что проявляется в нарушении последовательности номеров сообщений. В этом случае передача сообщений прекращается и выполняется процедура “Сброс”, приводящая к уничтожению очередей сообщений и передаче пакета “Запрос сброса” в виртуальный канал. Этим пакетом удаленный процесс извещается о сбросе средств взаимодействия. Транспортные модули уничтожают блоки связи и начинают повторно выполнять действия по установлению нового соединения.
Процедура “Переключение” (SWITCH) предназначена для оповещения транспортной службы об изменении связи между процессом и портом транспортной службы. При этом в транспортную службу передается адрес нового процесса, который должен с этого момента взаимодействовать с удаленным процессом через ранее установленное соединение, и формируется пакет, необходимый для модификации блока связи. Необходимость в переключении возникает, когда удаленный процесс обслуживался, например, процессом ввода заданий, по завершении которого инициируется прикладной процесс, выполняющий необходимую пользователю прикладную задачу.
Эти классы предусмотрены для сетей с различным качеством обслуживания. МККТ, МОС, ЕСМА определяют три типа сетей:
Тип А. Сети обеспечивают приемлемый уровень ошибок и приемлемый уровень сигнализации об ошибках.
Тип В. Сети обеспечивают приемлемый уровень ошибок и неприемлемо низкий уровень средств сигнализации об ошибках.
Тип С. Сетевые соединения предоставляют неприемлемый уровень ошибок для пользователя (ненадежные сети).
TCP - транспортный протокол, не являющийся стандартным.
UDP - транспорный протокол для передачи дейтаграмм.
TCP отвечает за полную доставку сообщения без ошибок, и выдает квитанцию о доставке. UDP эту функцию не выполняет, квитанцию выдает прикладной процесс.
Предыдущий | Следующий |