Atrium96.ru

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

Записки программера

Чтобы понять устройство 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 секунда), то он будет исключён из списка и будут использоваться другие вместо него. Данный механизм позволяет отсеивать плохие источники времени.

aliexpress Интернет-магазин AliExpress — на русском языке. Товары от розничных и оптовых продавцов из Китая с возможностью бесплатной доставки.

ePN ePN cashback — Возвращать себе от 7% от стоимости каждой покупки ещё легче!

kopikot Kopikot — Возвращайте деньги с интернет-покупок! Покупайте в любимых магазинах с кэшбэком от Kopikot и экономьте!

letyshops LetySHOPS — Покупайте в более чем 955 интернет-магазинах по всему миру и возвращайте часть денег за покупки.

Установка и настройка NTP-сервера

Самым известным и распространенным программным средством для синхронизации времени является демон ntpd. В зависимости от настроек, указанных в конфигурационном файле (об этом еще пойдет речь ниже), он может выступать как в качестве сервера, так и в качестве клиента (т.е может как принимать время с удаленных хостов, так и раздавать его другим хостам). Ниже мы подробно расскажем о том, как осуществляется установка и настройка этого демона в OC Ubuntu.

Выводы

На этом — все. Установка NTP Ubuntu 18.04 была завершена успешно. Мы настроили как серверную часть, так и клиентскую для синхронизации с NTP-сервером. Свои вопросы и пожелания пишите в комментариях.

Нет похожих записей

Оцените статью:

Об авторе

Автор: James Kiarie

Больше восьми лет назад мною было принято решение объявить бойкот оконной монополии и установить на свой компьютер Ubuntu. С тех пор это моя основная ОС. Иногда в порядке эксперимента «подселяю» к ней собратьев из семьи Linux. Увлекаюсь фотографией и горным туризмом. В свободное от работы время пишу статьи для losst.ru.

Читайте так же:
Как отрегулировать термостат для воды

9 комментариев

В России не будет же перевода времени.

это пока да. но потом придёт какой-нибуть дрянелькин и решит что управлять страной не по плечу и займётся тем что никому не нужно и будет управлять не только временим а геометрию часовых поясов перекраивать. а за ним придёт какой нибуть грёбпутин и решит что всё дерьмо надо как-то разгребать и начнёт так жэ с того что мало кому нужно, выправлять время. но это так об истории а вопрос далее.
спасибо автору за статью! да достаточно хороша, но немножко не полная. действительно сайт посвещён только операцыонке линуксов, но по скольку эта статья касается серверных задач, надо жэ предполагать что сети состоят не только из одних линуксов. но хотябы в скользь упомянуть и про другие настройки остальных операцыонок. к примеру для виндовозников подобный сервер в сети не совсем полезен. к примеру в командной строке виндовозни команда net time \host к подобному серваку на линуксе обратиться можэт и дажэ достаточно хорошо с ним синхронизируется. но вот стандартная служба с этим линуксовым сервером времени работать не будет. по скольку эта самая виндовозная служба работает с серверами времени через http. вопрос? как на линуксе организовать http сервер времени для синхронизацыи всех машин под любой операцыонкой?
всем всего хорошего!

Обратите внимание за запись в /etc/ntp.conf

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

Но для виндов лучше в настройках обновления времени через по Интернет указать локальный сервер NTP. Или в DNS локальной сети узлу time.windows.com, который перегружен и часто недоступен, сопоставить IP сервера NTP.

Вторым вариантом м.б. все запросы по udp по порту 123 от потребителей локальной сети заворачивать на порт 123 компьютера, на котором установлен сервер NTP.

Здравствуте ! Занимательно! Но у вас при вводе sudo vim /etc/ntp.conf. работает не vim , а nano.

в целом неплохо, но для новичков
nano — фу, vim — рулит

Может ошибка в статье? У меня на sudo systemctl restart ntp отвечает Failed to restart ntp.service: Unit ntp.service not found, и с start/enable то же самое. Попробовал заменить ntp на ntpd по аналогии с sshd, и запустилось.

Всё-таки непонятно, если у меня не какой-то сервер, а просто домашний компьютер с Xubuntu 1804 ?
И я хочу ,чтобы в нём часики шли поточнее, какие команды мне набрать и что подредактировать?

Меню -> Системные -> Дата и время -> В строке «Конфигурация» выбрать «Синхронизировать с серверами Интернет».

На Xubuntu 1604 именно так я и поступал. Заходил в Настройки, выбирал : «Синхронизировать с серверами Интернет», на что система сообщала ,что необходимо установить поддержку протокола NTP и тут же предлагала решение, автоматически устанавливались какие-то пакеты и всё работало.
А в Xubuntu 1804 это уже так не работает. На мои действия я получаю ответ:
«Поддержка протокола NTP не установлена.Установите и активируйте. »
Что я должен установить и что активировать?

