4h4-auto.ru

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

Синхронизация времени через Интернет в Ubuntu

Синхронизация времени через Интернет в Ubuntu

Синхронизация времени через Интернет в Ubuntu

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

Автоматическая синхронизация точного времени с сервером расположенным в Интернете — это хороший способ держать электронные часы ОС всегда «подведенными». Благодаря этому на вашем компьютере часы будут показывать всегда актуальное время.

Как работает синхронизация времени через Интернет?

Синхронизация времени производится посредством специального протокола передачи данных — NTP (Network Time Protocol). Этот протокол включает в себя набор сложных алгоритмов, которые позволяют с большой точностью синхронизировать время (до тысячных миллисекунд расхождения).

Есть более упрощенная версия этого протокола — SNTP (Simple Network Time Protocol), который используется в сетях, где не требуется высокая точность синхронизации (до 1 сек. расхождения).

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

Синхронизация времени через Интернет в Ubuntu

«Вторичные» сервера синхронизируются с серверами первого уровня посредством протокола NTP. Расхождение по времени между ними достигает порядка 20 миллисекунд. Таких серверов значительно больше и поэтому целесообразней настраивать синхронизацию именно с ними.

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

Настройка синхронизации времени в Linux Ubuntu

По-умолчанию в операционной системе Ubuntu, начиная с версии 9.10, время синхронизируется автоматически при каждом запуске ОС. Но не лишнем будет это проверить и убедится в правильности работы синхронизации.

Чтобы синхронизировать время в Ubuntu нам нужно:
  1. Установить пакет синхронизации времени ntp:
  • ntp1.imvp.ru
  • ntp.psn.ru
  • time.nist.gov
  • pool.ntp.org
  • ru.pool.ntp.org

Обратите внимание на кавычки. Такое написание правильное.

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

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

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

Читайте так же:
Какова методика проверки и регулировки установки фар

При покупке терминала следует обратить на это внимание.

  1. Неправильно закрываются терминальные сессии после закрытия приложения
  2. Подробная настройка апплета уведомлений в Ubuntu
  3. Как перенести ERD Commander на флешку?
  4. Advanced IP Scanner — простой сетевой сканер на всякий случай
  5. Обучаем Skype стандартным уведомлениям Ubuntu
  6. Калькулятор в Ubuntu стал широким? Есть решение!
  7. Список радиостанций для Rhythmbox
  1. Александр #
    3 сентября, 18:07

Спасибо. Добавил в свой список “how-to”

доброго времени суток!

наскольо сам помню тему, параметр
ntpd_enable=»YES»
не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…

в Ubuntu синхронизация времени как раз и происходит при поднятии сетевого интерфейса (см. файл /etc/network/if-up.d/ntpdate)…
при чём “дебиановцы” умные ребята,- запуск “нтпдейт” настроен таким образом, что, если в системе, будет установлен полный пакет “нтп”, “нтпдейт” не будет мешать работе “нтп”, более того он (“нтпдейт”) в своей работе будет использовать настройки “нтп”…

в чём разница между этими двумя пакетами?
“нтпдейт” просто утилита которая запускается, выполняет работу и уходит… её можно сравнить с таким поведением: Вы просыпаетесь утром, набираете на телефоне службу точного времени, подводите часы, если они отстают, и не вспоминаете про часы до следующего утра…
“нтп” это демон, процесс постоянно висящий в памяти и постоянно делающий работу… его можно описать так: Вы нанимаете рабочего, который каждые десять минут (к примеру) звонит в службу точного времени и подводит часы, при этом он ведёт журнал, в котором записывает насколько он каждый раз подвёл часы… благодаря журналу даже если у Вас отключат телефон (пропало соединение с серверами верхних уровней) работник (“нпт”) сможет и сам подводить часы…

у меня в “локалке” я настроил сервер времени используя “нпт”… он раздаёт точное время доменным контроллерам (на “оффтопике”)… моё ИМХО – в локалке такой сервер нужен, дома хватает и “нтпдейта”…

У меня Mint 9, в нем нет файла /etc/rc.conf, что делать чтобы автоматически при каждой загрузке ОС была синхронизация?

В rc.conf нет параметра “ntpd_enable” для РЕДАКТИРОВАНИЯ =)
Но есть параметр “exit” с параметром “0”. Прочитал закоменченную сопроводиловку в файле – ниче толком не понял )
Я так понимаю логично было бы добавить ntpd_enable=»YES» ДО “exit 0”.
Но шипко смущает фраза
>> … By default this script does nothing.
Таки надо “exit 1”?
ОС – Убунту 10.04 с последними обновлениями

x0r: наскольо сам помню тему, параметр ntpd_enable=»YES» не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…

Спасибо, за развернутый комментарий.

Читайте так же:
Механизм регулировки света фар

полезная статья! только для камчатски вроде как бесполезная :))

