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

5. Модель реализации

На рис.3 представлена структура типовой многоканальной модели прикладного программного модуля NTPv4-протокола. Эта модель включает два процесса, присущие каждому серверу времени:

  1. Процесс удалённого сервера времени, обеспечивающий приём NTP-сообщений от другого сервера времени или источника эталонного времени.

  2. Процесс опроса удалённых серверов времени, обеспечивающий передачу NTP-сообщений другому удалённому серверу времени или источнику эталонного времени.

Эти процессы организуют передачу, приём и обработку NTP-сообщений, представляющих собой единую структуру данных, включающих статистические параметры и другие переменные и константы, и для этого формируют виртуальные соединения. Клиентский программный NTP-модуль передаёт NTP-сообщения одному или нескольким серверам времени, а затем обрабатывает переданные ими ответные NTP-сообщения. Серверный программный NTP-модуль меняет местами IP-адреса и номера UDP-портов отправителя/получателя, заполняет определённые поля в NTP-сообщении и сразу после этого отправляет его источнику запроса, если используется режим функционирования «клиент/сервер», в противном случае, если используется симметричный режим функционирования, NTP-сообщение передается через некоторое время. После каждого приёма NTP-сообщения вычисляется сдвиг θ между временем удалённого сервера и системными часами, используя для этого соответствующие значения статистических параметров δ, ε и ψ.

..........................................................................................
. Удалённые .      Процедуры      .             Системный              .     Процесс     .
.  серверы  .  опроса удалённых   .              процесс               .    настройки    .
.           .      серверов       .                                    .     времени     .
.+---------+. +------------------+. +---------------+                  .                 .
.| Сервер  |->| Опрос удаленного |. |               |                  .                 .
.| времени |  | сервера времени  |->|               |                  .                 .
.|    1    |<-|        1         |. |               |                  .                 .
.+---------+. +------------------+. |               |                  .                 .
.           .          ^          . |               |                  .                 .
.           .          |          . |               |                  .                 .
.+---------+. +------------------+. |               |  +--------------+.                 .
.| Сервер  |->| Опрос удаленного |. |   Алгоритмы   |->|              |.   +--------+    .
.| времени |  | сервера времени  |->|   селекции    |  |   Алгоритм   |--->| Фильтр |    .
.|    2    |<-|        2         |. |       и       |  | суммирования |.   |  ФАПЧ  |    .
.+---------+. +------------------+. | кластеризации |->|              |.   +--------+    .
.           .          ^          . |               |  +--------------+.        |        .
.           .          |          . |               |                  .        |        .
.+---------+. +------------------+. |               |                  .        |        .
.| Сервер  |->| Опрос удаленного |. |               |                  .        |        .
.| времени |  | сервера времени  |->|               |                  .        |        .
.|    3    |<-|        3         |. |               |                  .        |        .
.+---------+. +------------------+. +---------------+                  .        |        .
........................^.......................................................|.........
                        |                                              .        V        .
                        |                                              . +------------+  .
                        |                                              . | Генератор  |  .
                        +------------------------------------------------| переменной |  .
                                                                       . |  частоты   |  .
                                                                       . +------------+  .
                                                                       .     Процесс     .
                                                                       .  корректировки  .
                                                                       .      часов      .
                                                                       ...................

Рис.3. Модель прикладного программного модуля NTPv4-протокола

Системный процесс[?] включает процедуры селекции, кластеризации и суммирования на основе соответствующих алгоритмов оптимизации, и осуществляет поиск среди возможных серверов времени наиболее «лучших» кандидатов, с точки зрения их точности и надежности, для последующей синхронизации системных часов. Алгоритм селекции основан на византийских принципах обнаружения неисправностей или отказов и решает задачу по нейтрализации самых некорректных кандидатов, именуемых «ложными часами», и предотвращения их включения в перечень (группу) «надёжных часов». Надёжные часы представляют собой такие часы, которые обеспечивают соответствующую точность синхронизации относительно известного доверенного стандартного источника времени/частоты (синхронизируются от него), в то время как ложные часы представляют собой часы, которые показывают ложное или неточное время. Алгоритм кластеризации основан на статистических принципах и обеспечивает поиск группы часов, включающей наиболее точные надежные часы. Алгоритм суммирования (объединения) решает задачу вычисления финального значения сдвига времени путём статистического усреднения значений наиболее точных надёжных часов, прошедших алгоритм кластеризации.

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