Шесть тысяч слов подробных иллюстраций протокола сетевого времени (NTP), которые помогут вам оценить прелесть NTP!
Шесть тысяч слов подробных иллюстраций протокола сетевого времени (NTP), которые помогут вам оценить прелесть NTP!

Здравствуйте, это сайт Альянса сетевых технологий.

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

В этой статье брат Руи подробно расскажет вам о протоколе NTP. Я надеюсь, что после прочтения этой статьи вы сможете получить некоторое представление о нем.

Оглавление:

TOC

1. Что такое НТП?

NTP,Полное английское имя:Network Time Protocol,Полное имя на китайскомпротокол сетевого времени,Это протокол, используемый для синхронизации часов устройств в компьютерных сетях.

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

1.1 Зачем синхронизировать сетевое время?

Грубо говоря, синхронизация сетевого времени призвана решить проблему, заключающуюся в том, что многие приложения и системы предъявляют очень высокие требования к точности времени. Краткий список причин таков:

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

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

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

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

В научных исследованиях и экспериментах точность синхронизации имеет решающее значение для сбора и анализа данных. Синхронизация сетевого времени обеспечивает повторяемость и точность экспериментальных результатов.

1.2 История развития протокола NTP

  • 1979 год: Самые ранние применения NTP относятся к Национальной компьютерной конференции, где он впервые был использован для публичной демонстрации интернет-сервисов, работающих в трансатлантической спутниковой сети.
  • 1981: Описание NTP задокументировано в Internet Engineering Note (IEN) 173, который стал общедоступным протоколом и задокументирован в RFC. 778 дюймов. Впервые он был развернут в локальных сетях как часть протокола маршрутизации Hello.
  • 1985: NTP версии 0 (NTPv0) реализован в Fuzzball и Unix, а соответствующая информация, включая заголовки пакетов NTP, а также расчеты двусторонней задержки и смещения, документирована в RFC. 958 дюймов. Хотя в то время компьютеры и сети работали относительно медленно, NTP по-прежнему достигал высокой точности времени.
  • 1988 год: Более полная спецификация протокола NTPv1 и связанные с ним алгоритмы описаны в RFC. 1059 дюймов. Это была первая версия, описывающая модели клиент-сервер и одноранговая сеть.
  • 1991 год: David L. Статья Миллса в IEEE Transactions on Коммуникации вызвали широкое обсуждение архитектуры, протоколов и алгоритмов NTPv1. на。
  • 1989: RFC 1119 определил NTPv2, представил протоколы управления и схемы аутентификации с шифрованием, а также большинство алгоритмов, которые остались в NTPv4.
  • 1992: RFC 1305 определяет NTPv3, вводит широковещательный режим и анализирует все источники ошибок, чтобы помочь выбрать лучший сервер.
  • 2010: RFC Выпуск 5905, содержащий предлагаемые спецификации для NTPv4. NTPv4 добился значительного прогресса, представив новые функции и усовершенствовав алгоритмы.
  • 2022: Протокол NTP продолжает развиваться, и было выпущено множество документов RFC, описывающих обновления протокола, включая NTS (Network). Time Безопасность) и многие другие периферийные стандарты. Хотя есть планы по созданию «NTPv5», эта версия еще не выпущена.

1.3 Характеристики НТП

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

  1. Глобальные стандарты времени: NTP обеспечивает глобальный стандарт времени — всемирное координированное время (UTC). UTC широко распространен в качестве глобального эталона времени, и цель NTP — синхронизировать все участвующие компьютеры с точностью до нескольких миллисекунд от UTC.
  2. Автоматический поиск надежных серверов времени: NTP использует механизм автоматического обнаружения для поиска надежных серверов времени и обеспечения высококачественной синхронизации времени. Он собирает данные из нескольких источников времени, а затем алгоритмически выбирает наиболее надежный источник времени, тем самым уменьшая влияние ошибок.
  3. Гибкая масштабируемость: Архитектура NTP позволяет включать в сеть несколько эталонных часов. Это означает, что в сети можно развернуть несколько серверов времени для обеспечения высокой доступности и резервирования. Кроме того, NTP может передавать информацию о времени двухточечным или иерархическим широковещательным способом для адаптации к различным топологиям сети.
  4. Высокая точность: NTP может обеспечить высокоточную синхронизацию времени, обычно на уровне миллисекунд или субмиллисекунд. Путем выбора подходящих кандидатов на синхронизацию и использования сложных алгоритмов NTP может добиться очень точной синхронизации времени.
  5. Способность восстановления: При возникновении проблем с сетевым подключением NTP может помочь, используя исторические данные или учитывая разницу во времени. Это позволяет NTP продолжать обеспечивать надежную синхронизацию времени, даже если сеть нестабильна или прерывается.

