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

С распространением сетей и межсистемных процессов возникла необходимость найти единое решение для синхронизации системного времени. Официальным стандартом стал протокол сетевого времени (NTP), который использует различные алгоритмы для коррекции отклонений и использует официальное мировое время в качестве эталонных часов. Выпуск упрощенной версии под названием простой протокол сетевого времени (SNTP) в начале 1990-х годов объясняется в первую очередь ограниченной вычислительной мощностью компьютеров, доступных в то время. При синхронизации по SNTP вычислительная мощность используется гораздо меньше, чем при использовании основного протокола, NTP, что освобождает процессор для других задач — однако большинство современных устройств имеют вычислительную мощность, способную выдержать сложность NTP.

Что такое SNTP?

Простой сетевой протокол времени (SNTP) — это протокол синхронизации времени семейства протоколов TCP/IP. Он основан на протоколе пользовательских дейтаграмм (UDP) без соединения и может использоваться на всех поддерживающих устройствах для синхронизации системного времени в IP-сетях (IPv4 и IPv6). В основе лежит клиент-серверная структура, в которой отдельные клиенты получают информацию о времени от выбранного сервера времени в той же сети. В случае, если он недоступен, в качестве резервных доступны дополнительные серверы времени. Первая версия SNTP датируется 1992 годом и описана в RFC 1361. В нем протокол описывается как упрощенный вариант протокола сетевого времени, который также используется для корректировки системного времени в сетях.

После нескольких пересмотров протокол, разработанный рабочей группой в Университете Делавэра, теперь доступен в своей четвертой версии (SNTPv4). Эта версия была опубликована университетом в 2006 году в RFC 4330.

Определение: SNTP

Простой сетевой протокол времени (SNTP) — это протокол семейства интернет-протоколов, используемый для синхронизации системного времени в сетях. Текущая версия SNTPv4 поддерживает сети IPv4 и IPv6 и более подробно описана в RFC 4330. Клиенты SNTP используют ранее выбранный сервер времени для корректировки.

Как работает синхронизация SNTP?

Как и NTP, SNTP используется для простой синхронизации системного времени всех устройств в сети. Для этого используется модель клиент-сервер и официальное мировое время («координированное универсальное время») в качестве эталонного времени. Так называемые серверы времени выступают в роли «распределителей» времени для клиентов SNTP, то есть соответствующих устройств, системное время которых должно быть синхронизировано с помощью простого протокола сетевого времени. Необходимые для этой функции IP-пакеты передаются через UDP-порт 123, а поскольку SNTP очень похож на NTP, для процесса синхронизации часто используются серверы NTP.

Передача IP-пакетов может осуществляться либо через простые прямые соединения (unicast) между клиентом и сервером, либо через многоточечные соединения между сервером и несколькими клиентами (broadcast и multicast).

Различия между SNTP и NTP

SNTP и NTP можно различать по двум следующим пунктам:

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

Синхронизация SNTP часто основана на одном сервере времени

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

Простой протокол сетевого времени содержит меньше алгоритмов

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

Примечание

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

Оцените статью
cdelat.ru
Добавить комментарий