зы: почаще бы обновлялся раздел статей на вашем сайте;)

Спасибо за столь разжеванную статью. Очень полезная функция. Жаль, что она не встроена в саму утилиту настройки времени как в винде…

root@desktop:/home/pupkin# crontab -l
# m h dom mon dow command
* */8 * * * ntpdate ru.pool.ntp.org
ntpdate есть из коробки.

Очень тупой вопрос. А разве время не синхронизируется само?

Замечания по оговоркам в статье:
1) Тысячная миллисекунды называется микросекундой
2) Первичные сервера находятся не в КРОНЕ , а в КОРНЕ дерева серверов.

Делюсь опытом ESP8266 синхронизация времени с NTP сервером. UnixTime и конвертация времени.

Нашел и отладил утилиты синхронизации времени с NTP сервером, конвертации времени из UNIX формата (число секунд с 01.01.1970) в обычный и обратно. Что очень полезно для программирования событий на ESP 8266. Естественно, чтобы использовать их, необходимо, чтобы ESP8266 была подключена к сети с выходом в интернет. До того, как произойдет синхронизация (может не произойти с первого раза), она пытается это делать каждые 10 секунд, после этого — раз в сутки, т.к. есть встроенные часы по таймеру Tcker.h

Также прикладываю утилиты конвертации IP адреса в/из строкового формата.

gerkimuyda
New member
  • #2
enjoynering
Well-known member
  • #3

стандартные arduino примеры об этом не знают.

Вы бы взяли и рассказали как надо в картинках.

New member
  • #4

стандартные arduino примеры об этом не знают.

Вы бы взяли и рассказали как надо в картинках.

CodeNameHawk
Moderator
  • #5
enjoynering
Well-known member
  • #6
CodeNameHawk
Moderator
  • #7
Активный участник сообщества
  • #8
enjoynering
Well-known member
  • #9
Активный участник сообщества
  • #10

Запрос у удаленного NTP всё равно не точен (тем более по примеру в данной теме ), без специальных алго фильтров и сотней опросов, и при единичном запросе его колбасит обычно на +-2 сек.

Зачем вообще зависучей игрушке время?
Напишите в поиске форума "синхронизация" — только по этому слову выпадут десятки тем и скетчей как получить и обработать время по NTP. Каждый, вновь заходящий, без поиска пишет новую тему и новый глюко-скетч, когда в SDK всё строено и вызывается парой команд, да в протоколе WiFi уже есть синхронизация, точность которой и не снилась NTP.

Читайте так же:
Как отрегулировать тормозные ленты вом на мтз
shuraf
Member
  • #11
Chatlanin
New member
  • #12
Активный участник сообщества
  • #13

А на чем построены графики расхождения кварцев за отсчеты в 0.1 сек от температуры роутера и ESP в мкс ?
Всё в web-свалке, вам надо какую-то опцию включить при сборке проекта (забыл уже, т.к. у меня проектов много, а это было давно) и описать страничку HTML приема отсчетов c отображением в график на javascript и закинуть на диск web ESP. Тогда в любом броузере будет создавать аналогичный график Т.е. в данном случае такой синхронизации хватает для вывода звука на разнесенные колонки и триангуляции на источник звука в пару метров (с учетом скорости ветра)

Для отображения часов обычно ставят GPS и используют стандартный её выход строба секундных отсчетов. Но на Arduino невозможно даже с программным ФАПЧ получить точность внешних событий (изменений на GPIO, хоть по прерыванию) лучше 50 us из-за биений с запретами прерываний в системе.
Если поставите внешний MCU, то с бытовых GPS модулей и программным ФАПЧ сможете синхронизовать только вставку кадров (переключение на рекламу без срыва синхро) в транслируемое аналоговое телевидение и то с биениями.

Сервер для синхронизации времени unix

ФГУП «ВНИИФТРИ» предоставляет открытый доступ к серверам синхронизации шкалы времени по протоколу NTP . На данный момент работает группа из 4-х серверов stratum 1, подключенных к государственному первичному эталону времени РФ , 4-х серверов stratum 1, подключенных к вторичным эталонам и один сервер stratum 2 синхронизирующийся с основной группировкой серверов. Все сервера предоставляют доступ по протоколу NTPv4 IPv4 в соответствии с международным стандартом RFC-5905 .

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

  • демон ntpd для Unix-подобных систем
  • встроенные средства настройки даты и времени или W32tm.exe для операционных систем MS Windows

Описание выпускаемых изделий:

