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
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Мельников Дмитрий Анатольевич

13.2. Процессы (операции) процедуры опроса

Как было указано ранее, каждую секунду в период процедуры корректировки времени происходит обращение к прикладному процессу clock_adjust(). Этот процесс обращается к другому прикладному процессу poll() при каждом очередном информационном взаимодействии по конкретному виртуальному соединению. Если время отправки очередного запрашивающего NTPv4-сообщения превысило значение счётчика секунд, то тогда прикладной процесс передаёт такое сообщение незамедлительно. В период функционирования виртуальных соединений в симметричном режиме (режимы 1, 2), в клиентском режиме (режим 3) и в широковещательном режиме сервера (режим 5) регулярно передаются полнофункциональные NTPv4-сообщения, содержащие все требуемые переменные и параметры. В широковещательном режиме клиента (режим 6) полнофункциональные NTPv4-сообщения не передаются, а передаются специализированные NTPv4-сообщения, содержащие только переменные достижимости удалённых серверов времени. Прикладной процесс poll(), в свою очередь, обращается к процессу peer_xmit() с целью передачи NTPv4-сообщения. Если флаг BURST установлен (имеет значение 1), то тогда никаких последующих операций не проводится, за исключением обращения к прикладному процессу poll_update() с целью установки значения интервала следующего опроса. Если же флаг BURST не установлен (равен 0), то тогда значение переменной достижимости сдвигается влево на один бит, а крайний правый бит обнуляется. Если удалённый сервер времени не был обнаружен в течении последних трёх интервалов опроса, то тогда происходит обращение к прикладному процессу clock_filter() с целью увеличения значения дисперсии.

Если флаг BURST установлен, а сервер достижим и может выступать в роли корректного источника синхронизации, то тогда клиентский NTPv4-модуль передает последовательность из восьми (BCOUNT = 8) NTPv4-сообщений в течение каждого интервала опроса. Интервал между поочерёдной передачей NTPv4-сообщений составляет две секунды. Если флаг IBURST установлен, а это означает, что это переданное сервером NTPv4-сообщение является первым, причём этот удаленный сервер считался недостижимым, то тогда клиентский NTPv4-модуль передает NTPv4-сообщение с установленным флагом BURST. Такая операция обмена флагами весьма полезна для ускоренного уменьшения расстояния синхронизации ниже предельного значения и быстрой синхронизации часов.

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