Интегрированные сети ISDN


Таблица Коды идентификаторов часов - часть 11


pkt: call packet;

/* обработка пакета */

if (valid header) begin

/* если заголовок правилен, поправляется показание местных часов */

peer.reach

if (valid data) call clock-update;

endif

else if (peer.config = 0) begin

peer.hostpoll

/* послать немедленно отклик */

call poll-update;

call transmit;

ликвидировать ассоциацию;

endif

endcase

end receive procedure;

Пакетная процедура

Пакетная процедура проверяет корректность сообщения, вычисляет задержку/смещение и вызывает другие процедуры для отбора данных и выбора источника синхронизации. Тест 1 требует, чтобы переданная временная метка отличалась от последней, полученной от того же партнера. Тест 2 требует, чтобы исходная временная метка соответствовала последней метке, посланной тому же партнеру. В случае широковещательного режима (5) rtt=0 и полная точность операции передачи времени будет недостижимой. Однако, полученная точность может быть вполне приемлемой для многих целей. Процедура вызова коррекции времени использует в качестве параметра peer.hostpoll (peer.peerpoll может быть изменено).

begin packet procedure

peer.rec

/* забрать полученную временную метку */

if (pkt.mode ? 5) begin

test1

/* Тест 1 */

test2

/* Тест 2 */

endif

else begin

pkt.org

/* потеря временной метки из-за ошибки */

pkt.rec

test1;

/* ложные тесты */

test2;

endif

peer.org

/* актуализация исходной временной метки */

peer.peerpoll

/* скорректировать период рассылки */

call poll-update(peer.hostpoll);

Тест 3 требует, чтобы исходная и полученная временные метки не были равны нулю. Если любая из них равна нулю, ассоциация не синхронизирована или потеряла доступ в одном или обоих направлениях.

test3

rtt и временное смещение по отношению партнера вычисляется следующим образом. Пусть i четное целое число.

Тогда ti-3, ti-2, ti-1 и ti - содержимое переменных pkt.org, pkt.rec, pkt.xmt и peer.rec, соответственно. Смещение часов j, rtt=d и дисперсия e ЭВМ по отношению к партнеру равны:

d = (ti - ti-3) - (ti-1 - ti - 2),



Начало  Назад  Вперед



Книжный магазин