Протоколы NTP и SNTP: различия и как они работают
Учет точного времени – задача, которая была актуальна во всем времени. Попытки синхронизировать мировое время уже предпринимались давно и в свое время в этом направлении были достигнуты определенные успехи. Но сегодня, в эру цифровизации к этой точности предъявляются куда более серьезные требования. Наименьшие сбои крайне негативно могут повлиять на жизни человечества в целом. Судите сами: график взлета и посадки самолетов согласовывается диспетчерскими центрами разных стран мира. Банковская система строго контролируют время проведения валютных операций. Тарификация сессий сотовой связи выполняется на основании показаний высокоточных часов. Мировые валютные биржи могут работать синхронно только, при условии совпадения времени до тысячных долей секунды. Актуально это требования и для систем биллинга, и производственных сетей.
Современный рынок компьютерных технологий предлагает простое и эффективное решение синхронизации общемирового времени – специальные протоколы NTP SNTP. Что они из себя представляют, что общего имеют и чем отличаются?
Знакомимся с NTP и SNTP протоколами
Сегодня синхронизация времени выполняется по протоколам, на основании которых часы, встроенные в вычислительную технику, имеют доступ к максимально точным узлам определения времени. Изначально, еще на этапе появления таких протоколов работы, использовался DAYTIME. Здесь время и дата отображались в виде, который легко идентифицируется людьми. Параллельно с ним еще создан и протокол TIME. Он было ориентирован исключительно на компьютеры. То есть время и дата в нем отображались в формате, который может считать и идентифицировать не человек, а машина.
Вот только точность синхронизации по этим протоколам оставляла желать лучшего. Это заставило специалистов активно продолжать работы в данном направлении. Как результат, в 1985 году профессором Делавэрского университета Дэвидом Л. Милсом был создан новый протокол NTP, порт 123. В своем более усовершенствованном виде он активно применяется и сегодня. Основа протокола – алгоритм согласования данных Марзулло. В нем оценка точного времени выполняется на основании ряда источников времени с разной степенью точности, осредненных по времени и поступающих с разных NTP серверов. Также в основе протокола лежит стратум – показатель, обеспечивающий последовательность связей с эталонным временем. Немного позже на основе этого протокола была разработана его несколько упрощенная версия – SNTP, порт для которого зарезервирован тот же, что и для NTP, а именно 123 UDP.
Сегодня примерно с равной интенсивностью для обеспечения максимально точной работы интернета используются оба протокола:
- NTP – сетевой протокол времени.
- SNTP – упрощенный сетевой протокол времени.
Оба варианта предоставляют возможность всем машинам, подключенным к сети, будь то ПК, серверное аппаратное обеспечение, маршрутизаторы, коммутаторы, Smart TV, «умные» чайники, кофеварки, зубные щетки и прочие гаджеты, имеющие выход в интернет, работать на едином, практически эталонном точном времени.
Знакомимся с NTP протоколом
Начнем с того, NTP протокол – что это. Так, Network Time Protocol – продукт, разработанный для синхронизации блока учета времени в различных компьютерных сетях и системах. Применяется на:
- персональных компьютерах;
- серверном оборудовании;
- маршрутизаторах и коммутаторах;
- Wi-Fi-точках доступа;
- брандмауэрах и любых прочих сетевых приспособлениях.
С его помощью выполняется синхронизация времени со всевозможными НТР-серверами, работающими в любых уголках мира и взаимодействующими через Всемирную паутину. Этот протокол невосприимчив к переменным задержкам, в том числе и достаточно существенным. Это стало возможным благодаря особенности протокола задействовать механизмы, корректирующие такие издержки и нейтрализующие разницу во времени.
Теперь о том, какой порт использует NTP. Данный протокол функционирует на основании UDP (протокол транспортного уровня) на порту 123. То есть именно 123 разъем зарезервирован для взаимосвязи между всеми серверами НТР, использующимися в любых регионах планеты. Он будет актуальным как в исходном, так и в целевом разъеме. Этот момент особенно важен для устройств, которые с целью защиты используют межсетевые экраны, а также в случае применения контрольных перечней доступа для управляемых концентраторов локальных компьютерных сетей. В последнем случае для стабильного функционирования протокола NTP следует отключить «атаку Blat», которая блокирует TCP или UDP-пакеты с однотипными разъемами источника и получателя. (в ТПС они одинаковы – 123). Этот момент обязательно стоит принять во внимание при настройках сети.
Сегодня повсеместно применяется уже 4 версия NTP-протокола, получившая множественные дополнения и усовершенствования в сравнении с более ранним продуктом. Среди особенностей последнего поколения протокола стоит выделить:
- применение шкалы UTC (система координирования времени, принятая за эталон во всем мире) с поддержкой дополнительных секунд;
- использование иерархической системы «часовых уровней», при которой УРОВЕНЬ 1 синхронизируется автоматически с высокоточными часами (как пример, эталоны времени, GPS). УРОВЕНЬ 2 уже будет синхронизироваться с одним из аппаратных устройств УРОВНЯ 1 и т.д.;
- поддержка синхронизации с максимально возможным отличием в 10 миллисекунд при выходе во Всемирную паутину, в то время как в локальных системах она может достигать показателя в 200 миллисекунд (эти цифры индивидуальны и зависят от особенностей настройки каждой сети);
- высочайшая точность: шкала времени повторяется примерно каждые 136 лет;
- одинаково правильная NTP синхронизация времени при работе в любых операционных системах, будь то Windows, macOS, Linux.
Из недостатков стоит выделить уязвимость к атакам Man in the Middle. Это актуально для пакетов, которые заблаговременно не были криптографически подписаны. Сам сервер сможет совершать такие атаки с целью внесения корректировок во время, отображаемое на конечных ПК сети. Данные по протоколу НТП передаются как обычный текст, без всякого шифрования. При этом ни целостность, ни аутентичность информации не подвергается проверкам. Такие проблемы исключены в версии продукта NTP «Безопасность», получившей название NTS. В его работу с целью защиты связи уже внедрены инструменты TLS и AEAD. И уже ни один из сторонних ПК не сможет «выдать» себя за сервер НТП и попытаться откорректировать время в сети.
Знакомимся с SNTP протоколом
SNTP протокол – это облегченная версия протокола сетевого времени NTP. Оба эти продукта описывают один и тот формат сетевого пакета. Ключевая разница в том, как система обрабатывает содержимое данных пакетов с целью синхронизации времени. То есть перед обоими протоколами стоит одна и та же задача, но способы ее реализации несколько отличаются.
Наибольшее применение на практике SNTP получил во встроенных устройствах. Речь идет о бытовых коммутаторах, роутерах, то есть там, где в полной версии нет особой необходимости. Обновления СНТП идут с такой же периодичностью, что и у НТП. То есть сегодня на рынке представлена 4 версия продукта. SNTP порт в работе игнорирует значения дрейфа, применяет боле упрощенные настройки сетевых часов. Последняя версия протокола определена в RFC2030. Среди особенностей стоит выделить:
- использование исключительно на концах подсети синхронизации: клиенты работают только на самом верхнем слое и в конфигурациях, где они будут существовать абсолютное независимыми от других пользователей;
- доступ полностью совпадает с протоколом UDP/TIME, что существенно упрощает адаптацию;
- подходит для работы в системах с выделенным сервером со встроенными радиочасами;
- точное время позволяется выводить за миллиардные доли секунд благодаря более высокому контролю задержек.
Клиенты SNTP могут работать как в одноадресном, так и в многоадресном и широковещательном режиме. Так, в одноадресном режиме клиент отправляет запрос и ждет ответа от сервера. В широковещательном варианте пользователь запросы не отправляет, но ожидает сообщения от одного или нескольких устройств. В многоадресном запрос отправляется, но уже по широковещательному адресу, а ответ может отправляться как с одного, так и с нескольких серверов. То устройство, которое ответит первым в последующем будет использоваться для одноадресных запросов, в то время как остальные ответы будут игнорироваться.
В 4 версии протокола заголовки уже оптимизированы под IPv6, добавлен ряд расширений. Даже если вы работаете на SNTP, то можете обмениваться данными с клиентами и серверным аппаратным обеспечением, применяющим протокол НТП. То есть оба продукта – совместимы.
Подводим итоги
Теперь вы знаете, это что SNTP, NTP, их функциональные особенности. И как итог выделим основные отличия между этими протоколами:
- СНТП не предусматривает необходимость в типе хранения состояния на протяжении внушительного периода, что актуально для НТП.
- Сетевые администраторы в SNTP могут запрещать передачу потока данных на межсетевых экранах, формировать перечни контроля доступа в случае применения управляемых коммутаторов.
- Оба варианта продукта функционируют на протоколе транспортного времени. Одинаковый у них и порт, а именно 123. Вот только в НТП он задействуется для связи как в отправителе, так и в получателе. В СНТП UDP на порту 123 применяется в получателе, в то время как отправитель может использовать любой случайный порт, за исключением 0. Он позволяет установить определенного пользователя с целью исключения возникновения ошибок с NAT и блокировки соединения коммутаторами, в которых не деактивировали атаку Блат.
Все это позволяет с уверенностью говорить, что и NTP, и SNTP – действительно важные продукты для компьютерных сетей, ведь точность и единство времени для них всегда в приоритете. Но чтобы эти продукты работали максимально корректно, необходимо правильно выполнить соответствующие настройки. И в этом вам помогут специалисты компании «Xelent». Обращайтесь к ним за консультациями и профессиональной помощью. Для связи можно воспользоваться телефоном или онлайн-сервисами.
Ntp что это
Network Time Protocol — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью, основанных на коммутации пакетов.
Хотя традиционно NTP использует для своей работы протокол UDP, он также способен работать и поверх TCP. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.
Время, представляется в системе NTP 64-битным числом, состоящим из 32-битного счетчика секунд и 32-битного счетчика долей секунды, позволяя передавать время в диапазоне 2 32 секунд, с теоретической точностью 2 -32 секунды. Поскольку шкала времени в NTP повторяется каждые 2 32 секунды (136 лет), получатель должен хотя бы примерно знать текущее время (с точностью 68 лет). Также следует учитывать, что время отсчитывается с полуночи 1 января 1900 года, а не с 1970, поэтому из времени NTP нужно вычитать почти 70 лет (с учетом високосных лет), чтобы корректно совместить время с Windows или Unix-системами.
Как это работает
NTP-серверы работают в иерархической сети, каждый уровень иерархии называется ярусом (stratum). Ярус 0 представлен эталонными часами. За эталон берется сигнал GPS (Global Positioning System) или службы ACTS (Automated Computer Time Service). На нулевом ярусе NTP-серверы не работают.
NTP-серверы яруса 1 получают данные о времени от эталонных часов. NTP-серверы яруса 2 синхронизируются с серверами яруса 1. Всего может быть до 15 ярусов.
NTP-серверы и NTP-клиенты получают данные о времени от серверов яруса 1, хотя на практике NTP-клиентам лучше не делать этого, поскольку тысячи индивидуальных клиентских запросов окажутся слишком большой нагрузкой для серверов яруса 1. Лучше настроить локальный NTP-сервер, который ваши клиенты будут использовать для получения информации о времени.
Иерархическая структура протокола NTP является отказоустойчивой и избыточной. Рассмотрим пример его работы. Два NTP-сервера яруса 2 синхронизируются с шестью различными серверами яруса 1, каждый — по независимому каналу. Внутренние узлы синхронизируются с внутренними NTP-серверами. Два NTP-сервера яруса 2 координируют время друг с другом. В случае отказа линии связи с сервером яруса 1 или с одним из серверов уровня 2 избыточный сервер уровня 2 берет на себя процесс синхронизации.
Аналогично узлы и устройства яруса 3 могут использовать любой из серверов яруса 2. Что еще более важно, так это то, что наличие избыточной сети серверов NTP гарантирует постоянную доступность серверов времени. Синхронизируясь с несколькими серверами точного времени, NTP использует данные всех источников, чтобы высчитать наиболее точное временя.
Стоит отметить, что протокол NTP не устанавливает время в чистом виде. Он корректирует локальные часы с использованием временного смещения, разницы между временем на NTP-сервере и локальных часах. Серверы и клиенты NTP настраивают свои часы, синхронизируясь с текущим временем постепенно либо единовременно.
Полезные ссылки
- Официальный сайт Network Time Protocol
- Домашняя страница проекта NTP
- Сообщество поддержки документации NTP
- Сайт проекта NTP-пулов
- Сайт производителя NTP-решений Meinberg
- Порт ПО ntpd для Windows от Meinberg
- Авторский сайт Дэвида Тейлора о протоколе NTP
Что такое NTP
Опубликовано: 12.01.2018
протокол для синхронизации времени. Разработан Дэвидом Миллсом. По умолчанию, работает на UDP порту 123. Аббревиатура расшифровывается как Network Time Protocol или протокол сетевого времени.
Синхронизация времени происходит путем обращения NTP-клиента к серверу ntpd. Серверы бывают нескольких типов (Stratum или слои). Stratum-1 — непосредственно получают время от атомных/квантовых/молекулярных часов. Stratum-2 получают время от Stratum-1. Stratum-3 от Stratum-2 и так далее.
Некоторые адреса серверов NTP:
- ru.pool.ntp.org — пул серверов в России.
- ntp1.vniiftri.ru — атомные часы (Россия).
- ntp.ubuntu.com — от компании Canonical.
- time.nist.gov — атомные часы (США).
Серверы и клиенты реализованы как на системах Windows, так и Linux. Протокол стандартизирован, поэтому система клиента и сервера не имеют значения — клиент Windows может без проблем обратиться к серверу на UNIX.
Подробнее об NTP на Википедии
Встречается в статьях
Инструкции:
- Настройка кластера Ceph на Linux CentOS 7
- Инструкция по установке и использованию GLPI на Linux CentOS
- Как настроить Freeradius для Active Directory и MySQL
- Как настроить OpenVPN с аутентификацией через LDAP
- Как настроить samba4 на FreeBSD 10
- Как установить и использовать OpenVZ на CentOS
- Установка и настройка отказоустойчивого кластера Pacemaker
- Установка и настройка puppet на CentOS
- Установка веб-сервера Apache на FreeBSD
Мини-инструкции:
- Как пользоваться командой systemctl
- Как установить и быстро настроить Asterisk PBX на Linux Ubuntu
- Настройка сервера синхронизации времени NTP на Linux Ubuntu
- Как установить и настроить PBX Asterisk на Linux CentOS 7
- Как обновить временную зону на устаревших системах Windows, Linux и FreeBSD
- Как поднять сервер OpenVPN на роутере Mikrotik
- Настройка сервера синхронизации времени NTP на Linux CentOS
Что NTP
Протокол сетевого времени (NTP) является одним из старейших протоколов Интернета, которые все еще используются. Изобретенный д-ром Дэвидом Миллсом из Университета штата Делавэр, он постоянно используется и постоянно обновляется с 1985. NTP — это протокол, предназначенный для синхронизации часов на компьютерах и сетях через Интернет или локальные сети (LAN).
NTP использует алгоритм (алгоритм Марзулло) для синхронизации времени в сети с использованием таких временных масштабов, как UTC (Coordinated Universal Time или Temps Universel Coordonn ‘) и может поддерживать такие функции, как секунды прыжка, — добавленные для компенсации замедления вращения Земли.
NTP (версия 4) может поддерживать время в общедоступном Интернете с точностью до 10 миллисекунд (1 / 100th секунды) и может работать даже лучше по локальной сети с точностью до микросекунд 200 (1 / 5000th секунды) в идеальных условиях.
Серверы времени NTP работают в наборе TCP / IP и полагаются на UDP (User Datagram Protocol). Менее сложная форма NTP, называемая Simple Network Time Protocol (SNTP), которая не требует хранения информации о предыдущих сообщениях, необходимой NTP, используется в некоторых устройствах и приложениях, где высокая точность синхронизации не так важна и также включена в качестве стандарта В Windows (хотя в последних версиях Microsoft Windows установлен полный NTP).
Синхронизация времени с NTP относительно проста, она синхронизирует время со ссылкой на надежный источник синхронизации. Этот источник может быть относительным (внутренние часы компьютера или время на наручных часах) или абсолютный (источник часов UTC, который является точным, насколько это возможно).
Атомные часы — это самые абсолютные устройства для учета времени. Они работают по принципу, что атом, цезий-133, имеет точное количество циклов излучения каждую секунду (9,192,631,770). Это оказалось настолько точным, что Международная система единиц (СИ) теперь определила вторую как продолжительность циклов 9,192,631,770 излучения атома цезия-133.
Однако атомные часы чрезвычайно дороги и обычно можно найти только в крупномасштабных лабораториях физики. Однако NTP может синхронизировать сети с атомными часами, используя либо сеть глобальной системы определения местоположения (GPS), либо специальную радиопередачу.
Наиболее широко используется система GPS, которая состоит из нескольких спутников, обеспечивающих точную информацию о местоположении и местоположении. Каждый спутник GPS может делать это только за счет использования атомных часов, которые, в свою очередь, могут быть использованы в качестве ссылки на синхронизацию.
Типичный приемник GPS может предоставлять информацию о синхронизации в течение нескольких наносекунд UTC, пока имеется антенна, расположенная с хорошим видом на небо.
Есть также целый ряд национальных времени и частоты радиосигналов, которые могут быть использованы для синхронизации сервера NTP. В Великобритании сигнал (так называемый MSF) транслируются в Национальной лаборатории физики в Камбрии, которая служит национальной ссылкой времени Соединенного Королевства, есть и подобные системы в Колорадо, США (WWVB) и во Франкфурте, Германии (DCF-77). Эти сигналы обеспечивает время UTC с точностью до 100 микросекунд, однако, радиосигнал имеет конечный радиус действия и подвержено воздействию помех.
Расстояние от опорных часов известно как уровни страты, и они существуют для предотвращения циклов в NTP. Stratum 0 — это устройства, такие как атомные часы, подключенные непосредственно к компьютеру. Stratum 1 — это компьютеры, подключенные к устройствам 0, а Stratum 2 — компьютеры, которые отправляют запросы NTP на серверы Stratum 1. NTP может поддерживать до 256-слоев.
Все версии Microsoft Windows с 2000 включают службу времени Windows (w32time.exe), которая имеет возможность синхронизировать часы компьютера с сервером NTP. специалист NTP-серверы Также доступны, которые могут синхронизировать время на многочисленных машинах, используя либо MSF (или эквивалент), либо сигнал GPS для списка продуктов, связанных с NTP, пожалуйста, посетите здесь.
Об авторе
Ричард Уильямс N технический автор и специалист в области телекоммуникаций и сетевое время промышленности синхронизации. Для получения дополнительной информации о серверах NTP пожалуйста посетить домашнюю Galsys.
Эта статья не может быть опубликована или перепечатана в полном виде или частично без разрешения предоставлении соответствующих ссылку на этот сайт поддерживается. Это является нарушением закона об авторских правах на переиздание или опубликовать ссылку на этот материал без соблюдения этих условий.
Продукция
- NTP-серверы
- Сеть часы и дисплеи
- Серверы Сетевое время
- Время приемники
- NTP клиентского программного обеспечения
- Антенны
- Модули
- Аксессуары для мамы и малыша