Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация времени NTP

Синхронизация времени NTP.

Синхронизация времени является важной задачей, хотя не многие задумывались об этом. Ну что плохого в убежавшем на сервере времени? А знаете ли вы, что многие проблемы с часами влияют на протоколы, связанные с криптографией? По этой причине в Active Directory разница в часах более 5 минут будет приводить к проблемам аутентификации Kerberos.

Часовые уровни. Strata.

Чтобы понять устройство NTP следует знать про концепцию strata или stratum. Авторитетные источники времени, такие как спутники GPS, цезиевые атомные часы, радио волны WWVB — всё это stratum 0. Они авторитетны на том основании, что у них есть некоторый способ поддержания высокоточного хронометража. Можно, конечно, воспользоваться обычными кварцевыми часами, но зная, что за месяц с ними легко потерять 15 секунд, то лучше их не использовать в качестве мерила времени. Stratum 0 это когда секунда не потеряется за 300 000 лет!

Компьютеры, которые напрямую (не по сети!) берут время у stratum 0 — это stratum 1. Так как всегда есть задержки из-за передачи сигнала и затраты на установку времени, то компьютеры stratum 1 не так точны как stratum 0, но в реальной жизни различие достигает пару микросекунд (1 мкс = 10 -6 с), что вполне допустимое отклонение.

Следующий уровень компьютеров, берущих время по сети у stratum 1 — это . барабанная дробь . интрига . stratum 2! Опять таки из-за различных задержек (сетевые точно), stratum 2 чуток отстаёт от stratum 1 и уж точно от stratum 0. На практике это разница от нескольких микросекунд (1 мкс = 10 -6 с) до нескольких миллисекунд (1 мс = 10 -3 с). Многие хотят синхронизироваться со слоем не дальше stratum 2.

Как понятно из схемы, stratum 4 берёт время у вышестоящего stratum 3. stratum 5 у stratum 4 и так далее. stratum 16 считается самым нижним слоем и время там считается несинхронизированным.

Чтобы синхронизировать время с помощью протокола NTP, следует сначала вручную выставить ваше время. Недопустима разница между вашим точным временем и показаниями ваших часов более 1000 секунд. Если используемый вами сервер времени врёт более 1000 миллисекунд (1 секунда), то он будет исключён из списка и будут использоваться другие вместо него. Данный механизм позволяет отсеивать плохие источники времени.

Клиент времени.

В файле /etc/ntp.conf для клиента важны строки Server. Их может быть несколько — до 10 штук!

Сколько добавлять? Следует иметь в виду:

  • Если у вас только один сервер (одна строка server), то если данный сервер начнёт врать, то вы будете слепо следовать за ним. Если его время убежит на 5 секунд и вы убежите в след за ним.
  • Если добавлено 2 сервера (2 строки server), то NTP пометит их обоих как false tickers. Если один из них будет врать, то NTP не может понять кто врёт, так как нет кворума.
  • Если добавлено 3 и более сервера времени, то можно вычислить одного вруна false tickers. Если серверов времени 5 или 6, то можно найти 2 вруна false tickers. Если серверов 7 или 8, то 3 false tickers. Если серверов 9 и 10, то 4 false tickers.

Проект NTP Pool.

Есть такой проект NTP Pool по адресу которого pool.ntp.org/zone/ru/ можно найти рекомендованные для русских пользователей сервера времени.

server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org

Такие операционные системы, как Debian и Ubuntu, предлагают пользователям свои сервера времени.

server 0.debian.pool.ntp.org
server 1.debian.pool.ntp.org
server 2.debian.pool.ntp.org
server 3.debian.pool.ntp.org

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Если вызвать на вашем Linux компьютере, который использует NTP, команду ntpq -pn

