Я читал Запись в Википедии о NTP, и заметил это:
Синхронизация NTP верна, когда и входящий, и исходящий маршруты между клиентом и сервером имеют симметричную номинальную задержку. Если маршруты не имеют общей номинальной задержки, синхронизация имеет систематическое смещение, равное половине разницы между временами движения вперед и назад.
Кто-нибудь знает, как часто это на самом деле возникает, где входящие и исходящие маршруты не имеют примерно одинаковую задержку?
Строго говоря, очень редко задержка на нетривиальном пути НЕ бывает асинхронной.
Единственный способ обеспечить одинаковую и стабильную задержку в обоих направлениях - это если скорость передачи всех каналов на пути идентична, IP-маршрутизация в обоих направлениях идентична, поток трафика в обоих направлениях одинаков, политики маршрутизации все устройства на пути в обоих направлениях идентичны, и хост-системы на обоих концах ведут себя одинаково.
На практике одни пути будут «более» синхронными, чем другие. Задержка в двух направлениях пути может быть приблизительно равной некоторое время, если в этот момент происходит балансирование различных факторов. Но это нестабильное состояние, так как оно зависит не только от самого пути.
Задержка зависит не только от пути и трафика, но и от того, как вы ее измеряете. Пакеты ICMP, UDP и TCP могут маршрутизироваться по-разному, получать разные приоритеты очередей или подчиняться другим правилам межсетевого экрана. На задержку также влияет то, что происходит на отправляющем и принимающем узлах.
Я написал статью о капризах сетевой статистики, которая может быть полезна: Потери, задержка и скорость
Что ж, любая система с разными битрейтами в восходящем и нисходящем направлениях обязательно будет иметь разную задержку, потому что для отправки пакета одинакового размера требуется разное количество времени. Так что нормальный ADSL учитывается, хотя разница будет небольшой.
Многие системы, в которых не используются провода, будут иметь асимметричную задержку, например сети 3G или спутниковый Интернет.