A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
A hálózati idő protokoll (angolul Network Time Protocol, NTP) számítógépes rendszerek óráinak szinkronizálására szolgáló hálózati protokoll. A protokoll csomagkapcsolt hálózaton keresztül működik. Az NTP az egyik legrégebbi internetprotokoll. Az NTP-t David L. Mills (University of Delaware), amerikai számítógépes mérnök fejlesztette ki 1981-ben, és azóta is frissíti rendszeresen.[1]
Áttekintés
Az NTP az egyezményes koordinált világidőt szolgáltatja a szökőmásodperccel kiegészítve. Semmilyen más információt nem szolgáltat. Az NTP a Marzullo-féle algoritmust használja. Az NTP ezredmásodperc pontosságú időjelet szolgáltat az interneten keresztül.[2][3] 2010 óta az RFC 5905 szabvány[4] írja le az NTP jelenlegi 4-es verzióját, mely kiegészíti az NTP és az SNTP (Simple NTP) korábbi verzióit. Az NTP User Datagram Protocolt (UDP) használ a 123-as porton keresztül.[5] A jelenlegi verzióban precíz algoritmusok szűrik a hálózati meghibásodások, szerverhibák és egyéb ellenséges zavarások hatásait. A szerverek és a kliensek úgy vannak konfigurálva, hogy az időértékek az elsődleges szerverektől a kliensek irányában fa struktúrájú köztes szervereken át jutnak el. A protokoll pontossága jobb mint 1 nanomásodperc (1 ns), a szolgáltatott frekvencia pontosság 1ns/s. Gyors LAN hálózatokon levő szerverek és kliensek néhány tíz micromásodpercenként (10 microsecond) kérdezik le a fölöttes szervereket, de ez az idő 36 óra is lehet.
Unix
A modern UNIX rendszereknél az NTP démonként van telepítve, mely folyamatosan fut a háttérben. Az időzítési bizonytalanságok elkerülése céljából egy fáziszárt hurok biztosítja a stabilitást. Az összes jelenlegi verzió ezt a módszert használja (Linux, BSD, macOS, Solaris és AIX).
Microsoft Windows
A Windows 2000 és Windows XP óta az összes Windows verzió rendelkezik egy ’Windows Time Service’ programmal, mely képes szinkronizálni a számítógépet az NTP-hez. Mindemellett a Microsoft nem garantál 2 másodpercnél pontosabb időinformációt.[6] Nagyobb pontosság eléréséhez a Microsoft más NTP implementációt ajánl.[7]
Óra rétegek
A sárga nyilak közvetlen kapcsolatot jelölnek, a piros nyilak hálózati kapcsolatok.
Az NTP hierarchikus módon épül fel. Minden réteg elnevezése: ’stratum’, és 0-nál kezdődik a legfelső réteg. Az aktuális stratum szint meghatározza a távolságot a referencia órától, és csökkenti a függést a hierarchiában. A stratum nem jelent minőséget vagy megbízhatóságot.
- Stratum 0: Itt (cézium, rubídium) atomórák találhatók. A Stratum 0 közvetlenül nem kapcsolódik az internethez.
- Stratum 1: Ezek a Stratum 0-hoz kapcsolódó számítógépek. Alapesetben a Stratum 2 kiszolgálói NTP-n keresztül, nevük: idő szerverek.
- Stratum 2: Itt számítógépek vannak, melyek NTP kéréssel fordulnak a Stratum 1 szerverekhez. Általában ezek a számítógépek több Stratum 1 géppel is kapcsolatban vannak, és gyűjtik, elemzik a mintákat, és eldobják a hibás információkat. A Stratum 2 gépek kapcsolódnak a többi Stratum 2 géphez, melynek eredményeként stabilabb időinformációt szolgáltatnak a csoportnak. A Stratum 2 gépek a Stratum 3 gépek kiszolgálói.
- Stratum 3: Ezen a szinten hasonlóan működnek a gépek, mint az előző szinten, és a Stratum 4 szint kiszolgálói, és így tovább.
Bár az NTP (a használt NTP protokoll verziószámától függően) legfeljebb 256 szintet támogat, csak az első 16 van kihasználva, és a Stratum 16 szinten nincsenek szinkronizálva a gépek.
NTP időbélyeg
Az NTP által használt 64 bites időbélyeg két részből áll. Az első 32 bit a másodperceket, másik 32 bit a másodperc törtrészét adja meg. Az NTP idő így 136 évenként átfordul, és az elméleti felbontás 2−32 másodperc (233 pikomásodperc). Az NTP az 1900. évet használja kiinduló pontnak, és 2036-ban lesz az első átfordulás, még a UNIX-féle 2038-probléma előtt.
Az NTPv4-gyel bevezetésre került a 128 bites időformátum: 64 bit az egész másodpercre és 64 bit a másodperc törtrészére.[8][9] Mills szerint „a 64 bit a törtrészre elég, hogy felírjuk azt az időmennyiséget, ami alatt egy foton fénysebességgel áthalad egy elektronon, a 64 bit az egész másodpercekre elég, hogy egyértelmű időfelírást adjon, míg az univerzum el nem sötétül.”[10][a]
Óra szinkronizációs algoritmus
Egy tipikus NTP kliens rendszeresen három vagy több, egymástól eltérő hálózaton levő szervert kérdez le. Annak érdekében, hogy a kliens a saját óráját a távoli szerverhez tudja szinkronizálni, a kliensnek ki kell számítania az RTT és az offszet értékét. Az RTT a Round Trip Time rövidítése, ami az az idő, ami alatt a csomagot elküldjük, és visszaérkezik rá a nyugta.
Az RTT δ értéke a következő módon számítható ki:
, ahol
- t0 a kliens időbélyege a csomag elküldésekor,
- t1 a szerver időbélyege a csomag beérkezésekor,
- t2 a szerver időbélyege a válasz elküldésekor és
- t3 a kliens időbélyege a válasz beérkezésekor.
Következésképp:
- t3 − t0 a kliens oldalon eltelt idő, a kérés csomag elküldése és a válaszüzenet beérkezése között.
- t2 − t1 a szerver oldali késleltetés a kérés megérkezése és a válasz elküldése között.
A θ offszet kiszámítható:
A számított δ és θ értékek szűrését követően statisztikai analízis következik. A nagy eltérést mutató értékek kiesnek és a megmaradó három legjobb értékből az idő eltérés (offszet) számítódik. Az óra frekvenciája ezt követően fokozatosan az offszethez lesz igazítva, mely egy visszacsatolási hurkot alkot. A szinkronizáció helyes, amikor mind a beérkező és a kimenő útvonalakon a nominális eltérés szimmetrikus az idő szerver és a kliens között. Amennyiben az útvonalakon nincs szimmetrikus nominális eltérés, akkor egy szisztematikus eltérés számítódik, ami a kimenő és a beérkező RTT útvonali idő különbségének a fele.[11]
Szökőmásodpercek
Az NTP az UTC időt szolgáltatja. Az UTC figyelembe veszi azt a tényt, hogy a Föld forgásán alapuló idő ettől kis mértékben eltér. A korrekció esetén, amikor egy szökőmásodperc hozzáadódik, az NTP ilyenkor 1 másodpercre felfüggesztődik. Mivel az NTP-nek semmilyen mechanizmusa sincs a szökőmásodpercek történetéről, az egész NTP időskála 1 másodperccel eltolódik.[12]
Biztonsági meggondolások
Az elmúlt 25 évben jelentős biztonsági probléma nem adódott.[13][14] A biztonsági auditok során nem tapasztaltak magas kockázati tényezőket.[15]
Más időszinkronizációs protokollok
- Daytime protocol (RFC 867)
- ICMP Timestamp (RFC 792)
- Precision Time Protocol (PTP) (IEEE 1588-2002)
- Time Protocol (RFC 868)
Irodalom
- Mills, David L: Computer Network Time Synchronization: The Network Time Protocol. (hely nélkül): CRC Press. ISBN 0-8493-5805-1
Kapcsolódó szócikkek
- Egyezményes koordinált világidő
- Atomóra
- Szökőmásodperc
- Csomagkapcsolt hálózat
- Marzullo-féle algoritmus
- 2038-probléma
- Internet
- Órajel
Megjegyzések
- ↑ 2−64 másodperc körülbelül 54 zeptoszekundum (a fény 16,26 pikométert tesz meg ennyi idő alatt, vagyis 0,31 Bohr-sugarat), és 264 másodperc körülbelül 585 milliárd év.
Hivatkozások
- ↑ http://www.eecis.udel.edu/~mills/bio.html
- ↑ http://www.eecis.udel.edu/~mills/exec.html
- ↑ http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK
- ↑ http://tools.ietf.org/html/rfc5905
- ↑ http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
- ↑ http://support.microsoft.com/kb/939322
- ↑ http://blogs.technet.com/b/askds/archive/2007/10/23/high-accuracy-w32time-requirements.aspx?Redirected=true
- ↑ How NTP Represents the Time (Computer Network Time Synchronization). . (Hozzáférés: 2018. július 20.)
- ↑ A look at the Year 2036/2038 problems and time proofness in various systems, 2017. március 14. . (Hozzáférés: 2018. július 20.)
- ↑ University of Delaware Digital Systems Seminar presentation by David Mills, 2006-04-26
- ↑ https://en.wikipedia.org?pojem=Network_Time_Protocol
- ↑ http://www.eecis.udel.edu/~mills/leap.html
- ↑ Archivált másolat. . (Hozzáférés: 2013. január 17.)
- ↑ http://www.eecis.udel.edu/~mills/database/reports/ntp4/ntp4.pdf
- ↑ http://support.ntp.org/bin/view/Main/CodeAudit
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.
Advanced Message Queuing Protocol
Alkalmazási réteg
ARP
Avalanche
BitTorrent
Bootstrap Protocol
CAN-busz
Carrier Sense Multiple Access with Collision Detection
Common Address Redundancy Protocol
Csomagszűrés
EDonkey hálózat
File Transfer Protocol
Frame Relay
Fully qualified domain name
Hálózati idő protokoll
Handshaking
Helium Network
IEEE 802.3
Iptables
Locator/Identifier Separation Protocol
MachineKey
Microcom Networking Protocol
Multiprotocol Label Switching
NetBEUI
NetBIOS
NNTP
Power over Ethernet
Protokoll (informatika)
RARP
Referer
Service Location Protocol
Session Initiation Protocol
Signalling Connection Control Part
Simple Network Management Protocol
Simple Service Discovery Protocol
Stellar (fizetési hálózat)
TCP/IP
Telnet
Universal Plug and Play
User Datagram Protocol
Viszonyréteg
Web Services for Remote Portlets
X-Forwarded-For
Xerox Hálózati Rendszerek
Advanced Message Queuing Protocol
Alkalmazási réteg
ARP
Avalanche
BitTorrent
Bootstrap Protocol
CAN-busz
Common Address Redundancy Protocol
Carrier Sense Multiple Access with Collision Detection
Csomagszűrés
EDonkey hálózat
File Transfer Protocol
Frame Relay
Fully qualified domain name
Hálózati idő protokoll
Hálózati réteg
Handshaking
Helium Network
IEEE 802.3
Iptables
Locator/Identifier Separation Protocol
MachineKey
Microcom Networking Protocol
Multiprotocol Label Switching
NetBEUI
NetBIOS
NNTP
Power over Ethernet
Protokoll (informatika)
RARP
Referer
Secure Shell
Service Location Protocol
Session Initiation Protocol
Signalling Connection Control Part
Simple Network Management Protocol
Simple Service Discovery Protocol
Stellar (fizetési hálózat)
TCP/IP
Telnet
Universal Plug and Play
User Datagram Protocol
Viszonyréteg
Web Services for Remote Portlets
X-Forwarded-For
Xerox Hálózati Rendszerek
Updating...x
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.