О чём говорят названия столбцов:

  • remote — удалённые сервера, с которыми вы синхронизируете время.
  • refid — вышестоящий stratum для данного сервера.
  • st — уровень stratum. От 0 (нам недоступно) до 16 (нам не желательно). Идеально — 2.
  • t — тип соединения. «u» — unicast или manycast, «b» — broadcast или multicast, «l» local reference clock, «s» — симметричный узел, «A» — manycast сервер, «B» — broadcast server, «M» — multicast сервер.
  • when — время, когда последний раз сервер ответил нам. Параметр отображает число в секундах, но может в минутах, если число с m или в часах, если h.
  • poll — частота опроса. Минимум 16 секунд, максимум 32 часа. Число должно быть 2 n . Обычно в данном параметре наблюдается или 64 секунды или 1024.
  • reach — 8 бит октета, показывающий статус общения с удалённым сервером времени: успешный или сбойный. Если биты установлены — то успешно, иначе — сбой. Значение 377 — бинарно это 0000 0000 1111 1111.
  • delay — значение в миллисекундах показывает время между отправкой и получения ответа (round trip time — RTT).
  • offset — смещение в миллисекундах между вами и серверами времени. Может быть положительным и отрицательным числом.
  • jitter — абсолютное значение в миллисекундах с указанием среднеквадратичного отклонения вашего смещения.

Перед IP адресом NTP сервера есть символ — это tally code. Виды tally code:

  • » « — отброшен как недопустимый. Например, нет связи с ним или он в оффлайн, он слишком высокого ранга и не обслуживает таких как вы.
  • «x» — отброшен алгоритмом «пересечения» (intersection algorithm). Алгоритм пересечения подготавливает список кандидатов партнеров, могущих стать источниками синхронизации и вычисляет доверительный интервал для каждого из них.
  • «.» — отброшен из-за переполнения таблицы.
  • «-« — отброшен алгоритмом кластеризации (cluster algorithm). Алгоритм кластеризации сортирует список кандидатов по кодам слоя и расстояния синхронизации.
  • «+» — сервер включён алгоритмом «комбинирования» (combine algorithm). Этот сервер — отличный кандидат если текущий сервер времени начнёт отказывать вам.
  • «#» — сервер является отличным альтернативным сервером времени. Сервер с # можно увидеть только если у вас более 10 записей server в /etc/ntp.conf
  • «*» — текущий сервер времени. Его показания используются для синхронизации ваших часов.
  • «o» — сервер Pulse per second (PPS). Обычно это означает, что данный сервер времени использует источники времени типа GPS спутников и другие сигналы точного времени. Если рисуется о, то другие типы tally code уже отображаться не будут.

В поле refid могут быть следующие значения:

  • IP адрес — адрес удалённого сервера времени.
  • .ACST.- NTP manycast сервер.
  • .ACTS.- Automated Computer Time Service из American National Institute of Standards and Technology.
  • .AUTH.- ошибка аутентификации.
  • .AUTO.- ошибка в последовательностях Autokey.
  • .BCST.- NTP broadcast сервер.
  • .CHU.- Shortwave radio receiver от станции CHU в Ottawa, Ontario, Canada.
  • .CRYPT.- ошибка протокола Autokey.
  • .DCFx.- LF radio receiver от станции DCF77 в Mainflingen, Germany.
  • .DENY.- В доступе отказано.
  • .GAL.- European Galileo satellite receiver.
  • .GOES.- American Geostationary Operational Environmental Satellite receiver.
  • .GPS.- American Global Positioning System receiver.
  • .HBG.- LF radio receiver от станции HBG в Prangins, Switzerland.
  • .INIT.- Peer association initialized.
  • .IRIG.- Inter Range Instrumentation Group time code.
  • .JJY.- LF radio receiver от станции JJY в Mount Otakadoya, рядом с Fukushima или Mount Hagane на острове Kyushu, Japan.
  • .LFx.- Обычный LF radio receiver.
  • .LOCL.- локальные часы хоста.
  • .LORC.- LF radio receiver от Long Range Navigation (LORAN-C).
  • .MCST.- NTP multicast сервер.
  • .MSF.- Anthorn Radio Station рядом с Anthorn, Cumbria.
  • .NIST.- American National Institute of Standards and Technology.
  • .PPS.- часы Pulse per second.
  • .PTB.- Physikalisch-Technische Bundesanstalt от Brunswick и Berlin, Germany.
  • .RATE.- превышен порог опроса NTP.
  • .STEP.- изменение шага NTP. Смещение offset менее 1000 миллисекунд, но более 125 миллисекунд.
  • .TDF.- LF radio receiver от станции TéléDiffusion de France в Allouis, France.
  • .TIME.- NTP association timeout.
  • .USNO.- United States Naval Observatory.
  • .WWV.- HF radio receiver от станции WWV в Fort Collins, Colorado, United States.
  • .WWVB.- LF radio receiver от станции WWVB в Fort Collins, Colorado, United States.
  • .WWVH.- HF radio receiver от станции WWVH в Kekaha, на острове Kauai на Hawaii, United States.