2. Принцип работы NTP

2.1 Иерархическая структура НТП

Stratum — это иерархическая система, используемая для представления источников синхронизации в протоколе сетевого времени (NTP). Иерархическая структура NTP обеспечивает высокоточную синхронизацию времени, поскольку позволяет устройствам в сети выбирать источник времени на основе их близости к источнику часов более высокого уровня. Это помогает гарантировать, что синхронизация времени остается в допустимых пределах даже в сложных сетевых средах, таких как Интернет.

NTP использует иерархическую систему источников времени, каждый уровень называется «слоем», а опорным часам верхнего уровня присваивается номер 0. Серверы на каждом уровне синхронизируются с серверами на следующем уровне, и такая иерархическая структура помогает предотвратить циклические зависимости в иерархии.

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

Stratum 0

Это самый высокий уровень, который обычно обеспечивается основным источником времени на Земле, таким как спутники глобальной системы позиционирования (GPS), атомные часы и т. д. Источник синхронизации Stratum 0 считается наиболее точным и надежным. Сервер NTP не может быть назначен на уровень 0.

Stratum 1

Этот уровень включает серверы NTP, подключенные непосредственно к источнику синхронизации Stratum 0. Как правило, эти NTP-серверы обладают высокой точностью, например, используют сигналы GPS или атомные часы для получения точного времени. Серверы Stratum 1 также называются главными серверами. Они предоставляют информацию о времени подчиненным серверам Stratum.

Stratum 2

Уровень 2 включает в себя те серверы NTP, которые синхронизируются с серверами уровня 1. Эти серверы полагаются на информацию о времени, предоставляемую серверами уровня 1, но они все равно могут предоставлять время с относительно высокой точностью. Серверы Stratum 2 обычно используются в локальных сетях или других небольших сетях.

Stratum 3

Уровень 3 включает клиент NTP, который синхронизируется с серверами уровня 2. Эти клиенты подключаются к серверам Stratum 2 по сети для синхронизации времени. Серверы Stratum 3 обычно используются в более крупных сетях.

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

Серверы времени на одном уровне

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

Верхний предел уровней — 15, а уровень 16 используется для обозначения того, что устройство не синхронизировано. Алгоритм NTP на каждом компьютере использует связующее дерево кратчайшего пути Беллмана-Форда, чтобы минимизировать совокупную задержку туда и обратно от всех клиентов до сервера уровня 1.

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

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

2.2 Рабочий процесс NTP

  1. Сообщение запроса NTP отправляется: Клиент сначала отправляет сообщение запроса NTP на сервер NTP. Это сообщение запроса содержит текущую локальную временную метку t1 клиента, которая представляет собой время, когда сообщение покинуло клиент. Клиенту необходимо знать эту временную метку для последующей синхронизации времени расчета.
  2. Сообщение запроса NTP достигает сервера: Сообщение запроса NTP достигает сервера NTP после передачи через сеть. В этот момент локальное время сервера равно t2. Когда сервер получает сообщение запроса, он записывает t2 как временную метку сообщения, поступающего на NTP-сервер.
  3. Отправляется ответное сообщение NTP: Сервер обрабатывает полученное сообщение запроса и отправляет ответное сообщение NTP в момент t3. Это ответное сообщение включает в себя следующую Временную меткаинформация:
    • t1: отметка времени, когда сообщение запроса покидает клиент.
    • t2: отметка времени, когда сообщение запроса достигает NTP-сервера.
    • t3: отметка времени, когда ответное сообщение покидает NTP-сервер.
  4. Ответное сообщение NTP достигает клиента: После получения ответного сообщения NTP клиент записывает временную метку t4, возвращенную сообщением. Эта временная метка указывает время, когда ответное сообщение поступило клиенту.

T1 — это отметка времени, когда клиент отправляет сообщение запроса NTP, а T4 — это отметка времени, когда клиент получает ответное сообщение NTP. Например, Т1 = 50 секунд, Т4 = 70 секунд.

T2 — это временная метка, когда NTP-сервер получает сообщение запроса NTP, а T3 — это временная метка, когда NTP-сервер отправляет ответное сообщение NTP. Например, Т2 = 80 секунд, Т3 = 90 секунд.