АдресПортУровеньУстройствоДоступ
ntp1.vniiftri.ruIPv4 UDP 123stratum 1Meinberg LANTIME M300/MRSсвободный
ntp2.vniiftri.ruIPv4 UDP 123stratum 1Meinberg LANTIME M300/MRSсвободный
ntp3.vniiftri.ruIPv4 UDP 123stratum 1Meinberg LANTIME M300/MRSсвободный
ntp4.vniiftri.ruIPv4 UDP 123stratum 1Symmetricom SyncServer S250iсвободный
ntp21.vniiftri.ruIPv4 UDP 123stratum 2Linux kernel ntpd 4.2.6 Intel Xeonсвободный
ntp1.niiftri.irkutsk.ruIPv4 UDP 123stratum 1свободный
ntp2.niiftri.irkutsk.ruIPv4 UDP 123stratum 1свободный
vniiftri.khv.ruIPv4 UDP 123stratum 1Meinberg LANTIME M300/MRSсвободный
vniiftri2.khv.ruIPv4 UDP 123stratum 1Meinberg LANTIME M300/MRSсвободный
Читайте так же:
Регулировка ремня поясной сумки

Свидетельство о включении в состав передающих средств эталонных сигналов частоты и времени ГСВЧ РФ группы тайм-серверов ФГУП ВНИИФТРИ и его филиалов

NTP использует для своей работы протокол UDP. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.

NTP использует алгоритм Марзулло (предложен Кейтом Марзулло (Keith Marzullo) из Университета Калифорнии, Сан-Диего), включая такую особенность, как учёт времени передачи. В версии 4 способен достигать точности 10 мс (1/100 с) при работе через Интернет, и до 0,2 мс (1/5000 с) и лучше внутри локальных сетей.

Время представляется в системе NTP 64-битным числом (8 байт), состоящим из 32-битного счётчика секунд и 32-битного счётчика долей секунды, позволяя передавать время в диапазоне 2 32 секунд, с теоретической точностью 2 −32 секунды. Поскольку шкала времени в NTP повторяется каждые 2 32 секунды (136 лет), получатель должен хотя бы примерно знать текущее время (с точностью 50 лет).

7.15 ntpdate — утилита синхронизации времени в ОС

В РЕД ОС синхронизировать время можно следующими основными способами:

  • вручную при помощи утилиты ntpdate;
  • автоматически при помощи сервиса ntp.

Программа ntpdate — позволяет разово синхронизировать локальное время с эталонным сервером времени в интернете. Подобных эталонов существует достаточно много. Для примера можно воспользоваться одним из них — pool.ntp.org.

Запускаем синхронизацию времени:

Утилита провела синхронизацию, в результате которой к системному времени было добавлено число секунд, необходимое для приближения к эталонному. Если в результате работы синхронизации возникает ошибка: «no server suitable for synchronization found», то попробуйте в работе утилиты использовать непривилегированный порт. По-умолчанию ntpdate работает по 123 порту. Если он закрыт на фаерволе, то помочь в синхронизации поможет следующий параметр:

Если у вас запуск ntpdate завершается ошибкой — «the NTP socket is in use, exiting», значит у вас уже установлена и запущена служба ntpd, которая заняла необходимый udp-порт, необходимый для работы ntpdate.

Сервер времени ntp использует в своей работе одноименный протокол — Network Time Protocol, которому для работы необходим UDP-порт 123. Так что перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.

Устанавливаем сервер ntp:

Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:

Читайте так же:
Где регулировка фар авео

Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:

Теперь отредактируем файл конфигурации /etc/ntp.conf, удалив все лишнее:

serverСписок серверов для синхронизации времени.
DriftfileЗадает адрес файла, в котором хранится история изменений времени во время синхронизации. Если по каким-то причинам синхронизация времени с внешними источниками станет невозможна, служба времени изменит системные часы в соответствии с записями в этом файле.
Restrict 127.0.0.1Указывает, что пользоваться нашим сервером времени можно только непосредственно с локального интерфейса. Если вам необходимо разрешить другим компьютерам в вашей локальной сети синхронизировать время с текущей машины, то укажите в данном параметре адрес вашей сети, например:

restrict 192.168.10.0 mask 255.255.255.0

restrict default nomodify notrap nopeer noquery — Параметры указывают на то, что клиентам данного сервиса времени запрещено изменять его настройки, получать его статус. Они могут только забрать с него значения точного времени.

disable monitor — Данный параметр повышает безопасность, предотвращая использования одной из уязвимостей сервиса ntpd, которую можно использовать для проведения DDoS атак.

Logfile — Указывает путь к файлу с логами сервиса.

После завершения редактирования файла настроек запускаем службу синхронизации времени:

Проверяем запустился ли сервер:

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

Теперь настроим автозапуск ntp вместе с загрузкой используемой ОС:

Наблюдать за работой службы ntp можно с помощью команды:

remoteАдрес удаленного эталона времени, с которого была синхронизация.
RefidУказывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое.
StУровень (Stratum) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1.
pollИнтервал в секундах между опросами.
ReachВосьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил.
DelayВремя задержки ответа на запрос о точном времени.
OffsetРазница между вашим и удаленным сервером
jitterДисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время.

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

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