Читать еще:  Как сруб регулировать домкратами

Рекомендации для клиента серверов времени.

Во-первых, избавьтесь от мысли как бы получить время от stratum 1, дескать они ближе всех к точному времени. Они то ближе к точнейшему времени на планете, только сами они перегружены и у них высокие задержки RTT для обычных серверов. Лучше найти нормальный stratum 2 и не переживать по этому поводу. Не забывайте, что речь идёт о микросекундах и миллисекундах, что в обычной жизни — вполне достаточно.

Во-вторых, помните, что подключение к ближайшему серверу времени не всегда идеальный вариант. Важнее не территориальная близость, а уровень stratum. Проект NTP Pool публикует список серверов только уровня stratum 1 и stratum 2 и лучше взять до 10 серверов времени из данного списка, что будет просто замечательно.

В-третьих, если вы простой домашний пользователь-клиент, то рекомендованные вам сервера в вашей операционной системе будут идеальным вариантом, не требующим лишних телодвижений.

Для крупных контор, лучшим вариантом будет поднятие своего сервера времени для рабочих компьютеров. Данный сервер будет получать точное время от серверов времени в Интернете и предоставлять его локальным компьютерам. На серверах Debian и Ubuntu достаточно раскомментировать строку

в конфигурационном файле демона ntpd — /etc/ntp.conf

Пользователи из сети 192.168/16 будут иметь возможность брать с вашего сервера показания точнейших часов. Для внутренних серверов на базе Linux, которые не являются серверами времени и занимаются своими задачами, вместо запуска демона ntpd в клиентском режиме — вполне достаточно указать в файле /etc/cron.daily/syncntpd. Рекомендуется прочесть различия между ntpdate и ntp и решить для себя вопрос.
#!/bin/sh
/usr/sbin/ntpdate IP.адрес.вашего.сервера > /dev/null 2>&1
exit 0

и раз в сутки, благодаря команде ntpdate, будет произведена синхронизация времени. Во избежании недоразумений, не поленитесь перед внедрением сервера времени и синхронизации всего и вся через протокол NTP — выставите вручную правильное время на всех доступных вам серверах и рабочих станциях. Если ваше несинхронизированное время слишком отличается от правильного, то можно вначале огрести много не нужных проблем.

В-четвёртых, NTP никак не связан, в какой стране и какие часовые пояса используются и как происходит переход на летнее и зимнее время и делается ли в данной стране такой переход. Это обязанность лежит на операционной системе, которую вам нужно обновлять, если в стране происходят изменения в часовых делах. В системах Debian и Ubuntu за это отвечает пакет tzdata, который должен быть актуальным.

В-пятых, лучше не поднимать свой NTP сервер на высоконагруженной системе.

Синхронизация времени через Интернет. Программа синхронизации времени через Интернет

Синхронизация времени через Интернет — это возможность компьютера, а в последнее время не только компьютера, сверять свое время с серверами точного времени в Интернете (о них ниже). Данной функцией обладают все современные операционные системы. Но следует заметить, что в некоторых случаях нужно доустановить парочку модулей для корректной работы этой функции.

Возможность синхронизации настраивается в момент первого запуска новоустановленной ОС. После настройки эта функция осуществляется на низком уровне, поэтому не зависит от прикладных программ, установленных на компьютере пользователя.

