NTP
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. ЭВМ з трэцяга пласта могуць з'яўляцца серверамі часу для камп'ютараў з чацвёртага і г.д.
Прыклад ужывання NTP-сінхранізацыі
Ніжэй прыведзены просты bash-скрыпт для сінхранізацыі часу ў сістэме Linux. Выкарыстоўваецца праграма-дэман ntpd:
: /etc/init.d/ntp stop ntpdate -q by.pool.ntp.org ntpdate by.pool.ntp.org /etc/init.d/ntp start exit 0
Скрыпт спыняе ntp-кліент на камп'ютары, паказвае інфармацыю пра сервер, атрымлівае дакладны час і запускае ntp. Інфармацыя ад дэмана выглядае наступным чынам:
Stopping NTP server: ntpd. server 86.57.151.18, stratum 4, offset -0.012289, delay 0.08080 server 93.84.115.2, stratum 2, offset 0.017060, delay 0.12947 server 31.130.200.2, stratum 3, offset 0.021241, delay 0.13731 server 82.209.245.153, stratum 3, offset -0.002228, delay 0.08522 30 Sep 01:09:52 ntpdate[1021]: adjust time server 93.84.115.2 offset 0.017060 sec 30 Sep 01:09:59 ntpdate[1035]: adjust time server 93.84.115.2 offset 0.017371 sec Starting NTP server: ntpd.
Пасля спынення ntp-кліента, мы бачым інфармацыю пра крыніцы часу (чатыры серверы з рознымі IP і пластамі ад 2 да 4). Дэман ntpd абірае крыніцу stratum 2 са зрухам у 0,17 с ад часу на камп'ютары карыстальніка і затрымкай каля 0,13 с. У момант паказу інфармацыі ў камандным радку зрух часу складаў 0,01706 с, а ў момант сінхранізацыі — 0,017371 с.
Бяспека
Толькі некалькі праблем з бяспекаю пратаколу былі зафіксаваныя за яго шматгадовую гісторыю. NTP праглядаўся і аналізаваўся на працягу свайго існавання. Паводле стану на студзень 2011, пратакол не мае праблем з бяспекай. Справаздачы ад Каардынацыйнага Цэнтру CERT пра сур'ёзныя памылкі ў рэалізацыі пратаколу не зафіксаваныя. Актуальная праграмная рэалізацыя пратаколу рэгулярна зведвае аўдыт коду, які паказвае, што крытычныя памылкі, звязаныя з бяспекай, адсутнічаюць.
Спасылкі
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.