Читайте так же:
Стояночный тормоз matiz регулировка

Чтобы мы могли поднять сервер, нам нужен соответствующий пакет, который по умолчанию отсутствует в RouterOS 6.48.3. Переходим на сайт https://mikrotik.com/download

Т.к. у нас стенд реализован на CHR, то качаем Extra package для него.

Качаем пакеты NTP Mikrotik

Когда вам нужен будет пакет для HAP AC2, то и качаем соответствующий Extra package для его архитектуры процессора.

Распаковываем скачанный архив, подключаемся к CORE-1 методом Drug-and-Drop переносим пакет в окно Winbox. Либо можете нажать Upload в меню Files. Перезагружаем девайс.

Загрузка файлов и пакетов в микротик

После перезагрузки, в меню System, видим, что пакет установился корректно.

Проверяем корректность установки пакета NTP

Для начала на CORE-1 нужно сказать откуда брать время. Предлагаю использоваться Stratum-ом. Переходим в System-NTP Client и задаём параметры:

  1. Primary – основной сервер синхронизации;
  2. Secondary – запасной сервер синхронизации;
  3. Режим работы – unicast;
  4. Ставим галочку Enabled.

После нажатия Apply – пройдёт преобразование имён и вместо них подставятся IP адреса.

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

Далее идём в System – Clock и указываем тайм зону.

Настройка таймзоны в микротик

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

Включение отображения времени в winbox

Проверим статус синхронизации можно через CLI

Смотрим на статус синхронизации времени через cli

Клиентская часть коры настроена, время получаем корректное, теперь перейдем к настройке серверной. Ставим галочку Enabled и применяем изменения.

Настройка сервера NTP на Mikrotik

Если вы хотите, чтобы сервер был доступен через широковещание то ставим галочку broadcast, если через IGMP, то Multicast.

На CORE-1 так же настроен DHCP-Server, укажем его адрес для выдачи клиентам DHCP в каждой подсети.

Раздаем адрес NTP сервера в сети

Обращаю внимание, что данный сервер времени будет прилетать абсолютно всем клиентам сети.

Синхронизируем время в Linux

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

Настройка даты через графический интерфейс

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

  1. Откройте меню приложений и отыщите там «Параметры».

Переход к параметрам для настройки времени в Linux через графическое меню

Переход к сведениям о системе для настройки времени в Linux через графическое меню

Переход к настройкам даты и времени Linux

Отключение или включение автоматического определения даты и времени в Linux

Ручная настройка времени и часового пояса через графическое меню Linux

Окно для выбора часового пояса через графическое меню Linux

Выбор формата отображения времени через графическое меню Linux

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

Стандартные команды для управления временем

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

    Начните с запуска «Терминала». Сделать это можно, например, нажав на соответствующий значок в меню приложений.

Читайте так же:
Регулировка теплового зазора в клапанном механизме грм

Запуск терминала для использования команд времени в Linux

Ввод команды для просмотра текущей даты в терминале Linux

Просмотр текущей даты через терминал Linux

Вызов команды для просмотра часового пояса через терминал в Linux

Просмотр списка часовых поясов через терминал в Linux

Ввод команды для изменения текущего часового пояса через терминал в Linux

Ввод пароля Linux для изменения часового пояса через терминал

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

Взаимодействие с сервисом timesyncd

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

    Для определения текущего статуса timesyncd используйте команду timedatectl в консоли.

Вызов команды для проверки текущего состояния сервиса синхронизации времени Linux

Просмотр информации о текущем состоянии сервиса синхронизации времени Linux

Команда для активации работы сервиса синхронизации времени в Linux

Установка NTPD

Последний раздел нашего сегодняшнего материала будет посвящен замене упомянутого выше сервиса синхронизации времени на более надежный протокол NTPD (Network Time Protocol daemon). Именно его раньше задействовали во многих дистрибутивах по умолчанию и хвалили за корректное взаимодействие с особо чувствительными ко времени приложениями. Инсталляция и замена сервиса происходит так:

    Для начала отключите стандартную утилиту, введя sudo timedatectl set-ntp no .

Ввод команды для отключения сервиса синхронизации времени в Linux

Подтверждение пароля для отключения сервиса синхронизации времени в Linux

Проверка информации о текущем состоянии сервиса после отключения Linux

Команда для установки обновлений Linux перед установкой программ

Команда для установки нового сервиса синхронизации времени

Подтверждение установки нового сервиса синхронизации времени Linux

Ожидание завершения установки нового сервиса синхронизации времени Linux

Использование нового сервиса для синхронизации времени в Linux

Network Time Protocol daemon будет активирован автоматически, поэтому никаких дополнительных команд вводить не нужно. Вы можете сразу же приступить к тестированию проблемных приложений или выполнять другие действия, ради которых и осуществлялась инсталляция нового сервиса синхронизации времени.

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

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

