ОпенНТПД
![]() «Снова спасаем мир... вовремя» | |
Разработчик(и) | Проект OpenBSD |
---|---|
Стабильная версия | 6.8п1
/ 7 декабря 2020 г [1] |
Репозиторий | https://github.com/openntpd-portable |
Написано в | С |
Операционная система | OpenBSD , FreeBSD , NetBSD , Linux , macOS , Solaris [2] |
Стандарт (ы) | RFC 1305, RFC 5905 |
Тип | Синхронизация времени |
Лицензия | ISC |
Веб-сайт | www |
OpenNTPD (также известный как OpenBSD NTP Daemon ) — это Unix демон , реализующий протокол сетевого времени для синхронизации локальных часов компьютерной системы с удаленными NTP-серверами. Он также может выступать в качестве NTP-сервера для NTP-совместимых клиентов.
OpenBSD NTP Daemon изначально был разработан Александром Гаем и Хеннингом Брауэром как часть проекта OpenBSD при дальнейшей помощи многих авторов. Цели его разработки включают безопасность ( невозможность использования ), простоту настройки и достаточную точность для большинства целей. Его портативная версия, как у OpenSSH , [3] разработан как дочерний проект, который добавляет код переносимости в версию OpenBSD и выпускает его отдельно. Портативная версия разработана Брентом Куком. [4] Разработчики проекта получают некоторое финансирование от OpenBSD Foundation .
История
[ редактировать ]Разработка OpenNTPD была мотивирована сочетанием проблем с текущими демонами NTP: сложная конфигурация, сложный и трудно поддающийся аудиту код и неподходящее лицензирование. [5] OpenNTPD был разработан для решения этих проблем и обеспечения доступности синхронизации времени для более широкого круга пользователей. После периода разработки OpenNTPD впервые появился в OpenBSD 3.6. [6] О его первом выпуске было объявлено 2 ноября 2004 года. [7]
Цели
[ редактировать ]OpenNTPD — это попытка команды OpenBSD создать реализацию демона NTP, которая была бы безопасной, простой для аудита , простой в настройке и администрировании, достаточно точной и малозатратной на системные ресурсы. Таким образом, целями разработки OpenNTPD являются: безопасность, простота использования и производительность. [8] Безопасность в OpenNTPD достигается за счет надежной проверки достоверности сетевого входного пути, использования операций с ограниченным буфером через strlcpy и разделения привилегий для смягчения последствий возможных ошибок безопасности, использующих демон посредством повышения привилегий . Чтобы упростить использование NTP, OpenNTPD реализует меньший набор функций, чем те, которые доступны в других демонах NTP, например, предоставляемых проектом Network Time Protocol Project. Цель состоит в том, чтобы предоставить достаточно функций, чтобы удовлетворить типичное использование с риском непригодности для эзотерических или нишевых требований. OpenNTPD настраивается через файл конфигурации ntpd.conf . [9] Предлагается минимальное количество опций: IP-адрес или имя хоста, который должен прослушивать OpenNTPD, устройство датчика timedelta используемое и набор серверов, с которых будет синхронизироваться время. Точность OpenNTPD максимальна; демон пытается быть максимально точным, но конкретная точность не гарантируется.
Пример
[ редактировать ]OpenNTPD постепенно настраивает системные часы, как показано здесь в выводе OpenNTPD, работающего в системе Linux :
$ grep ntpd /var/log/daemon.log | grep adjusting Aug 4 03:32:20 nikolai ntpd[4784]: adjusting local clock by -1.162333s Aug 4 03:36:08 nikolai ntpd[4784]: adjusting local clock by -1.023899s Aug 4 03:40:02 nikolai ntpd[4784]: adjusting local clock by -0.902637s Aug 4 03:43:43 nikolai ntpd[4784]: adjusting local clock by -0.789431s Aug 4 03:47:35 nikolai ntpd[4784]: adjusting local clock by -0.679320s Aug 4 03:50:45 nikolai ntpd[4784]: adjusting local clock by -0.605858s Aug 4 03:53:31 nikolai ntpd[4784]: adjusting local clock by -0.529821s
Критика
[ редактировать ]OpenNTPD подвергался критике как менее точный, чем демон NTP, созданный проектом NTP (ntp.org). [10] Внутри OpenNTPD не поддерживает миллисекундную точность и может отличаться от «реального» времени на 50–200 мс, поскольку в нем отсутствуют различные алгоритмы , повышающие точность в пользу простоты кода. Проект OpenNTPD признал критику, но заявил, что отсутствие микросекундной точности было компромиссом при проектировании, который пошел на пользу простоте и безопасности. [10] Цели разработки OpenNTPD гласят, что цель проекта состоит в том, чтобы «обеспечить разумную точность», не жертвуя «безопасным дизайном для получения этой последней наносекунды или неясного краевого случая». [11]
В сентябре 2004 года, вскоре после выпуска OpenNTPD 3.6, участник ntp.org Брэд Ноулз опубликовал статью под названием OpenNTPd считается вредным. [12] критикуя различные аспекты реализации OpenNTPD протокола NTP, а также модель разделенной разработки, которую использует проект, которая также используется при разработке OpenSSH и OpenBGPD . В декабре 2004 года Даррен Такер, главный разработчик портативной ветки OpenNTPD, написал подробный ответ Ноулзу, признав некоторые проблемы обоснованными, отвергнув несколько других как необоснованные и посчитав третьи вводящими в заблуждение. [13] Среди наиболее серьезных проблем, поднятых Ноулзом, было то, что серверы OpenNTPD заявлены как серверы уровня 1. Однако к моменту ответа Такера проблема уже была решена. В марте 2005 года Ноулз признал ответ Такера и заявил, что он «собирается сделать все [он мог], чтобы работать с [Такером] для решения всех оставшихся проблем». [14] Кроме того, FAQ по сетям OpenBSD был расширен ответом на первоначальную критику Ноулза. [15]
Текущее заявление о точности OpenNTPD, согласно презентации 21C3 2004 года, составляет «обычно 50 мс». [16]
Дополнительные секунды
[ редактировать ]OpenNTPD (и ядро OpenBSD ) игнорируют дополнительные секунды . [17] Следует соблюдать осторожность при использовании OpenNTPD в качестве источника более высокого уровня для других серверов ntpd или при требованиях ко времени с высоким разрешением, которые ссылаются на всемирное координированное время . Дополнительные секунды используются во всемирном координированном времени, но не в сигналах времени Международного атомного времени или глобальной системы позиционирования . Точность 50 мс также нетипична для источника с высокими слоями.
и Военно-морская обсерватория США Международное бюро мер и весов рекомендуют, чтобы системы, не реализующие дополнительные секунды, были привязаны к Международному атомному времени или непосредственно к сигналам времени GPS. [18] Однако ни одна текущая версия NTP (по состоянию на 2023 г.) [update]) поддерживает масштабы времени, отличные от UTC.
Ссылки
[ редактировать ]- ^ «ОпенНТПД» . Проверено 9 декабря 2020 г.
- ^ «Переносная версия OpenNTPD» . OpenBSD . Проверено 3 апреля 2016 г.
- ^ «openssh/openssh-portable» . Гитхаб . Проверено 13 мая 2016 г.
- ^ «openntpd-portable/openntpd-portable» . Гитхаб . Проверено 13 мая 2016 г.
- ^ Проект OpenNTPD. «Цели OpenNTPD» . Проект OpenNTPD . Проверено 3 апреля 2016 г.
- ^ Проект OpenBSD (1 ноября 2004 г.). «ОпенБСД 3.6» . Проект OpenBSD . Проверено 3 апреля 2016 г.
- ^ Брауэр, Хеннинг (2 ноября 2004 г.). «Выпущен OpenNTPD 3.6» . openbsd-announce (список рассылки) . Проверено 7 июня 2014 г.
{{cite mailing list}}
: Неизвестный параметр|agency=
игнорируется ( помогите ) - ^ Брауэр, Хеннинг (сентябрь 2004 г.). «Страница 3: OpenNTPD – Цели проектирования» . Проект OpenBSD . Проверено 16 сентября 2006 г.
- ^ OpenBSD по форматам файлов Руководство . 26 мая 2006 г. Проверено 16 сентября 2006 г. –
- ^ Перейти обратно: а б Проект OpenBSD (21 августа 2006 г.). «Часто задаваемые вопросы 6.12.1: «Но OpenNTPD не так точен, как демон ntp.org!» " . Проект OpenBSD . Архивировано из оригинала 5 февраля 2016 года . Проверено 14 мая 2020 г.
- ^ Авторы OpenNTPD (2004), «Цели» , OpenNTPD , проект OpenNTPD .
- ^ Ноулз, Брэд (22 сентября 2004 г.). «OpenNTPd считается вредным» . Считается вредным . Архивировано из оригинала 4 марта 2005 года . Проверено 16 сентября 2006 г.
- ^ Такер, Даррен (12 декабря 2004 г.). «Реакция на OpenNTPd считается вредной» . Юрист: Блог для dtucker . Проверено 16 сентября 2006 .
- ^ Ноулз, Брэд (12 марта 2005 г.). «Обновление: OpenNTPd...» считается вредоносным . Архивировано из оригинала 25 мая 2006 года . Проверено 16 сентября 2006 г.
- ^ Проект OpenBSD (21 августа 2006 г.). «Часто задаваемые вопросы: 6.12.2: «Кто-то заявил, что OpenNTPD «вреден»!» " . Проект OpenBSD . Архивировано из оригинала 24 сентября 2006 года . Проверено 16 сентября 2006 г.
- ^ Брауэр, Хеннинг. «ОпенБГПД и ОпенНТПД» . quigon.bsws.de .
- ^ «Обработка високосных секунд в OpenBSD» . Журнал OpenBSD . 28 июня 2015 года . Проверено 9 октября 2018 г.
- ^ «Високосные секунды» . Военно-морская обсерватория США . Архивировано из оригинала 24 декабря 2017 года . Проверено 27 февраля 2019 г.