Время приема-передачи (RTT) — это общее время с момента отправки клиентом запроса до момента получения ответа. RTT можно найти, рассчитав T4 – T1: RTT = T4 – T1 = 70 секунд – 50 секунд = 20 секунд.

Поскольку сервер получает запрос в момент Т2 и отправляет ответ в момент Т3, время, затрачиваемое сервером между обработкой запроса и генерацией ответа, составляет Т3 – Т2 = 90 секунд – 80 секунд = 10 секунд.

Время между отправкой запроса клиентом и получением его сервером рассчитывается как T2 – T1 = 80 секунд – 50 секунд = 30 секунд.

Время, необходимое серверу для обработки запроса после получения запроса, рассчитывается как T3 – T2 = 90 секунд – 80 секунд = 10 секунд.

Клиент оценивает время, необходимое для того, чтобы ответ сервера достиг клиента. Например, клиент оценивает задержку как половину RTT, поскольку RTT включает общее время между запросом, достигающим сервера, и ответом, возвращаемым клиенту. Таким образом, расчетная задержка клиента составляет (RTT/2) = 20 секунд/2 = 10 секунд.

Клиент настраивает локальные часы клиента, вычитая расчетную задержку клиента (10 секунд) из точного времени, полученного от сервера (T3). Это обеспечит синхронизацию часов клиента с часами NTP-сервера, т. е. часы клиента должны опережать фактическое время на 10 секунд, поэтому минус 10 секунд часы будут синхронизированы с сервером.

2.3 Временная метка

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

  • Формат временной метки: NTP использует 64-битную двоичную временную метку с фиксированной точкой, которая состоит из двух частей. Первые 32 бита представляют количество секунд, а последние 32 бита представляют дробную часть секунды. Эта временная метка обеспечивает шкалу времени, которая меняется каждые 2^32 секунды (приблизительно 136 лет) с теоретическим разрешением 2^-32 секунды (приблизительно 233 пикосекунды).
  • эпоха: NTP использует 1 января 1900 года в качестве эпохи, что означает, что начальная точка временной метки рассчитывается от этой даты. Таким образом, временные метки NTP могут отслеживать время с 1 января 1900 года.
  • Первая ротация: Поскольку временная шкала NTP меняется каждые 2^32 секунды, первое обновление происходит 7 февраля 2036 года. Это означает, что временные метки NTP могут обеспечить точное представление времени до 2036 года.
  • Временная метка NTPv4: NTPv4 представил 128-битный формат даты, где 64 бита представляют секунды, а 64 бита представляют дробную часть секунды. Наиболее важные 32 бита в этом формате — это номер эпохи, который помогает разрешить неоднозначность обращения времени. Временные метки NTPv4 разработаны таким образом, чтобы обеспечить достаточную точность и диапазон для удовлетворения требований времени различных приложений.
  • Точность времени: По словам Дэвида, создателя NTP L. По словам Миллса, 64-битного значения временной метки достаточно, чтобы определить время, необходимое фотону для прохождения электрона со скоростью света, а 32-битного значения секунды достаточно, чтобы обеспечить однозначное представление времени. пока Вселенная не потускнела. Это показывает превосходную точность и диапазон меток времени NTP.

2.4 Процесс синхронизации времени NTP

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

Шаг 1: NTP-клиент инициирует запрос времени

Клиент NTP инициирует запрос времени к серверу NTP и запрашивает точное время сервера. Этот запрос обычно включает текущую временную метку клиента.

в целом,Это черезПорт 123 для протокола UDPзавершенный。NTPклиент Это может быть компьютер、маршрутизатор、Выключатель или другое Сетевое оборудование.

Шаг 2. Ответ NTP-сервера

Сервер NTP получает запрос клиента и включает в ответ свою временную метку. Время сервера обычно более точное, чем время клиента. Ответ сервера включает четыре временные метки: T1, T2, T3, T4.

  • T1: время, когда клиент отправляет запрос.
  • T2: время, когда сервер получает запрос.
  • T3: время, когда сервер отправляет ответ.
  • T4: Время, когда клиент получает ответ.

Сервер NTP может быть сервером уровня 1 (обычно это высокоточный источник времени, такой как атомные часы или часы GPS) или сервером уровня 2 и т. д.

Шаг 3. Рассчитайте задержку сети

Клиент использует метки времени T1, T2, T3, T4 для расчета задержки в сети и отклонения часов. На основе этих временных меток клиент может рассчитать задержку в сети, то есть время, необходимое сигналу для прохождения от клиента к серверу и обратно. В своем примере вы рассчитали задержку, которая очень важна для NTP, поскольку задержка в сети влияет на синхронизацию часов.

