Network Time Protocol (NTP) — сеткавы пратакол для сінхранізацыі ўнутранага гадзіннікакамп’ютара з выкарыстоўваннем сетак са змяняльнай латэнтнасцю.Выкарыстоўваецца з1985 г., адзін з найстарэйшых пратаколаў. Быў распрацаваны Дэвідам Мілзам (англ.:David L. Mills) зДэлавэрскага ўніверсітэту. Стваральнік пратаколу дасюль удасканальвае і абслугоўвае яго разам з камандай добраахвотнікаў.
NTP аддае карыстальнікуЎніверсальны каардынаваны час з папраўкай на высакосную секунду. Інфармацыя прачасавыя паясы і пераход налетні час не перадаецца. Пратакол выкарыстоўваеалгарытм Марзула (англ.:Marzullo's algorithm), які дазваляе паменшыць уздзеянне змяняльнай латэнтнасці сеткі. NTP можа аддаваць час з хібнасцю ў дзесяць мілісекунд праз агульнадаступныя серверыІнтэрнэту, ці з хібнасцю да адной мілісекунды праз лакальныя сеткі ў ідэальных умовах.
Паводле стану начэрвень2010, дзейнае апісанне пратаколу NTP чацвёртай версіі (яна з'яўляецца цяперашнім прапанаваным стандартам) задакументаванае ўRFC5905. Існуе трэцяя версія, задакументаваная ўRFC1305.
Пратакол выкарыстоўваеUDP-порт 123.
Найпрасцейшая рэалізацыя гэтага пратаколу -SNTP (англ.:Simple Network Time Protocol) выкарыстоўваецца ва ўбудаваных сістэмах і тых праграмах, што не патрабуюць высокай дакладнасці.
NTP ужываецца для арганізацыі сервераў дакладнагачасу, перадачы часу на камп'ютары лакальных сетак і г.д.

NTP выкарыстоўваеіерархічную сістэму крыніцчасу. Кожны ўзровень гэтай іерархіі называюць пластом (англ.:stratum) і нумаруюць ад нуля ўверсе. Варта адзначыць, што нумар пласта не з'яўляецца паказчыкам якасці — крыніца трэцяга пласта можа даваць дакладнейшы час за крыніцу другога ўзроўню. Пласты ўжываюцца для размеркавання нагрузкі на сетку.
Нулявы пласт (stratum 0) — гэта апаратная крыніца часу: эталонны атамны, квантавы, радыёгадзіннік,GPS-прыёмнік. Звычайна гэтыя прылады не далучаныя да Інтэрнэту, але звязаныя з лакальным камп'ютарам, напр., праз COM-порт і перадаюць PPS-сігналы для сінхранізацыі.
Першы пласт (stratum 1) — камп'ютар, які мае непасрэднае злучэнне з апаратным гадзіннікам. Ён з'яўляецца серверам часу, адказваючы на NTP-запыты ад камп'ютараў другога ўзроўню.
Камп'ютары ўstartum 2 атрымліваюць інфармацыю праз NTP ад камп'ютараў пласта 1. Звычайна камп'ютары з пласта 2 звяртаюцца да некалькіх сервераў часу. Выкарыстоўваючы NTP-алгарытм, яны адкідаюць звесткі з відавочна няправільным часам (сервер, які не сінхранізуецца з крыніцай часу, мае статусstratum 16). Камп'ютары могуць параўноўваць свае значэнні часу з іншымі ЭВМ свайго пласта, каб атрымаць у выніку стабільныя звесткі. Да таго ж, камп'ютары з другога пласта з'яўляюцца серверамі часу для камп'ютараў з трэцяга пласта.
Трэці пласт (stratum 3) працуе гэтак жа, як і камп'ютарыstartum 2, але крыніца часу для іх — неstratum 1, а камп'ютарыstratum 2.ЭВМ з трэцяга пласта могуць з'яўляцца серверамі часу для камп'ютараў з чацвёртага і г.д.
Ніжэй прыведзены простыbash-скрыпт для сінхранізацыі часу ў сістэмеLinux. Выкарыстоўваецца праграма-дэманntpd:
:/etc/init.d/ntp stopntpdate -q by.pool.ntp.orgntpdate by.pool.ntp.org/etc/init.d/ntp startexit 0
Скрыпт спыняе ntp-кліент на камп'ютары, паказвае інфармацыю пра сервер, атрымлівае дакладны час і запускае ntp. Інфармацыя ад дэмана выглядае наступным чынам:
Stopping NTP server: ntpd.server 86.57.151.18, stratum 4, offset -0.012289, delay 0.08080server 93.84.115.2, stratum 2, offset 0.017060, delay 0.12947server 31.130.200.2, stratum 3, offset 0.021241, delay 0.13731server 82.209.245.153, stratum 3, offset -0.002228, delay 0.0852230 Sep 01:09:52 ntpdate[1021]: adjust time server 93.84.115.2 offset 0.017060 sec30 Sep 01:09:59 ntpdate[1035]: adjust time server 93.84.115.2 offset 0.017371 secStarting NTP server: ntpd.
Пасля спынення ntp-кліента, мы бачым інфармацыю пра крыніцы часу (чатыры серверы з розныміIP і пластамі ад 2 да 4). Дэман ntpd абірае крыніцуstratum 2 са зрухам у 0,17с ад часу на камп'ютары карыстальніка і затрымкай каля 0,13 с. У момант паказу інфармацыі ў камандным радку зрух часу складаў 0,01706 с, а ў момант сінхранізацыі — 0,017371 с.
Толькі некалькі праблем з бяспекаю пратаколу былі зафіксаваныя за яго шматгадовую гісторыю. NTP праглядаўся і аналізаваўся на працягу свайго існавання. Паводле стану настудзень2011, пратакол не мае праблем з бяспекай. Справаздачы ад Каардынацыйнага ЦэнтруCERT пра сур'ёзныя памылкі ў рэалізацыі пратаколу не зафіксаваныя. Актуальная праграмная рэалізацыя пратаколу рэгулярна зведваеаўдыт коду, які паказвае, што крытычныя памылкі, звязаныя з бяспекай, адсутнічаюць.