Как работает система

Запуск синхронизации происходит незаметно для пользователя в момент загрузки компьютера, если выход в Интернет осуществляется до загрузки. Примером такого варианта можно назвать, когда в сеть выходит ваш роутер, а вы подключаетесь к нему. Если Интернет стартует после загрузки системы, то проверка времени будет произведена в ближайшую свободную минуту.

Конечно, нельзя исключать момент, когда неопытный пользователь может нарушить работу этой функции. Тогда синхронизация времени через Интернет производиться не будет. В принципе, самому компьютеру безразлично, какое время ему показывать. Точное время в данном случае интересует самого юзера. Если машина пользователя достаточно новая, то хватит единожды установленного правильного времени на несколько лет.

Синхронизация в WinXP

Многие системы пишут частоту обновления, и по истечении определенного срока происходит автоматическая синхронизация времени через Интернет. Windows XP указывает это в настройке часов, расположенных на панели задач. Время последней синхронизации можно посмотреть, если нажать правой кнопкой по часам и выбрать пункт «Настройка даты/времени». В открывшемся окне нужно пройти по вкладке «Время интернета», где указано, когда была прошлая синхронизация и время будущей.

синхронизация времени через интернет

На картинке выше видно, что прошлая синхронизация завершилась ошибкой. Мы можем воспользоваться кнопкой «Обновить сейчас» для моментального обновления или выбрать из списка другой адрес. Сначала в списке два адреса, которые принадлежат Microsoft, обычно работают оба. В то же время в сети можно найти и другие сайты, дающие точное время. Найдя такой сервер, мы можем добавить его в этот список. Для этого не нужно нажимать на стрелку списка, достаточно нажать прямо на адрес в строке. Его необходимо выделить и вместо него добавить свой адрес (на всякий случай заметим, что настройки системы, в том числе и описанные выше, потребуют логина администратора). В любом случае, какой бы сервер ни использовался, между строками обычно выставляется неделя.

синхронизация времени через интернет windows xp

Картинка показывает, что серверов несколько, а срок синхронизации, если обратить внимание на даты, равен одной неделе.

Та же функция в Win 7

Сроки, частота обновления, запуск в Win7 скрывается в том же меню, что и в WinXP. Выбрав вышеописанный пункт «Настройка даты/времени», проходим по вкладке «Время по Интернету» (здесь это названо так).

синхронизация времени через интернет windows 7

Вот так это окно выглядит в русифицированной Win7. В окне будут два сообщения: как и с каким результатом отработала данная функция, когда будет следующая синхронизация времени через Интернет. Windows 7 показывает всю информацию, как и WinXp, но вот настройки скрыты в дополнительном окне. Открывается оно нажатием на кнопку, расположенную ниже сообщений. Нажимаем на нее и попадаем в новое окно, где видим уже знакомую кнопку «Обновить сейчас» и список серверов в выпадающем списке. На картинке у нас указано, что функция отработала в штатном режиме.

Программная синхронизация

Иногда провайдеры предлагают пакеты с оплатой по трафику. Часто так работают мобильные операторы. В таких пакетах, как правило, скорость не ограничивается, зато есть лимит в количестве полученных данных. О плюсах и минусах такого Интернета рассуждать не будем, но заметим, что каждая синхронизация — это расход трафика. Незначительный для одного компьютера, а если компьютеров 10, 50 или 100?

Кроме встроенных в систему средств, существует и другой способ. Установить на компьютере, непосредственно подключенном к сети, специальную программу. А на других устройствах настроить запрос времени. Трафик внутри сети, как правило, стоит дешевле (а иногда и вовсе бесплатный), чем трафик провайдера. И вместо использования устройства отдельного временного сервера есть решение и проще.

Программа синхронизации времени через Интернет существует далеко не одна и не две. В роли такой может выступить, например, Absolute Time Corrector. При первом запуске программа опросит список ресурсов, включенных по умолчанию (их более 250), проверит настройки и, выбрав самый быстрый, в дальнейшем будет работать с ним. Можно настроить запуск при старте системы, тип обновления вручную или автоматически и множество других параметров.