Шаг 4. Настройте местные часы

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

💡Помните: синхронизация времени — это не разовое мероприятие, а происходит регулярно. Клиентские устройства обычно выполняют синхронизацию времени с NTP-сервером через регулярные промежутки времени (обычно каждые 10 минут или каждый час), чтобы обеспечить точность часов. Последующие обмены синхронизацией времени обычно требуют только одного обмена сообщениями, поскольку клиент уже установил синхронизацию времени с сервером NTP.

3. Настройте NTP

3.1 Сетевое оборудование

Сетевое оборудование. В качестве примера мы возьмем Cisco.

Карта топологии

Как показано на рисунке выше, R1 действует как NTP-сервер, а R2 — как NTP-клиент. Между ними существует физическое соединение, а интерфейс Loopback0 служит исходным адресом для связи NTP. R1 предоставляет услугу синхронизации времени, а R2 синхронизирует время с R1.

Настраиваем сервер (R1):
  1. Войдите в режим конфигурации:
Язык кода:txt
копировать
R1# configure terminal
  1. Настройте интерфейс Loopback0 и установите IP-адрес:
Язык кода:txt
копировать
R1(config)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.255

Здесь мы используем интерфейс Loopback0 в качестве исходного адреса NTP-сервера, а IP-адрес — 1.1.1.1.

  1. Настройте интерфейс Loopback0 как область 0 OSPF:
Язык кода:txt
копировать
R1(config-if)# ip ospf 1 area 0
  1. Настройте интерфейс FastEthernet0/0 и установите IP-адрес:
Язык кода:txt
копировать
R1(config)# interface FastEthernet0/0
R1(config-if)# ip address 10.1.1.1 255.255.255.0

Это физический интерфейс между сервером и клиентом.

  1. Настройте интерфейс FastEthernet0/0 как область 0 OSPF:
Язык кода:txt
копировать
R1(config-if)# ip ospf 1 area 0
  1. Измените часовой пояс на стандартное время Китая (GMT+8):
Язык кода:txt
копировать
R1(config)# clock timezone GMT +8
  1. Установите время сервера, например, установите время 16:00:00 6 ноября 2023 года:
Язык кода:txt
копировать
R1# clock set 16:00:00 6 nov 2023
  1. Настройте R1 в качестве главного сервера NTP (уровень 1):
Язык кода:txt
копировать
R1(config)# ntp master 1

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

  1. Укажите источник NTP в качестве интерфейса Loopback0:
Язык кода:txt
копировать
R1(config)# ntp source loopback 0

Это гарантирует, что пакеты NTP будут использовать IP-адрес интерфейса Loopback0.

Настройте клиент (R2):
  1. Войдите в режим конфигурации:
Язык кода:txt
копировать
R2# configure terminal
  1. Настройте интерфейс Loopback0 и установите IP-адрес:
Язык кода:txt
копировать
R2(config)# interface Loopback0
R2(config-if)# ip address 2.2.2.2 255.255.255.255
  1. Настройте интерфейс Loopback0 как область 0 OSPF:
Язык кода:txt
копировать
R2(config-if)# ip ospf 1 area 0
  1. Настройте интерфейс FastEthernet0/0 и установите IP-адрес:
Язык кода:txt
копировать
R2(config)# interface FastEthernet0/0
R2(config-if)# ip address 10.1.1.2 255.255.255.0
  1. Настройте интерфейс FastEthernet0/0 как область 0 OSPF:
Язык кода:txt
копировать
R2(config-if)# ip ospf 1 area 0
  1. Измените часовой пояс на стандартное время Китая (GMT+8):
Язык кода:txt
копировать
R2(config)# clock timezone GMT +8
  1. Укажите IP-адрес NTP-сервера, например 1.1.1.1:
Язык кода:txt
копировать
R2(config)# ntp server 1.1.1.1

Это скажет R2 синхронизировать время с 1.1.1.1.

  1. Укажите источник NTP в качестве интерфейса Loopback0:
Язык кода:txt
копировать
R2(config)# ntp source loopback 0
  1. Если у вас есть доступ в Интернет, вы также можете использовать общедоступный NTP-сервер:
Язык кода:txt
копировать
R2(config)# ntp server 202.112.10.36 source FastEthernet0/0

Это позволит синхронизировать время с использованием NTP-сервера Интернета.

  1. Проверьте состояние синхронизации NTP и настройки времени:
Язык кода:txt
копировать
R2# show clock
Язык кода:txt
копировать
R2# show ntp status

