RFC: 5905
Оригинал: Network Time Protocol Version 4: Protocol and Algorithms Specification
Предыдущие версии: RFC 958, RFC 1059, RFC 1119, RFC 1305, RFC 1361, RFC 1769, RFC 2030, RFC 4330
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Мельников Дмитрий Анатольевич

10. Процедура (алгоритм) фильтрации времени

Процедура (алгоритм) фильтрации времени является частью процедур, применяемых в прикладном программном NTPv4-модуле удалённого сервера. Эту процедуру реализует прикладной процесс clock_filter(), который фильтрует поток протокольных данных с целью выбора эталонных источников времени, обеспечивающих наиболее точное время. Данная процедура обеспечивает вычисление значений переменных (рис.16), среди которых сдвиг θ, задержка δ, дисперсия ε, джиттер ψ и время прибытия NTPv4-сообщения t. Эти данные используются алгоритмами обработки входного трафика с целью определения наилучшего и окончательного сдвига, который, в свою очередь, используется для корректировки системных часов. Они также используются для определения функционального состояния сервера времени и его пригодности выступать в роли источника синхронизации.

Процедура фильтрации времени сохраняет наборы самых последних значений взаимосвязанных переменных (θ, δ, ε, t) в схеме фильтра, который функционирует как 8-разрядный регистр сдвига. Наборы значений переменных сохраняются в том порядке, в котором прибыли NTPv4-сообщения. В данном случае, переменная t — значение счётчика секунд в момент приёма NTPv4-сообщения, и поэтому она отличается от переменой tр прикладного NTPv4-модуля удалённого сервера.

Используемая схема фильтрации призвана обеспечить достаточное количество источников синхронизации для последующего анализа, а также удаление устаревших данных. В начале, наборы переменных для всех состояний устанавливаются в форме временного (фиктивного) набора (0, MAXDISP, MAXDISP, 0). После поступления корректных NTPv4-сообщений наборы значений переменных записываются в память фильтра, что влечёт за собой удаление наборов устаревших значений, и поэтому в фильтре остаются только разрешённые наборы переменных. Если в регистре достижимости три бита низшего порядка являются нулевыми, указывая на то, что три интервала опроса, в течении которых поступили некорректные NTPv4-сообщения, истекли, то тогда процедура опроса обращается к процедуре фильтрации времени, реализуемая фильтром, в памяти которого записан фиктивный набор переменных, как если бы последний был получен из сети. Если такая ситуация остаётся на протяжении восьми интервалов опрос, то тогда регистр переустанавливается в исходное состояние.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.