Читать еще:  Блок питания для светодиодов с регулировкой яркости

программа синхронизации времени через интернет

Для большинства случаев подходит автоматическая настройка. Для этого нужно выставить несколько галочек в нижней части окна. На картинке выше настроена проверка каждый час и запуск при старте системы. Для использования в роли сервера времени рекомендуется выставить также вторую сверху галочку «Коррекция времени», а также установить несколько галочек в верхней части третьей вкладки. Для удобства работы в программе предусмотрены не только визуальные, но и звуковые оповещения.

Серверы точного времени

Как работает эта функция? При наличии Интернета вышеописанная программа или сама система посылает запрос в Интернет на специальный компьютер. Таких в сети много: в разных странах, городах или дата-центрах, но всех их объединяет одно — это серверы синхронизации времени через Интернет, или их еще называют серверы точного времени. В то же время системное обновление времени совсем необязательно настраивать на работу через американские сайты. У России достаточно много своих серверов, адреса которых можно найти в Интернете и при желании переключить проверку на них.

серверы синхронизации времени через интернет

Кроме времени, отображается сводка погоды, восход, заход солнца и даже праздники. Кстати говоря, одно время пользователи Windows, чьи часы были настроены на синхронизацию по серверам Microsoft, испытывали проблемы: в РФ отменили перевод стрелок. А если синхронизация времени через Интернет сверялась с часами в России — проблем не возникало. Любая синхронизация действует по одному принципу — соединение с такими серверами.

Заключение

В большинстве случаев синхронизация времени через Интернет работает на компьютере автоматически. Ее можно сделать принудительно, но никаких особо важных настроек для этого делать не нужно. По умолчанию обновление происходит раз в неделю, вне зависимости от действий пользователя. Если по каким-то причинам нужно более частое обновление, и пользователь не хочет регулировать службы сам, можно поставить программу, в которой желаемую частоту обновления можно выставить вручную, минуя службы.

Как исправить проблемы с отображением времени в системе Windows 10

Windows 10 использует сетевой протокол времени (NTP) для соединения с серверами времени в Интернете, чтобы обеспечить точное системное время. В противном случае, если часы не синхронизированы правильно, у вас могут возникнуть проблемы с сетью, документами и другими файлами, которые вы создаете, так как для них будут установлены неправильные метки времени.

Хотя сервер времени по умолчанию является достаточно надежным, в некоторых случаях вам может понадобиться изменить его, например, если ваша текущая конфигурация заставляет ваше устройство отображать неправильное время, вы просто предпочитаете использовать другую службу или ваша компания использует определенную конфигурацию.

Независимо от причины, в Windows 10 можно переключать поставщиков времени, и вы даже можете добавлять собственные серверы времени в список по мере необходимости.

В этом руководстве по Windows 10 мы расскажем вам, как использовать разные серверы времени, чтобы убедиться, что ваш компьютер получает правильное время с помощью панели управления.

Как изменить сервер времени на Windows 10

  1. Откройте Панель управления.
  2. Нажмите на Часы и регион.
  3. Нажмите на Дата и время.
  4. Перейдите на вкладку Время по Интернету.
  5. Нажмите кнопку Изменить параметры .

Переход к настройке параметров интернет-времени Windows 10

Настройка времени по Интернету в системе Windows 10

После выполнения этих шагов Windows 10 будет синхронизировать время через Интернет с выбранным вами сервером.

Как добавить новые серверы времени в Windows 10

Если вы предпочитаете использовать другой сервер времени, которого нет в списке, также можно включить любой NTP-сервер, который вы хотите.

  1. Вернитесь к окну «Настройка времени по Интернету», которое мы использовали в предыдущем разделе.
  2. Убедитесь, что выбран параметр Синхронизировать с сервером времени в Интернете .
  3. Щелкните раскрывающееся меню и рядом с «Сервер» введите новый адрес сервера времени.

