Реклама: |
Назначение: синхронизация клиента или сервера с сервером или источником времени (радио, атомные часы или еще что). Обеспечивает точность до милисекунды в пределах LAN и десятков милисекунд посредством WAN. Предусмотрена криптографическая защита (шифрование контрольной суммы), одновременное подключение к нескольким серверам на случай аварии, алгоритмы усреднения и т.д. Поддерживает самонстраиваемую иерархическую архитектуру сети синхронизации (симметричный механизм обмена пакетами). Главные сервера (напрямую присоединенные к источнику времени) образуют первый слой (stratum), присоединенные непосредственно к ним - второй слой, и т.д. Протокол класса UDP (connectionless). Используется фильтрация, селекция и комбинация пакетов на принципах максимальной вероятности. Множество резервных серверов и путей передачи (выбор лучшего на основе алгоритма взвешенного голосования). Достигаемая точность первичного сервера - милисекунды. Типичный интервал опроса - от 1 минуты (в начале работы) до 17 минут (если все хорошо).
Классы обслуживания:
В качестве значения времени используется беззнаковое 64-битовое число с фиксированной точкой, число секунд в UTC. Первый 32 бита - число секунд, вторые 32 бита - дробная часть. Точность 232 пикосекунды. Старший бит взведен где-то в 1968 году, переполнение наступит в 2036 году. 0 означает неопределенное время.
1305 PS D. Mills, "Network Time Protocol (v3)", 04/09/1992. (Pages=120)отменил RFC-1119, RFC-1059, RFC-958 (Format=.txt) (Obsoletes RFC1119)
1165 E J. Crowcroft, J. Onions, "Network Time Protocol (NTP) over the OSI NTP в условиях сервиса, Remote Operations Service", 06/25/1990. (Pages=9) (Format=.txt) ориентированного на соединение (не наш случай)
1129 D. Mills, "Internet time synchronization: The Network Time более свежая версия текста Protocol", 10/01/1989. (Pages=29) (Format=.txt, .ps)
1128 D. Mills, "Measured performance of the Network Time Protocol in the 1% хостов поддерживает NTP Internet system", 10/01/1989. (Pages=20) (Format=.txt, .ps) 30% из них дает точность 30мс, 99% дает точность 10 секунд, NTP дает точность в 1000 раз выше, чем TIME или ICMP Time- stamp.
LI (leap indicator) - в конце суток должна быть вставлена секунда для синхронизации атомных и астрономических часов.
VN - номер версии (3).
mode - режим работы.
stratum - слой
precision - разрешение местных часов.
poll interval - интервал запросов (используется минимальный из своего и соседского).
synchronization distance - полный цикл обмена сообщениями (roundtrip delay) до первичного источника.
synchronization dispersion - дисперсия этих задержек.
reference clock identifier - тип опорных часов.
reference timestamp - время последнего изменения опорных часов (используется для управления).
originate timestamp - время соседа, когда последнее NTP-сообщение было отправлено (копировано по прибытии из transmit timestamp).
receive timestamp - местное время получения этого последнего NTP-сообщения.
transmit timestamp - местное время отправки текущего сообщения.
authenticator (96 bit) - опция - ключ и шифрованная контрольная сумма сообщения.
32-битные IP-адерса и 16-битные номера портов сервера и соседа, определяющие ассоциацию.
Счетчик, управляющий интервалами посылки NTP-сообщений (определяется динамически).
Достижим ли сосед.
Регистр фильтра: измеренные задержка/смещение и отдельный экземпляр задержки/смещения.
Задержка, смещение, дисперсия.
Источник синхронизации: сосед определенный алгоритмом выбора.
Местные часы.
Если в течении 8 последовательных интервалов опроса от соседа не было сообщений, то он цчитается недостижимым.
Делается проверка времен: если время передачи совпадает с предыдущим сообщением, то это несомненно дубль; если originate timestamp в сообщении не совпадает со значением передачи в переменных данной ассоциации, то нас пытаются обмануть.
Делаются дополнительные защиты от очень старых сообщений и не полностью синхронизованных ассоциаций.
Аутентикатор состоит из ключа и шифрованной контрольной суммы деляется с помощью DES и DES cipher block-chaning, обеспечивает непрерывную цепочку сообщений между узлами, в которую невозможно влезть (необходима компенсация времени шифровки).
Типовая конфигурация включает 3 местных сервера, каждый из которых подключен к двум внешним серверам (различным!) и соединены между собой. Клиенты подключены к каждому из трех местных серверов.
UNIX: xntpd
клиент для Apple: macntp
2 88ms www.demos.su. (M9 - 7 hops)
2 bgm.rosprint.net.
2 234ms crocus.gamma.ru. (M9 - radio-msu - 10 hops)
2 190ms news.gamma.ru. (M9 - radio-msu - 10 hops)
3 117ms news.demos.su. (M9 - 7 hops)
2 153ms unisun.radio-msu.net. (M9 - 9 hops)
официальный список NTP-серверов слоя 1
официальный список NTP-серверов слоя 2
а можно обнаглеть и использовать официальные правительственные (США) сервера страты-1 (свободные,;надежные - уж если они не работают...; близкие - всего 10 хопов; подсоединены напрямую к эталону времени, а не к каким-то простым атомным часам ;):