Помимо этой статьи, на сайте еще 12419 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Сетевой протокол времени NTP

В модели NTP некоторое число первичных эталонов времени, синхронизованных по кабелю или с помощью национальных радиослужб времени, подключено к широкодоступным ресурсам, таким, как порты опорной сети. Эти устройства функционируют как первичные серверы времени. Целью NTP является передача информации о точном времени от этих серверов к другим серверам через Интернет и коррекция ошибок, связанных с флуктуациями задержек в сети. Некоторое число локальных ЭВМ или внешних шлюзов могут выполнять функции вторичных серверов времени, общающихся с первичными эталонами на основе протокола NTP . Вторичные серверы позволяют минимизировать избыточность протокола, рассылая нужную временную информацию локально. В целях обеспечения надежности выбранные вторичные источники могут быть снабжены менее точными, зато более дешевыми радио-часами, используемыми в ситуациях, когда откажет первичный эталон или выйдет из строя ведущий к нему канал.

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

Читайте так же:
Как отрегулировать давление на турбине дизеля

Протокол NTP создан с целью определения трех величин: смещения часов (clock offset ), RTT и дисперсии; все они вычисляются по отношению к выбранным эталонным часам. Смещение часов определяет поправку, которую необходимо внести в показания местных часов, чтобы результат совпал с показанием эталонных часов. Дисперсия характеризует максимальную ошибку локальных часов по отношению к эталонным.

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

Реализация модели

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

Модель клиент-сервер может быть вполне достаточна для локальных сетей, где один сервер обслуживает некоторое количество клиентов. В общем случае NTP требует одновременной работы большого числа распределенных пар партнеров (клиент- сервер), конфигурация которых изменяется динамически. Нужны достаточно сложные алгоритмы управления такой ассоциацией для обработки данных и контроля множества локальных часов.

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

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

Конфигурации сети

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

Следуя принципам, принятым в телефонной промышленности, точность каждого сервера определяется номером слоя ( stratum ), наивысший уровень (для первичного сервера) имеет номер 1. На современном уровне технологий (радио-часы) точность однократной сверки имеет порядок одной миллисекунды.

Точность однократной сверки падает по мере роста значения RTT и его разброса. Для того, чтобы избежать сложных расчетов [BRA80], необходимых для оценки точности в каждом конкретном случае, полезно предположить, что средняя ошибка измерения пропорциональна RTT и ее дисперсии. Предполагая, что первичные серверы синхронизованы стандартами времени с известной точностью, можно получить вполне надежную оценку точности синхронизации субсети.

Читайте так же:
2107 карбюратор нет тяги регулировка

Дополнительным фактором является то, что каждый переход от одного слоя к другому предполагает наличие ненадежного сервера времени, который вносит дополнительные ошибки. Алгоритм выбора серверов времени использует разновидность алгоритма маршрутизации Беллмана-Форда, при этом формируется дерево минимальных весов, основанием которого являются первичные серверы. Метрикой расстояния служит номер слоя плюс расстояние синхронизации, которое характеризуется суммой дисперсии и половины абсолютного значения задержки.

Такая конструкция способствует тому, что субсеть автоматически реконфигурируется и настраивается на максимально достижимую точность даже при выходе из строя первичных или вторичных серверов времени. Если даже все первичные серверы выйдут из строя или станут недоступными, их функции будут выполнять вторичные серверы, если расстояние до них, согласно алгоритму Беллмана-Форда, не превышает значения метрики, соответствующего бесконечности (разрыву связи). Если все серверы окажутся на больших расстояниях, субсеть продолжит работу при установках, выполненных при последней синхронизации (коррекции внутренних часов). Даже в этом случае достижима точность порядка миллисекунд в сутки.

Если два сервера находятся согласно алгоритму на равных расстояниях, допускается случайный выбор.

Форматы данных

Все арифметические операции в рамках протокола выполняются в формате с фиксированной запятой . По этой причине все переменные в NTP имеют именно этот формат. Биты пронумерованы слева направо (со старшего бита), начиная с нуля. Жестких требований на число разрядов после запятой не установлено. Если не оговорено обратного, все числа не имеют знака и занимают всё отведенное для них поле (при необходимости в качестве заполнителей старших разрядов используются нули).

Временные метки NTP представляют собой 64-битные числа с фиксированной запятой без знака, которое указывает число секунд с нуля часов 1-го января 1900 года. Целая часть содержит первые 32 разряда, а дробная часть — остальные 32 разряда. Этот формат не совпадает с форматом меток ICMP , где время измеряется в миллисекундах. Точность представления составляет 200 пикосекунд, что должно удовлетворить самым экзотическим требованиям.

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

Заметим, что с 1968 года старший бит ( бит 0 целой части) равен единице, а где-то в 2036 году 64-битовое поле переполнится.

Переменные состояния и параметры

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

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