Добавление нового сервера времени в Windows 10

После добавления новой конфигурации вы можете быстро проверить, что всё работает, как ожидалось, проверив вкладку Интернет-времени, которая теперь должна содержать сообщение «Часы были успешно синхронизированы» со ссылкой на NTP-сервер, а также датой и временем синхронизации.

Добавление новых серверов времени через реестр

С помощью панели управления вы можете изменить настройки Интернет-времени на что угодно, но в списке можно сохранить только одну дополнительную запись. Если вы хотите добавить несколько адресов в список, вам нужно использовать реестр.

Предупреждение: это дружеское напоминание о том, что редактирование реестра рискованно и может привести к необратимому повреждению вашей установки, если вы не сделаете это правильно. Рекомендуется сделать полную резервную копию вашего компьютера, прежде чем продолжить.

  1. Используйте сочетание клавиш Win + R , чтобы открыть окно «Выполнить».
  2. Введите regedit и нажмите кнопку ОК , чтобы открыть реестр.
  3. Найдите следующий путь:

Добавление строкового параметра в реестре Windows

Добавление сервера времени через реестр Windows

Выполнив эти шаги, вы можете использовать инструкции для изменения сервера времени, но выберите только что добавленный сервер и не забудьте нажать кнопку Обновить сейчас .

Как устранить проблемы с синхронизацией времени

Если после изменения настроек ваше устройство по-прежнему испытывает проблемы с подключением к NTP-серверу, вы можете сбросить настройки службы времени Windows с помощью командной строки.

  1. Откройте командную строку.
  2. Введите следующую команду, чтобы отключить службу времени Windows, и нажмите Enter :

net stop w32time

net start w32time

w32tm /resync /nowait

Настройка сервера времени с помощью командной строки Windows

После выполнения этих действий ваше устройство должно синхронизироваться с часами через Интернет.

Записки IT специалиста

Синхронизация времени Active Directory с внешним источником

  • Автор: Уваров А.С.
  • 07.05.2020

ad-pdc-ntp-000.pngСинхронизация времени — важный и во многом достаточно критичный аспект работы Active Directory, особенно сегодня, когда широко используется взаимодействие с внешними системами и работа с сотрудниками, которые могут находиться в различных часовых поясах. Применение систем виртуализации вносит дополнительные особенности, которые также следует учитывать. Поэтому данный вопрос может оказаться не столь простым, как кажется, а синхронизация с внешним источником точного времени становится одной из актуальных задач.

Прежде всего вспомним, как происходит синхронизация времени в Active Directory. В качестве эталона времени выступает контроллер, владеющий ролью эмулятора PDC. Это FSMO-роль и эмулятором PDC может являться только один контроллер в каждом домене. С ним синхронизируют время остальные контроллеры домена. Доменные ПК и рядовые серверы сверяют часы с ближайшим контроллером домена.

ad-pdc-ntp-001.png

Сам эмулятор PDC в качестве источника точного времени может использовать либо аппаратные часы материнской платы, либо внешний источник точного времени, при нахождении в виртуальной среде также может быть использовано время хоста виртуализации.

О последней поговорим более подробно. Раньше все было довольно просто, источником времени в домене обычно служили аппаратные часы эмулятора PDC, ну отстали или убежали на пару минут, в конце концов можно и подвести. Когда добавилось требование взаимодействия с внешними системами критичными к точному времени (например, использующих криптографию), то в качестве источника времени стал выступать внешний сервер. От него получал время эмулятор PDC, с ним синхронизировались контроллеры, а от них точное время расходилось на остальных участников домена.

С приходом виртуализации все изменилось, появился еще один источник времени — время хоста виртуализации. Многие гипервизоры по умолчанию имеют включенной настройку синхронизации времени гостевых систем и при попадании в виртуальную среду контроллера может возникнуть следующая коллизия: контроллер синхронизирует время с хостом, но сам хост, являясь членом домена, в свою очередь синхронизируется с контроллером.

