Представление Network Time Protocol (NTP)

Network Time Protocol (NTP) - это протокол, разработанный для синхронизации часов компьютерных систем и устройств в сети на базе TCP/IP с общим источником времени. Впервые разработанный Дэвидом Л. Миллсом из Университета Делавэра в начале 1980-х годов, NTP в настоящее время имеет четвертую версию (NTPv4).

NTP поддерживает четыре режима работы: Режим клиент/сервер, симметричный (peer) режим, многоадресный(multicast) режим и широковещательный(broadcast) режим. В этой статье мы кратко расскажем о режиме клиент/сервер, который поддерживается некоторыми нашими устройствами.

В режиме клиент/сервер и клиент, и сервер имеют ось времени, которая представляет их соответствующее время на часах. Процесс синхронизации времени между клиентом и сервером происходит следующим образом:

  1. Когда клиент хочет синхронизироваться со временем сервера, он отправляет сообщение запрос NTP на сервер NTP. Это сообщение включает запись о времени, когда оно ушло от клиента (t1);
  2. После получения сообщения сервер добавит к нему запись, указывающую время, когда сообщение достигло сервера (t2);
  3. После некоторого периода обработки сообщение возвращается клиенту, а время его ухода с сервера записывается в сообщении (t3);
  4. Клиент получает сообщение и фиксирует время его поступления (t4).


  5. Задержка NTP-сообщения в пути может быть рассчитана как (t4-t1) - (t3-t2), а разница во времени между клиентом и сервером составляет ((t2-t1) + (t3-t4)) / 2. Клиент может настроить свое собственное время на основе двух вышеуказанных параметров, чтобы синхронизировать себя с временем сервера.

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

    Устройства Magewell Ultra Encode и энкодеры Pro Convert могут быть настроены на использование открытых или частных серверов NTP в качестве источника контрольного времени. Это позволяет синхронизировать несколько энкодеров и позволяет нескольким декодерам, принимающим потоки, синхронизировать их для вывода на основе временного кода в информации SEI в потоках.