3.2 Сервер

Здесь мы возьмем в качестве примера систему Ubantu.

Карта топологии

Как показано на рисунке выше, у нас есть две машины: одна — NTP-клиент, а другая — NTP-сервер.

Настроить NTP-сервер
Шаг 1. Установите программное обеспечение NTP.
Язык кода:shell
копировать
sudo apt update
sudo apt install ntp
Шаг 2. Настройте NTP-сервер.

Отредактируйте файл конфигурации NTP-сервера, чтобы он работал в качестве NTP-сервера. Откройте терминал и выполните следующую команду:

Язык кода:shell
копировать
sudo nano /etc/ntp.conf

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

Язык кода:shell
копировать
# Разрешить другому клиенту синхронизировать время
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Используйте местные часы в качестве ориентира
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Шаг 3. Перезапустите службу NTP.

Сохраните файл конфигурации и перезапустите службу NTP, чтобы изменения вступили в силу:

Язык кода:shell
копировать
sudo systemctl restart ntp
Проверьте конфигурацию NTP-сервера

Вы можете использовать следующую команду для проверки конфигурации NTP-сервера:

Проверьте статус NTP

Используйте следующие команды для просмотра состояния и информации о синхронизации NTP-сервера:

Язык кода:shell
копировать
ntpq -p
Проверьте системное время

Используйте следующую команду для просмотра текущего системного времени:

Язык кода:shell
копировать
date
Настроить NTP-клиент
Шаг 1. Установите программное обеспечение NTP.

Если в вашей системе еще нет установки программного обеспечения NTP, откройте терминал и выполните следующую команду, чтобы установить его:

Язык кода:shell
копировать
sudo apt update
sudo apt install ntp
шаг 2: Настроить NTP-клиент

Отредактируйте файл конфигурации клиента NTP, указав сервер NTP. Откройте терминал и выполните следующую команду:

Язык кода:shell
копировать
sudo nano /etc/ntp.conf

в файле,Найдите и отредактируйте следующие строки, чтобы добавить или изменитьNTPсервер。Воляyour_ntp_server_ipЗаменить реальнымNTPсерверIPадрес:

Язык кода:shell
копировать
# Укажите NTP сервер
server your_ntp_server_ip
Шаг 3. Перезапустите службу NTP.

Сохраните файл конфигурации и перезапустите службу NTP, чтобы изменения вступили в силу:

Язык кода:shell
копировать
sudo systemctl restart ntp
Проверьте конфигурацию клиента NTP

Вы можете использовать следующую команду для проверки конфигурации NTP-клиента:

Проверьте статус NTP

Используйте следующие команды для просмотра состояния и информации о синхронизации NTP-сервера:

Язык кода:shell
копировать
ntpq -p
Проверьте системное время

Используйте следующую команду для просмотра текущего системного времени:

Язык кода:shell
копировать
date

4. Резюме

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

  • NTP — это сетевой протокол, используемый для синхронизации часов между компьютерными системами, работающий в сетях передачи данных с переменной задержкой посредством коммутации пакетов.
  • NTPИстоки можно проследить1985 год,Один из старейших протоколов Интернета.,Дэвид Л. Дизайн Миллса, Университет штата Делавэр.
  • Целью NTP является синхронизация участвующих компьютеров с точностью до нескольких миллисекунд от всемирного координированного времени (UTC).,принявалгоритм кроссоверадля смягчения влияния переменной задержки в сети。
  • NTPв целом Точность времени можно поддерживать в общедоступном Интернете по адресу:десятки миллисекундв пределах,в идеальных условиях,Он может достичь лучшей производительности в локальной сетиодна миллисекундаТочность,Но асимметричная маршрутизация и перегрузка сети могут привести к более серьезным ошибкам.
  • NTPрабочая модельв целом ВыбиратьИспользуйте клиент-серверМодель,Но также может использоваться в одноранговых отношениях.,Оба они могут служить потенциальными источниками времени.
  • NTPИспользовать протокол дейтаграмм пользователя(UDP)существоватьПорт номер 123Отправляйте и получайте на Временная метка, также поддерживает режим широковещательной или многоадресной рассылки.
  • NTP отвечает за предупреждения о дополнительных секундах, но не за передачу информации о местных часовых поясах или переходе на летнее время.
  • Текущая версия протокола — NTPv4, она обратно совместима с NTPv3.

ЯсуществоватьучаствоватьНа третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будет проводиться конкурс сочинений. Соберите команду, чтобы выиграть приз!

ntp
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose