В прикладных программных NTPv4-модулях, в которых возможна арифметическая операция с удвоенными числами с плавающей точкой, разности первого порядка могут быть преобразованы в удвоенные значения с плавающей точкой, а суммы и разности второго порядка вычисляются с использованием этой операции. Так как значения второго порядка, как правило, очень малы относительно отклонений значений, указываемых в метках времени, и в этом смысле потери точности практически нет, и поэтому однозначный временной интервал от 34 до 68 лет может быть восстановлен.
В некоторых случаях, когда начальный сдвиг частоты в клиентском NTP-модуле относительно большой, а реальное время распространения сигнала мало, то тогда при вычислении задержки результат может быть отрицательным. Например, если разность частоты равна 100 промилей, а интервал T4
— T1
— 64 секунды, то тогда мнимая задержка составит -6,4 миллисекунд. Так как отрицательные значения являются «обманчивыми» при последовательном вычислении, значение δ
должно быть ограничено значением не меньшим, чем s.ρ
, где s.ρ
представляет собой точность системы (в секундах).
Представленные выше рассуждения касаются наиболее общего случая, когда два удалённых сервера времени, функционирующих в симметричном режиме, независимо друг от друга измеряют сдвиги и задержки между собой. Если сервер находится в ином режиме, процедурная характеристика протокола может быть упрощена. Сервер времени копирует метки времени T3 и T4 из NTPv4-сообщения клиента в значения T1 и T2 NTPv4-сообщения сервера и добавляет метку времени T3 отправки ответного NTPv4-сообщения перед самой передачей последнего клиенту.
Процедурная характеристика NTPv4-протокола, по определению, способна защитить систему от повторной передачи ответного NTPv4-сообщения сервера. Однако, она не способна предотвратить повторную передачу ответного NTPv4-сообщения клиента, при реализации которой сервер отправит ответное NTPv4-сообщение с новыми значениями T2
и T3
, и после этого будут рассчитаны некорректные значения сдвига и задержки. Эта уязвимость может быть устранена путём обнуления значения переменной состояния xmt
после вычисления значений сдвига и задержки.