Перенос данных функциями
На этапе переноса данных функциями транспортной службы являются обеспечение правильной передачи и приема сообщений, управление их потоком. Для управления потоком сообщений существует два основных механизма: кредит и окно. При реализации механизма кредита приемная сторона, подтверждая получение очередного сообщения, заодно сообщает и о кредите, т. е. о том, сколько сообщений она может еще принять. Величина кредита может меняться динамически. При реализации механизма окна число буферов на приемной стороне фиксируется на все время сеанса. Передающей стороне всегда известно, сколько она может посылать сообщений, учитывая неподтвержденные. Был выбран механизм окна. Реализация этого механизма требует существенно меньшего числа прерываний и служебных сообщений. Размер окна можно интерпретировать как степень распараллеливаемости на приемном конце. Как правило, эта величина фиксируется довольно жестко. Могут меняться координаты приемных буферов в оперативной памяти задачи, по их число обычно встроено в программу.
Так как взаимодействие по соединению протекает по схеме «удаленный вызов процедуры», в протоколе не производится подтверждение доставки сообщений. Подтверждением поступления запроса от активной стороны служит ответ на этот запрос. Подтверждения ответа пассивной стороне не нужно. Если ответ не будет доставлен, активная сторона повторит свой запрос по тайм-ауту.
Таким образом, на этапе переноса данных обычное взаимодействие запрос—ответ построено так, что требуется всего одно прерывание на запрос и одно на ответ. При реализации механизма кредита и симметричного обмена сообщениями потребовалось бы еще два сообщения с подтверждениями, а анализ практического использования таких механизмов показывает, что обычно величина кредита равна всего единице, отсюда — еще два служебных сообщения с кредитом.
Этап терминации соединения решен традиционно: служебное сообщение с требованием терминации выдается по инициативе абонента или транспортной службы при терминации работы абонента. Кроме того, соединение терминируется при разрыве сетевого соединения между машинами.
Итак, для того, чтобы установить соединения, абонент должен узнать через посредника адрес нужного абонента, сообщить ему свой (если нужно) и обратиться к транспортной службе. У некоторых общесистемных абонентов адреса фиксированы (например, у абонента-посредника). В целях оптимизации использования внутренних ресурсов машины в некоторых транспортных службах выполняется внепротокольная функция образования (или вызова) нерезидентного абонента из числа тех, которые имеют фиксированные адреса. Таблица таких абонентов определяется на стадии генерации системы.
Метки: адрес абонента, транспортная служба