Чому мій комп'ютерний годинник, керований NTP, на дві хвилини вперед?


9

Годинник на моєму комп’ютері налаштований для синхронізації за допомогою NTP. Щоб перевірити це, я спробував двох клієнтів NTP за допомогою різних серверів NTP. Мій комп'ютер та клієнти NTP повністю узгоджуються щодо поточного часу навіть на широкому діапазоні серверів NTP.

У мене також є GPS, і моя національна телефонна компанія забезпечує точний годинник, доступний за допомогою дзвінка на певний номер телефону. І мій GPS, і телефонна компанія погоджуються на поточний час. Однак мій комп'ютер майже точно на дві хвилини (або на 1 хвилину і 59 секунд) попереду того, що я вважаю "справжнім" поточним часом, де я живу.

Чому мій комп’ютер на дві хвилини попереду? Я розумію, що синхронізація годин за допомогою Інтернету може бути не зовсім точною, оскільки існує затримка, але дві хвилини - це дуже довгий час в Інтернеті. Чи справді НТП попереду на дві хвилини? Я запускаю Windows 7 і живу в часовому поясі UTC + 1, але не думаю, що це важливо для розуміння моєї проблеми.


1
Отже, ви вважаєте, що ваш GPS та телефон "в режимі реального часу", але ваш комп'ютер "вимкнено на 2 хвилини"? я б спокусився зробити протилежний висновок.
квакш-кіхот

3
Мій GPS отримує інформацію із супутників, і я вважаю, що інформація дуже точна. Служба телефону IS дуже точна і може вважатися свого роду "національним" годинником. Я усвідомлюю, що під час використання телефону може бути деяка затримка, але дві хвилини затримки унеможливлять розмови.
Мартін Ліверсанс

1
Яку службу часу ви використовуєте, вбудовану службу часу Windows або щось інше?
Зоредаче

2
віртуальні машини зазвичай не можуть правильно тримати час, тому вони надають послуги синхронізації з хостом. краще рішення - правильно налаштувати послугу NTP в хості ОС віртуального контролера домену та залишити синхронізацію хост-гість-час.
шарлатанний кіхот

1
Оскільки ваше рішення не відповідає жодній із відповідей, я б запропонував додати його як відповідь на ваше запитання, а потім прийняти його як правильне. Відповідаючи на власні запитання, рекомендується - особливо на корисне запитання на кшталт цього.
Еморі Белл

Відповіді:


15

Час GPS не такий, як UTC, він просто дуже близький.

GPS - дуже точне джерело, що стосується різниці у часі, але, оскільки він не враховує високосні секунди, він фактично не синхронізується з UTC з січня 1980 року. Проте вперед лише на 15 секунд, так що це не ' t врахуйте свою різницю в 2 хвилини.

Якщо ваші інші джерела часу базуються на міжнародному стандарті атомних годин (TAI, Temps Atomique International), вони також не встановлені на UTC, не тому, що вони неточні, а більше тому, що UTC є неточним у порівнянні. Вони не беруть до уваги стрибкові секунди, а їхній час базується на кліщах стандарту СІ "секунди", а не на основі обертання / орбіти Землі, як UTC. Вони на 34 секунди випереджають UTC. Все ще не враховується ваша різниця.

Дивіться тут http://leapsecond.com/java/gpsclock.htm або тут http://en.wikipedia.org/wiki/Global_Positioning_System#Timekeeping для отримання додаткової інформації.


1
Збирався додати це як коментар, а не як відповідь, оскільки він насправді не відповідає вашій головній проблемі, але система коментарів отримала трохи часу
GAThrawn

1
GAThrawn, ця стаття / розділ Вікіпедії, які ви пов’язали, змусили мене повірити в те, що більшість GPS-приймачів знає різницю між часом GPS і UTC, і відображає UTC. Довіра користувачів буде сильно підірвана, якби годинник GPS-приймача був «постійно вимкнено 15 секунд» (як середній користувач може сприймати ситуацію).
Spiff

1
@Spiff правда, GPS-пристрої споживачів знають різницю в часі, яку потрібно застосувати до показу користувачеві, я б уявив, що вони роблять це одночасно із застосуванням будь-яких різниць часових поясів. Але це те, що пристрій повинен запрограмувати виробник, він не входить до специфікації GPS. Я можу собі уявити сценарії, коли одиниці, не спеціально орієнтовані на споживачів, відображали б фактичний час GPS, а не коригували.
GAThrawn

13

На жаль, я помилився, коли розмістив своє запитання. Я хотів обійти службу NTP свого комп’ютера, щоб забезпечити незалежне джерело інформації про час в Інтернеті, і використав для цього дві прості утиліти. Я вважав, що ці утиліти отримують інформацію про час з Інтернету за допомогою NTP, коли вони насправді відображали (неправильний) місцевий час на моєму комп’ютері.

У моєму початковому запитанні було досить розпливчастим питання про те, як NTP використовувався моїм комп’ютером. Він є частиною домену Active Directory, а час синхронізується з контролером домену. Я перевірив, що конфігурація в порядку, але я не помітив невелику деталь.

Рішення

Контролер домену працював у віртуальній машині Hyper-V. Служба часу Windows на контролері домену була налаштована належним чином для використання NTP, але на віртуальній машині Hyper-V були включені всі послуги інтеграції, включаючи синхронізацію часу . Цей параметр завжди буде тримати час на віртуальній машині, синхронізованій з хостом Hyper-V, навіть якщо встановити годинник вручну або через NTP.

Рішенням було просто відключити цю конкретну послугу інтеграції в менеджері Hyper-V для віртуальної машини контролера домену. Перезапуск служби часу Windows негайно виправив час на контролері домену та згодом на моєму комп’ютері.


6

Якщо ви вимкнете NTP, встановіть годинник комп'ютера неправильно на кілька хвилин (можливо, на 2 хвилини повільно, а не на 2 хвилини вперед), а потім повторно увімкніть NTP, чи залишається він 2 хвилини повільним, чи повернетесь на 2 хвилини вперед?

Я запитую, тому що я бачив, як програмне забезпечення NTP мовчки виходило з ладу, тому хоча це виглядало так, що програмне забезпечення NTP було ввімкнено, і хоч у мене були сліди пакетів, що показують NTP-запити, що виходять на сервер, і відповіді, що повертаються, мій системний годинник досі не налаштовувався на те, що говорив сервер часу.

Було б цікаво побачити сліди пакетів, що показують ваші NTP-пошуки. Наприклад, tcpdump "порт 123" з наборами параметрів "-v" і "-00" повинен показувати, що вам потрібно знати.


Коли я отримаю ще трохи часу, я зроблю додатковий аналіз. Спочатку я вважав, що проблема в NTP в моїй локальній мережі, але я використовував два клієнта NTP, які не впливають на годинник мого комп'ютера, а просто відображають час на сервері NTP, і ці два клієнти відображають точно той же час, що і час на моєму комп’ютері. Це може бути проблемою щодо перетворення часу на місцевий час, але чому б це додало дві хвилини? Я буду досліджувати далі, використовуючи деякі ваші ідеї.
Мартін Ліверсанс

4

Також важливо пам’ятати, що багато клієнтів NTP відмовляться змінювати годинник великими сумами ; якщо часи настільки суперечать, то є хороший шанс, щонайменше один із них дико помилиться і потребує втручання людини.


0

Я не технічний, але коротше, все, що ви можете зробити, це: 1) Перейдіть, щоб змінити налаштування дати та часу 2) Перейти до Інтернету Час у верхній частині вікна 3) Змінити налаштування 4) Оновити зараз

Він налаштується сам

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.