Еще хуже, если в виртуальную среду попадает эмулятор PDC, в силу особенностей таймера виртуальных машин, время внутри может достаточно сильно плавать, поэтому виртуальный эмулятор PDC всегда должен синхронизировать время с внешним источником, а синхронизация времени с хостом должна быть отключена, последнее касается и всех остальных виртуальных членов домена.

Давайте перейдем от теории к практике. Начнем с того, что выясним кто из контроллеров является эмулятором PDC и эталоном времени для домена. Это можно сделать на любом контроллере домена командой:

В выводе будут показаны все хозяева операций, нас интересует только эмулятор PDC.

ad-pdc-ntp-002.png

Затем перейдем на указанный контроллер и узнаем источник времени для него, для этого выполните команду:

Если в выводе вы увидите:

то источником времени являются аппаратные часы. А если там будет:

то вы имеете дело с виртуальной машиной, которая синхронизирует время с хостом.

Данную настройку следует исправить, это можно сделать в настройках виртуальной машины, отключив синхронизацию времени с хостом, либо в самой системе, для этого откройте ветвь реестра:

и установите для параметра Enabled значение .

ad-pdc-ntp-003.png

После данного изменения следует перезапустить Службу времени Windows или перезагрузить компьютер.

Следующим шагом будет настройка нашего эмулятора PDC на работу с внешними источниками точного времени. Все изменения также будут вноситься через реестр. Прежде всего изменим тип сервера на NTP, для этого откроем ветку

и для параметра Type укажем строковое значение NTP. А для параметра NtpServer зададим адреса серверов точного времени, после каждого из которых, через запятую укажем 0x8, если мы хотим работать как стандартный NTP-клиент или 0x1 если будем использовать собственные параметры, например:

Параметр Enabled установим в значение 1.

Затем перейдем в

и установим для параметра AnnounceFlags значение A.

Следующие параметры будут работать, только если мы при указании серверов добавили 0x1, иначе будут использоваться настройки, предлагаемые сервером. Чтобы задать период синхронизации откройте ветку

и для параметра SpecialPollInterval укажите десятичное значение в секундах.

и зададим максимальное время опережения и отставания часов, после которых синхронизация производиться не будет. Для этого используются параметры MaxPosPhaseCorrection (опережение) и MaxNegPhaseCorrection (отставание) для которых также следует задать десятичное значение в секундах. По умолчанию стоит 48 часов. Это значит, что если время на эмуляторе PDC уйдет от точного источника более чем на 48 часов в любую сторону, то синхронизация производиться не будет.

Если вы хотите, чтобы время синхронизировалось всегда, то установите в оба параметра шестнадцатеричное значение FFFFFFFF.

Выполнив настройки перезапустите Службу времени Windows, это также можно сделать в командной строке:

После чего еще раз выполним

и убедимся, что источником времени для эмулятора PDC является внешний сервер.

ad-pdc-ntp-004.png

Затем выполним данную команду на рядовых контроллерах домена, в качестве источника времени там должен быть указан эмулятор PDC, и на обычных ПК, где в выводе будет присутствовать любой из контроллеров домена. Обязательно выполните контроль для виртуальных машин, чтобы быть уверенным, что они используют время домена, а не хоста виртуализации.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Синхронизация времени между сервером и браузером

Я работаю над живой лентой для компании, которая отображает состояние их производственного графика в течение текущего 24-часового периода. Проблема в том, что некоторые сотрудники должны иметь возможность просматривать эту прямую трансляцию из-за рубежа и в разных часовых поясах.

Есть 2 элемента, которые должны отображать текущее время «on-site» (сервер):

Часы, которые должны показывать текущее время на месте.

Clock

Индикатор выполнения, который показывает прогресс в течение текущего 24-часового периода на месте.

Progress Bar

Я знаю, что синхронизация времени в прямом эфире неэффективна. Я не уверен в том, как компенсировать время на клиенте, чтобы соответствовать серверу, потому что я могу столкнуться с рядом проблем:

  • Переход на летнее время в любом месте
  • Timezone впереди или позади сервера

