Revision 1183405 of "NTP" on bewiki

{{да выдалення|Не на мове}}
'''Network Time Protocol''' ('''NTP''') — [[сеткавы пратакол]] прызначаны дзеля сінхранізацыі ўнутраных гадзіннікаў [[камп'ютар]]а з выкарыстоўваннем сетак з пераменнай латэнтнасцю.

NTP карыстаецца для сваёй работы пратаколам [[UDP]]. Сістэма NTP надзвычай устойліва да зменаў хуткасці перадачы данных.

NTP выкарыстощвае алгарытм Марзулло, (прапанован Кейтам Марзулло (Keith Marzullo) з Універсытэта Каліфорніі Сан-Дыего), уключае такую асаблівасць, як улік часу трансферу. У версіі 4 здольны дасягаць дакладнасчці ў 10 мс (1/100 с) пры працы праз [[Інтэрнэт]], і да 0,2 мс (1/5000 с) ды лепш унутры лакальных сетак.

NTP — адзін з найстарэйшых кампутарных пратаколаў. NTP распрацаваны Дэвидам Л. Міллсам (David L. Mills) з універсітэта Дэлавера ў 1985 годзе і ў сапраўдны час працягвае ўдасканаленне. Бягучая версія — NTP 4.

NTP выкарыстоўвае іерархічную сістэму «пластоў часу» (stratum). Узровень 1 сінхранізаваны з высокадакладным гадзіннікам, напрыклад з сістэмай [[GPS]], [[ГЛОНАСС]] (Агульная Дзяржаўная шкала часу РФ) ці атамным эталонам часу. Узровень 2 сінхранізуецца з адной з машын узроўня 1, і гэтак далей.

Час уяўляецца ў сістэме NTP 64-бітнай лічбай (8 [[байт]]), што складаецца з 32-битнага лічыльніка секунд і 32-бітнаго лічыльніка далей секунд, дазваляючы передаваць час у дыяпазоне 2<sup>32</sup> секунд, з теаратычнай дакладнасцю 2<sup>−32</sup> секунды. Так як шкала часу NTP паўтараецца кожныя 2<sup>32</sup> секунды (136 гадоў), карыстальнік павінен хоць прыблізна ведаць бы цяперашні час(з дакладнасцю 50 гадоў).

Найбольш шырокае ўжыванне пратакол NTP знаходзіць у рэалізацыі сервероў дакладнага часу. Дзеля дасягнення максімальнай дакладнасці пераважна няспыўная праца праграмнага забеспячэння NTP у рэжыме сістэмнай службы. У сямействе аперацыйных сістэм систем [[Microsoft Windows]], — гэта служба W32Time (модуль w32time.dll, выконваючыся ў svchost.exe), [[Linux]] - сэрвіс [[Ntpd]].

Больш простая рэалізація гэтага алгарытму вядома як [[SNTP]] — просты сінхранізуючы сеткавы пратакол. Выкарыстоўваецца ў устаўлёных сістэмах і прыладах, не патрабуючых высокой дакладнасці, а таксама ў карыстальніцкіх праграмах дакладнага часу.

Падрабязная рэалізацыя пратаколу цалкам апісана ў:
* RFC 778
* RFC 891
* RFC 956
* RFC 958
* RFC 1305
* RFC 2030
* RFC 4330 
* RFC 5905

NTP не варта блытаць з [[daytime protocol]] RFC 867 ці [[time protocol]] RFC 868 (win праграма [http://freestone-group.com/fg-time-sync.htm FG Time Sync]).

== пласты часу ==

[[Image:Network Time Protocol servers and clients.svg|thumb|350px|right|жоўтыя стрэлкі пазначаюць апаратнае злучэнне; чырвоные пазначаюць сеткавае злучэнне.]]

NTP уяўляе сабой іерархічную, шматузроўневую сістэму крыніц часу. Кожны ўзровень той іерархіі завецца пластом, кожнаму пласту прызначаецца нумар, пачынаючы з 0 (нуль) у вяршыні. Узровень пласта вызначае адлегласць ад эталоннага гадзінніка і існуе, каб прадухіліць цыклічные залежласці ў іерархіі. Варта адзначыць, што пласт не з'яўляецца паказальнікам якасці ды надзейнасці, гэта значыць, што крыніца ''пласту 3'' можа даць больш дакладны сігнал, чым некаторыя крыніцы ''пласту 2''. Галоўным чынам пласты належаць дзеля размеркавання нагрузкі і забеспячэння большай плошчы пакрыцця. Гэта азначэнне пласту таксама адрозніваецца ад паняцця пластоў часу, выкарыстоваемага ў  тэлекамунікацыйных сістэмах.

'''Пласт 0'''

Пласт 0 - гэта высокадакладныя прыборы, прызначаныя быць эталонам часу, такия як атамны (малекулярны, квантавы) гадзіннік, радиёгадзіннік ці іх аналагі. Звычайна гэтыя прылады не далучаны да сеткі; замест гэтага яны далучаны да лакальнага кампутара (напрыклад, праз інтерфейс [[RS-232]]) ды перадаюць сігналы  [[Pulse Per Second|PPS]] для сінхранізацыі.

'''Пласт 1'''

Гэта кампутар, да якога наўпрост далучаны эталонны гадзіннік. Ён выступае ў якасці сеткавага серверу часу і адказвае на NTP-запыты, адпраўляемыя кампутарамі пласту 2. 

'''Пласт 2'''

Гэта кампутары, якія атрымоўваюць час ад сервероў першага пласту, карыстючыся для гэтага пратаколам NTP.
Звычайна кампутары другога пласту звяртаюцца да некальких серверощ першага пласту, і выкарытоўваючы NTP-алгарытм, атрымоўваюць найлепшы ўзор дадзеных, адсейваючы серверы з відавочна памылковым часам.
Кампутары могуць параўноўваць свае дадзеныея з іншымі кампутарамі сваяго пласту дзеля атрымання стабільных і несупярэчных сведак на усіх кампутарах плсту.
Кампутары другога пласта ў сваю чаргу выступаюць у якасці сервераў для кампутараў трэцяга пласта і адказваюць на NTP-запыты.

'''Пласт 3'''

Кампутары трэцяга пласту працуюць гэтак жа як і кампутары другога пласту, але з той розніцай, што серверамі для іх служаць кампутары вышэйлеглага другога пласту. Яны таксама могуць выступаць у якасці сервероў для ніжэйлежачага пласту. 
NTP (у залежнасці ад версіі) падтрымлівае да 256 пластоў.

==Алгарытм сінхранізаціі гадзінніка==
Дзеля сінхранізаціі ўласнага гадзінніка з часам дыстанцыянаванага серверу NTP-кліент павінен вылічыць затрымкі туды-і-назад і змяшчэнне часу. Затрымка ў абодва бакі вылічаецца як
<math>\delta = (t_3 - t_0 ) - ( t_2- t_1 )</math>,
дзе <math>t_0</math> час запыту пакета на трансфер,
<math>t_1</math> час прыёму пакета з запытам,
<math>t_2</math> час адпраўкі пакета з адказам, і 
<math>t_3</math> час прыёму пакета з адказам. <math> t_3 - t_0 </math> час, выдаткаваны на баку клiента паміж адпрайкай запыту і прёмам адказау,
пры гэтым <math> t_2- t_1 </math> адзначае час, які сервер чакае перад адпраўкай адказу. Змяшчэнне вылічаецца як 
<math>\theta = {(t_1 - t_0) + (t_2 - t_3 ) \over 2}</math>.<ref>{{Citation|last=Mills|first=David L.|year=2005|title=NTP Clock Discipline Modelling and Analysis|page=10|url=http://www.eecis.udel.edu/~mills/database/brief/algor/algor.pdf |accessdate=2011-07-13 }}</ref>

NTP сінхранізацыя карэктна кали абодва уваходзячыя и зыходзячыя каналы сувязи маюсь симетрычную затрымку. Кали затрымка каналу неаднолькавая, синхранизацыя набывае систэмную хибнасць у памеры паловы затрымкі туды і назад.<ref>{{Cite web | last1 = Gotoh | first1 = T | last2 = Imamura | first2 = K | last3 = Kaneko | first3 = A | contribution = Improvement of NTP time offset under the asymmetric network with double packets method | series = Conference on Precision Electromagnetic Measurements | pages = 448–449 | year = 2002 | doi = 10.1109/CPEM.2002.1034915 | url = http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1034915&userType=inst | title = Improvement of NTP time offset under the asymmetric network with double packets method | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}</ref>

{{зноскі}}

{{Няма катэгорый}}

[[ar:بروتوكول وقت الشبكة]]
[[bg:Времеви мрежов протокол]]
[[ca:Network Time Protocol]]
[[cs:Network Time Protocol]]
[[da:Network Time Protocol]]
[[de:Network Time Protocol]]
[[en:Network Time Protocol]]
[[es:Network Time Protocol]]
[[et:Võrguaja protokoll]]
[[eu:Network Time Protocol]]
[[fi:NTP (tietotekniikka)]]
[[fr:Network Time Protocol]]
[[he:Network Time Protocol]]
[[it:Network Time Protocol]]
[[ja:Network Time Protocol]]
[[lv:NTP]]
[[mk:Мрежен протокол за време]]
[[ms:Protokol Masa Rangkaian]]
[[nl:Network Time Protocol]]
[[no:Network Time Protocol]]
[[pl:Network Time Protocol]]
[[pt:Network Time Protocol]]
[[ru:NTP]]
[[simple:Network Time Protocol]]
[[sv:Network Time Protocol]]
[[th:เอ็นทีพี]]
[[tr:Network Time Protocol]]
[[uk:NTP]]
[[vi:NTP]]
[[yo:Network Time Protocol]]
[[zh:網絡時間協議]]