Перенос данных функциями

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

Так как взаимодействие по соединению протекает по схеме «удаленный вызов процедуры», в протоколе не производится подтверждение доставки сообщений. Подтверждением поступ­ления запроса от активной стороны служит ответ на этот за­прос. Подтверждения ответа пассивной стороне не нужно. Ес­ли ответ не будет доставлен, активная сторона повторит свой запрос по тайм-ауту.

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

Этап терминации соединения решен традиционно: служебное сообщение с требованием терминации выдается по инициативе абонента или транспортной службы при терминации работы абонента. Кроме того, соединение терминируется при разрыве сетевого соединения между машинами.

Итак, для того, чтобы установить соединения, абонент дол­жен узнать через посредника адрес нужного абонента, сообщить ему свой (если нужно) и обратиться к транспортной службе. У некоторых общесистемных абонентов адреса фиксированы (например, у абонента-посредника). В целях оптимизации ис­пользования внутренних ресурсов машины в некоторых транс­портных службах выполняется внепротокольная функция обра­зования (или вызова) нерезидентного абонента из числа тех, которые имеют фиксированные адреса. Таблица таких абонен­тов определяется на стадии генерации системы.

Метки: ,

Связанные записи