Алгоритм Кристиана (представленный Флавиу Кристианом в 1989 г.) [1] - это метод синхронизации часов, который может использоваться во многих областях распределительной информатики, но в основном используется в интрасетях с малой задержкой . Кристиан заметил, что этот простой алгоритм является вероятностным, поскольку он обеспечивает синхронизацию только в том случае, если время приема-передачи (RTT) запроса мало по сравнению с требуемой точностью. Он также страдает при реализации с использованием одного сервера, что делает его непригодным для многих распределительных приложений, где избыточность может иметь решающее значение.
Описание
Алгоритм Кристиана работает между процессом P и сервером времени S, подключенным к источнику привязки времени. Проще говоря:
- P запрашивает время у S
- После получения запроса от P, S готовит ответ и добавляет время T из своих собственных часов.
- Затем P устанавливает время равным T + RTT / 2.
Если RTT фактически делится поровну между запросом и ответом, синхронизация проходит без ошибок. Но из-за непредсказуемых воздействий это предположение часто неверно. Более длинные RTT указывают на асимметричные помехи. Таким образом, смещение и дрожание синхронизации сводятся к минимуму путем выбора подходящего RTT из множества пар запрос / ответ. Возможность принятия RTT в данный момент времени зависит от отклонения часов и от статистики RTT. Эти величины можно измерить в процессе синхронизации, что само по себе оптимизирует метод.
См. Также
- Дисперсия Аллана
- Алгоритм Беркли
- Синхронизация часов
- Дневной протокол , старый протокол синхронизации времени с использованием TCP или UDP порта 13
- ICMP Timestamp и ICMP Timestamp Reply , старый протокол синхронизации времени с использованием ICMP
- Международное атомное время
- Пул NTP , совокупность компьютеров по всему миру, которые обеспечивают высокоточное время через протокол сетевого времени.
- Неправильное использование и злоупотребление сервером NTP
- ntpd , OpenNTPD и Ntpdate
- Протокол точного времени
- Синхронизация
- Протокол времени , старый протокол синхронизации времени с использованием TCP или UDP-порта 37
- Сервер времени
Ссылки
- ^ Cristian, Flaviu (1989), "Вероятностный тактовая синхронизация" (PDF) , распределенные вычисления , Springer , 3 (3): 146-158, DOI : 10.1007 / BF01784024