[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м оформление, орфография
Строка 9:
|Спецификация = RFC 5905
}}
'''NTP''' ({{lang-en|Network Time Protocol}} — протокол сетевого времени) — [[сетевой протокол]] для синхронизации внутренних часов [[компьютер]]а с использованием сетей с переменной [[латентность]]ю. Протокол был разработан {{нп5|Дэвид Л. Миллс|Дэвидом Л. Миллсом|en|David L. Mills}}, профессором [[Делавэрский университет|Делавэрского университета]], в 1985 году. Текущая версия — NTPv4. <ref name="rfc5905">RFC 5905</ref>.
 
NTP, основанный на [[алгоритм Марзулло|алгоритме Марзулло]], использует для своей работы протокол [[UDP]] и включает такую особенность, как учёт времени передачи. Система NTP чрезвычайно устойчива к изменениям латентности [[среда передачи данных|среды передачи]]. В версии 4 способен достигать точности 10 мс (1/100 с) при работе через [[Интернет]], и до 0,2 мс (1/5000 с) и лучше внутри локальных сетей. <ref name="ntp-presice">{{cite web |url=http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK |title=NTP FAQ |publisher=Проект NTP |accessdate=2015-10-25}}</ref>.
 
Наиболее широкое применение протокол NTP находит для реализации серверов точного времени. Для достижения максимальной точности предпочтительна постоянная работа программного обеспечения NTP в режиме [[Службы Windows|системной службы]]. В семействе операционных систем [[Microsoft Windows]] — это служба W32Time (модуль w32time.dll, выполняющийся в [[svchost.exe]]), [[Linux]] — сервис [[Ntpd]].
 
Более простая реализация этого алгоритма известна как [[SNTP]] — простой протокол сетевого времени. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах точного времени. <ref name="rfc4330">RFC 4330</ref>.
 
== Структура пакета ==
 
NTP пакет состоит из целого числа 32-битных слов.
 
=== Заголовок ===
 
{| class="wikitable" style="margin: 0 auto; text-align: center;"
|+Заголовок NTPv4
Строка 87 ⟶ 85 :
! 12
! 96
| colspan="32"|[[#ИндентификаторИдентификатор источника|ИндентификаторИдентификатор источника]]
|-
! 16
Строка 176 ⟶ 174 :
{{anchor|Часовой слой}}
; Часовой слой (8 бит, {{lang-en|Stratum}})
: Целое число, представляещеепредставляющее [[#Часовые слои|часовой слой]].
:: {| class="wikitable"
! Значение
Строка 213 ⟶ 211 :
: Общая дисперсия для источника времени в [[#Короткий формат|коротком формате NTP]].
 
{{anchor|ИндентификаторИдентификатор источника}}
; ИндентификаторИдентификатор источника (32 бита, {{lang-en|Reference ID}})
: Код источника синхронизации. Зависит от значения в поле [[#Часовой слой|Часовой слой]].
:: Для ''слоя 0'' - это четыре [[ASCII]] символа, называемые «kiss code», используются для отладки и мониторинга. [[#NTP-сообщение «Kiss-o'-Death»|Смотри ниже]]
Строка 279 ⟶ 277 :
| Телефонный модем {{нп5|Национальный метрологический институт Германии|Национального метрологического института Германии|en|Physikalisch-Technische Bundesanstalt}}
|}
:: Для ''слоя 2'' и выше - это индентификаторидентификатор сервера и может быть использован для фиксирования временных петель. Если используется [[IPv4]], то индентификаторидентификатор представляет из себя четыре октета IP адреса. Если используется [[IPv6]], то это первые четыре отктетаоктета [[MD5]] хэша адреса. Стоит отметить, что при использовании IPv6 адресов для сервере с NTPv4 и клиента с NTPv3 индентификаторидентификатор может принимать случайное значение, из-за чего временные петли могут быть не зафиксированы.
 
{{anchor|Время обновления}}
Строка 299 ⟶ 297 :
=== NTP-сообщение «Kiss-o'-Death» ===
 
Для '''слоя 0''', который считается не определённым или не допустимым, поле ''[[#ИндентификаторИдентификатор источника|ИндентификаторИдентификатор источника]]'' может использоваться для доставки сообщений, которые выполняют роль данных о состоянии системы и управления доступом. Такие сообщения называются «Kiss-o'-Death»<ref name="kod" group="заметка">От «Kiss of Death», что в переводе значит «последний удар» или «последняя попытка».</ref> (KoD), а доставляемые ими ASCII-данные называются «kiss codes» (коды «помощи»). Перечень принятых в настоящее время кодов «помощи» представлен в таблице ниже.<ref name="rid-iana" />.
 
Получатели KoD-сообщений обязаны их проверить и выполнить следующие действия<ref name="rfc5905" />:
Строка 541 ⟶ 539 :
* [http://www.ntp.org/ Network Time Protocol project] — общественный проект по развитию протокола и служб NTP
* [http://support.ntp.org/bin/view/Servers/WebHome NTP Public Services Project] — проект публичных серверов NTP и рабочей группы [[IETF]] по протоколу NTP
* [http://www.pool.ntp.org pool.ntp.org] — ресурс, представляющий большой виртуальный кластер NTP-серверов для миллионов пользователей. По состоянию на 08 сентября 2014 в pool.ntp.org зарегистрированнозарегистрировано 3816 серверов. Есть возможность выбрать региональные сервера.
* [http://ntp.mobatime.ru/ ntp.mobatime.ru] — с 2005 года публичный бесплатный NTP-сервер [[Mobatime]] первого стратума (Россия, Санкт-Петербург).