Я помітив, що на моїх серверах та інших машинах годинник завжди переміщується, тому він повинен синхронізуватися, щоб залишатися точним.
Як годинник сервера NTP не змінюється і завжди залишається правильним?
Я помітив, що на моїх серверах та інших машинах годинник завжди переміщується, тому він повинен синхронізуватися, щоб залишатися точним.
Як годинник сервера NTP не змінюється і завжди залишається правильним?
Відповіді:
NTP-сервери розраховують на високоточні тактові годинники для точності хронометражу. Поширеним джерелом часу для центральних серверів NTP є атомні годинники або GPS-приймачі (пам’ятайте, що GPS-супутники мають атомні годинники). Ці годинники визначені як точні, оскільки вони дають дуже точний час. Немає нічого магічного в GPS або атомних годинниках, які змушують їх точно сказати, який саме час; через те, як працюють атомні годинники, вони просто дуже добре справляються, колись їм сказали, який час, продовжуйте говорити точний час (оскільки другий визначається з точки зору атомних ефектів ). Насправді, варто зазначити, що час GPS відрізняється від UTC, який ми звикли бачити. Ці атомні годинники в свою чергу синхронізовані протиМіжнародне атомне час або TAI для того , щоб не тільки точно сказати протягом часу , але і на час.
Після того, як ви встановите точний час в одній системі, підключеній до такої мережі, як Інтернет, це стосується інженерії протоколів, що дозволяє передавати точний час між хостами через ненадійну мережу. У цьому відношенні прошарок 2 (або далі від фактичного джерела часу) NTP-сервер не відрізняється від вашої настільної системи, що синхронізується з набором серверів NTP.
На той час, коли у вас є кілька точних моментів (отриманих з серверів NTP або деінде) і ви знаєте швидкість просування вашого локального годинника (що легко визначити), ви можете обчислити швидкість переміщення вашого місцевого годинника щодо "вважається точною" "проходження часу. Після блокування це значення потім може бути використане для постійного регулювання локального годинника, щоб воно повідомляло значення дуже близькими до точного проходження часу, навіть якщо локальний годинник у реальному часі є дуже неточним; якщо ваш місцевий годинник не є надзвичайно хаотичним, це повинно дозволяти зберігати точний час деякий час, навіть якщо ваше джерело часу за течією з будь-якої причини стає недоступним. Деякі реалізації клієнтів NTP (напевно, більшість ntpd
демонів або системних служб) роблять це та інші (наприклад, супровід ntpdntpdate
який просто встановлює годинник один раз) не роблять. Це зазвичай називають файлом дрейфу, оскільки він постійно зберігає міру переміщення годин, але строго кажучи, його не потрібно зберігати як певний файл на диску.
У NTP прошарок 0 за визначенням є точним джерелом часу. Stratum 1 - система, яка використовує джерело часу stratum 0 як своє джерело часу (і, таким чином, трохи менш точна, ніж джерело часу stratum 0). Стратум 2 знову трохи менш точний, ніж прошарок 1, тому що він синхронізує свій час з джерелом 1. І так далі. На практиці ця втрата точності настільки мала, що вона є абсолютно незначною у всіх, крім самих крайніх випадках.
У мережевій хронології специфікація, яка повідомляє, як сервер отримує джерело часу, називається рівнем Stratum. Чим нижчий рівень, тим краще тримати час роботи цього сервера.
Пристрої Stratum рівня 0 безпосередньо не підключені до мережі. Вони є власне пристроєм хронометражу, і його потрібно підключити до комп'ютера, щоб отримати фактичний час. Потім цей комп'ютер стає сервером NTP Stratum рівня 1.
Комп'ютер, який підключається до Stratum 1-го рівня, також може стати сервером часу, але це був би рівень страти 2. Коли комп’ютери підключаються до серверів часу, чим нижчий рівень вашого шару, тим точнішим може бути ваш час.
Прилади Stratum рівня 0 включають атомні годинники, які беруть участь у TAI (міжнародний атомний час)або синхронізовані до нього, і приймачі сигналу часу, що надсилаються таким годинником. Найчастіше це приймачі хронометражу GPS з відповідним інтерфейсом, що включає сигнал GPS PPS. Сигнал PPS, коли GPS добре блокується на декількох супутниках, посилає один імпульс в секунду, а передній край цього імпульсу знаходиться в межах наносекунд від фактичного початку цієї секунди. Залежно від специфікації GPS-приймача, сигнал PPS може бути більш-менш точним. Це тому, що кожен GPS-супутник має атомний годинник. Як тільки GPS-приймач знайшов своє власне положення та місце розташування GPS-супутників, які він слухає, він може виправити розповсюдження радіочастот та дасть вам час майже такий же точний, як встановлення атомного годинника прямо біля GPS-приймача.
Отже, сервери Stratum рівня 1 підключаються до атомних годин, або GPS-приймачів, і до них підключаються сервери NTP. Навіть підключення до сервера рівня 2 або 3 прошарку з частими налаштуваннями забезпечить ваш комп'ютер точністю вимірювання часу, виміряною в наносекундах. Але якщо вам потрібні кращі терміни, підключіться до першого шару рівня страту або придбайте відповідний приймач GPS-хронометражу та самі станьте джерелом пластового рівня.
Усі годинники певною мірою дрейфують, це залежить від джерела сигналу синхронізації та того, наскільки добре він відстежується. На ПК це HPET в наші дні, але ПК може втратити дані про те, скільки кліщів минуло, якщо перевантажений.
Сервери NTP, на яких ваша машина спілкується, ймовірно, також втрачають час, однак вони переносять свій час назад до кращого джерела.
Зрештою, кращими джерелами є високоточні годинники, як атомні годинники. Ви можете думати про NTP як мережу машин, кожне з них матиме ряд джерел, на які покладається час, і визначає власний час до того, що вважається більш точним.
Цим керується джерело, що оголошує прошарок. Атомний або GPS-годинник - прошарок 0, і повноваження щодо часу. Кожен шар із цього - наступний прошарок - прошарок 1, і перевірятиме ряд джерел шару 0 разом із однолітками на тому самому рівні, щоб перевірити джерела часу.
Ви, ймовірно, розмовляєте з другою або третьою версією часу.
Те, що написали інші, це правда: сервер Stratum 1 отримує свій час від пристрою Stratum 0. Я не знаю, в яких часових інтервалах це відбувається, але я думаю, що вони там досить точні.
Сервер Stratum n з n> 1 отримує свій час через NTP з сервера Stratum n-1. Це означає, що він регулярно синхронізується з ним. Після запуску служби NTP синхронізація відбувається через досить короткі проміжки часу, а з часом інтервали починають збільшуватися. Врешті-решт інтервал досягає 1024 с, приблизно 17 хвилин.
Що не було вирішено - це питання, що відбувається між тим часом? Ну, є об'єкт під назвою файл дрейфу . Це допомагає NTP стежити за будь-яким переміщенням між місцевим та опорним годинником. Частота локальних тактових параметрів потім регулюється відповідно до виявленого дрейфу, так що час також опитується між опитуваннями сервера.
Інша реалізація NTP може використовувати й інші засоби, але одне спільне: потреба та можливість регулювати тактову частоту.