Если у кого-то есть какой-либо опыт/идеи, чтобы помочь, это будет очень ценно.

3 ответа

  • Как передать структуры данных между браузером и сервером

В контексте интерактивных веб-приложений, особенно библиотек, использующих такие технологии, как websockets, как мы можем передавать структуры данных (например, карты, списки, наборы и т. д.) между клиентским браузером и сервером? Примеры, с которыми я сталкивался до сих пор, передают только.

Может ли кто-нибудь объяснить, как происходит связь между браузером и веб-сервером? Я хочу научиться GET, POST глаголов (среди прочих) печенье сессий строки запроса Работа за кулисами.

Серверное время должно быть в UTC. Таким образом, легче перемещать часовые пояса.

Не полагайтесь на клиента для timezone, так как это зависит от машины клиента, которая может быть установлена в любое время и timezone. У вас есть учетная запись, для которой требуется timezone. Используйте это для смещений timezone. По той же причине, по которой онлайн-сервисы запрашивают у вас timezone, а не обнаруживают его.

Затем вы можете либо перейти на интервальную синхронизацию, либо на сокеты. Обратите внимание, что задержка может задержать его на несколько секунд.

Интервальная синхронизация

Вы можете попросить сервер предоставить начальное время и смещение timezone. Рассчитайте начальное время клиента на основе этих исходных данных и попросите клиентскую сторону выполнить тиканье. Поскольку сценарий может выйти из синхронизации, вы периодически синхронизируетесь с сервером, например, каждые 5 минут или около того.

Розетки

Пусть сервер вычислит время пользователя в его timezone и каждую секунду отправляет его по линии через сокеты. Все, что вам нужно сделать на стороне клиента, — это отобразить его.

Непосредственно с веб-сайта MDN :

Это даст вам смещение timezone в минутах между UTC и местным временем (приведенный выше пример делится на 60, чтобы преобразовать в часы). Это уже будет учитывать летнее время.

Если ваш сервер помещает смещение сервера timezone в переменную на странице или отправляет его с текущими данными, или если текущие данные находятся в UTC времени, вы можете рассчитать разницу между клиентом и данными.

Предоставьте своим пользователям возможность выбрать timezone, в котором они находятся (через раскрывающийся список или страницу параметров), и установите его с помощью собственной функции date_default_timezone_set php.

Затем автоматически рассчитывается разница во времени между хост-сервером и пользователем, а также учитывается переход на летнее время.

Затем отобразите время, используя функцию даты php:

Похожие вопросы:

Я делаю сценарий аукциона, и синхронизация времени между посетителями и сервером необходима (когда закончится аукцион). Каждый раз, когда пользователь делает ставку, время окончания аукциона.

Существует проблема совместного использования буферов между node.js и браузером, содержащим двоичные данные. Я очень доволен Socket.io в качестве транспортного уровня, но проблема в том, что нет.

Как мы можем измерить разницу во времени между временем сервера и временем браузера ? Если мы берем время в миллисекундах как в браузере, так и на сервере, даст ли это мне точный результат, если.

В контексте интерактивных веб-приложений, особенно библиотек, использующих такие технологии, как websockets, как мы можем передавать структуры данных (например, карты, списки, наборы и т. д.) между.

Может ли кто-нибудь объяснить, как происходит связь между браузером и веб-сервером? Я хочу научиться GET, POST глаголов (среди прочих) печенье сессий строки запроса Работа за кулисами.

При отображении очень большого неупорядоченного списка в веб-приложении, как можно синхронизировать этот список с генерируемой сервером (и запоминаемой) копией, не перезаписывая весь список с.

Когда дело доходит до мобильных приложений, большую часть времени клиент будет находиться в автономном режиме. Прямо сейчас, когда пользователь отправляет данные на клиент, они сохраняются локально.

Мне нужно уметь смотреть и описывать взаимодействие клиента и сервера между моим браузером и сервером Google. Я скачал net-tools, но не могу конкретно увидеть связь, я пробовал Wireshark, но это.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector