Процедура коррекции показания часов вызывается
if (not valid header) exit;
peer.leap < pkt.leap;
|
/* Копирование переменных пакета */
|
peer.stratum ;
peer.precision ;
peer.rootdelay ;
peer.rootdispersion ;
peer.refid ;
peer.reftime ;
if (valid data) call clock-filter(q, d, e);
|
/* обработка данных */
|
end packet procedure;
Процедура коррекции показаний часов
Процедура коррекции показания часов вызывается процедурой приема, когда процедура фильтрации определила корректные значения смещения задержки и дисперсии для данного партнера.
begin clock-update procedure
call clock-select;
|
/* Выбор базовых часов */
|
if (sys.peer ? peer) exit;
Может так случиться, что локальные часы оказались сброшены. В этом случае вызывается процедура очистки (clear procedure) для каждого из партнеров, чтобы возвратить в исходное состояние фильтр часов, период рассылки и, если необходимо, осуществить выбор нового источника синхронизации.
Процедура расстояния вычисляет базовую (root) задержку d, базовую дисперсию e и базовое расстояние синхронизации l. ЭВМ не будет синхронизовать выбранного партнера, если расстояние больше чем ntp.maxdistance.
l andistance(peer);
|
/* обновление системных переменных */
|
if (l ? ntp.maxdistance) exit;
sys.leap
sys.stratum
sys.refid
call local-clock;
if (local clock reset) begin
|
/* если сброс, очистить системные переменные */
|
sys.leap 2;
for (all peers) call clear;
endif
else begin
sys.peer
|
/* если нет, то подстроить локальные часы */
|
sys.rootdelay d;
sys.rootdispersion e + max (ex
+ |t|, ntp.mindisperse);
endif
sys.reftime
end clock-update procedure;
В некоторых конфигурациях системы прецизионный источник временной информации доступен в виде последовательности синхронизующих импульсов, следующих с периодом в одну секунду. Обычно это является дополнением к базовому источнику времязадающей информации, такому как радио-часы или даже сам протокол NTP, для того чтобы обеспечить подсчет секунд, минут, часов и дней. В этих конфигурациях системные переменные устанавливаются с учетом источника, от которого поступают такие импульсы. Для конфигураций, которые поддерживают первичные эталонные источники, такие как радио-часы или калиброванные атомные часы код слоя устанавливается равным 1, поскольку именно он является действительным источником синхронизации.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий