Протоколы NTP и SNTP: различия и как они работают

17 Июня 2022

Учет точного времени – задача, которая была актуальна во всем времени. Попытки синхронизировать мировое время уже предпринимались давно и в свое время в этом направлении были достигнуты определенные успехи. Но сегодня, в эру цифровизации к этой точности предъявляются куда более серьезные требования. Наименьшие сбои крайне негативно могут повлиять на жизни человечества в целом. Судите сами: график взлета и посадки самолетов согласовывается диспетчерскими центрами разных стран мира. Банковская система строго контролируют время проведения валютных операций. Тарификация сессий сотовой связи выполняется на основании показаний высокоточных часов. Мировые валютные биржи могут работать синхронно только, при условии совпадения времени до тысячных долей секунды. Актуально это требования и для систем биллинга, и производственных сетей.

Современный рынок компьютерных технологий предлагает простое и эффективное решение синхронизации общемирового времени – специальные протоколы NTP SNTP. Что они из себя представляют, что общего имеют и чем отличаются?

Знакомимся с NTP и SNTP протоколами

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

Вот только точность синхронизации по этим протоколам оставляла желать лучшего. Это заставило специалистов активно продолжать работы в данном направлении. Как результат, в 1985 году профессором Делавэрского университета Дэвидом Л. Милсом был создан новый протокол NTP, порт 123. В своем более усовершенствованном виде он активно применяется и сегодня. Основа протокола – алгоритм согласования данных Марзулло. В нем оценка точного времени выполняется на основании ряда источников времени с разной степенью точности, осредненных по времени и поступающих с разных NTP серверов. Также в основе протокола лежит стратум – показатель, обеспечивающий последовательность связей с эталонным временем. Немного позже на основе этого протокола была разработана его несколько упрощенная версия – SNTP, порт для которого зарезервирован тот же, что и для NTP, а именно 123 UDP.

Сегодня примерно с равной интенсивностью для обеспечения максимально точной работы интернета используются оба протокола:

  1. NTP – сетевой протокол времени.

  2. 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, их функциональные особенности. И как итог выделим основные отличия между этими протоколами:

  1. СНТП не предусматривает необходимость в типе хранения состояния на протяжении внушительного периода, что актуально для НТП.

  2. Сетевые администраторы в SNTP могут запрещать передачу потока данных на межсетевых экранах, формировать перечни контроля доступа в случае применения управляемых коммутаторов.

  3. Оба варианта продукта функционируют на протоколе транспортного времени. Одинаковый у них и порт, а именно 123. Вот только в НТП он задействуется для связи как в отправителе, так и в получателе. В СНТП UDP на порту 123 применяется в получателе, в то время как отправитель может использовать любой случайный порт, за исключением 0. Он позволяет установить определенного пользователя с целью исключения возникновения ошибок с NAT и блокировки соединения коммутаторами, в которых не деактивировали атаку Блат.

Все это позволяет с уверенностью говорить, что и NTP, и SNTP – действительно важные продукты для компьютерных сетей, ведь точность и единство времени для них всегда в приоритете. Но чтобы эти продукты работали максимально корректно, необходимо правильно выполнить соответствующие настройки. И в этом вам помогут специалисты компании «Xelent». Обращайтесь к ним за консультациями и профессиональной помощью. Для связи можно воспользоваться телефоном или онлайн-сервисами.

Популярные услуги
Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent