Πολλοί από εμάς είχαμε το περιστασιακό πρόβλημα με τους υπολογιστές μας και άλλες συσκευές να διατηρούν ακριβείς ρυθμίσεις ώρας, αλλά ένας γρήγορος συγχρονισμός με έναν διακομιστή NTP τα κάνει όλα καλά. Αλλά αν οι δικές μας συσκευές μπορούν να χάσουν την ακρίβεια, πώς οι διακομιστές NTP καταφέρνουν να παραμείνουν τόσο ακριβείς;
Η σημερινή συνεδρία Ερωτήσεων & Απαντήσεων μας προσφέρει ευγενική προσφορά του SuperUser - μια υποδιαίρεση του Stack Exchange, μιας ομάδας ιστότοπων Q&A που βασίζεται στην κοινότητα.
Η φωτογραφία προσφέρθηκε από LEOL30 (Flickr) .
Το ερώτημα
Ο αναγνώστης SuperUser Frank Thornton θέλει να μάθει πώς οι διακομιστές NTP μπορούν να παραμείνουν τόσο ακριβείς:
Παρατήρησα ότι στους διακομιστές μου και σε άλλα μηχανήματα, τα ρολόγια μετακινούνται πάντα έτσι ώστε να πρέπει να συγχρονίζονται για να παραμείνουν ακριβείς. Πώς διατηρούνται τα ρολόγια διακομιστή NTP από το να παρασύρονται και παραμένουν πάντα τόσο ακριβή;
Πώς καταφέρνουν οι διακομιστές NTP να παραμείνουν τόσο ακριβείς;
Η απάντηση
Ο συνεργάτης του SuperUser Michael Kjorling έχει την απάντηση για εμάς:
Οι διακομιστές NTP βασίζονται σε πολύ ακριβή ρολόγια για ακριβή χρονομέτρηση. Μια κοινή πηγή ώρας για κεντρικούς διακομιστές NTP είναι ατομικά ρολόγια ή δέκτες GPS (θυμηθείτε ότι οι δορυφόροι GPS διαθέτουν ατομικά ρολόγια επί του σκάφους). Αυτά τα ρολόγια ορίζονται ως ακριβή, δεδομένου ότι παρέχουν μια πολύ ακριβή αναφορά χρόνου.
Δεν υπάρχει τίποτα μαγικό για το GPS ή τα ατομικά ρολόγια που τα κάνουν να σας λένε ακριβώς τι ώρα είναι. Λόγω του πώς λειτουργούν τα ατομικά ρολόγια, είναι απλά πολύ καλοί, αφού κάποτε τους είπαν τι ώρα είναι, τήρηση ακριβής χρόνος (από τότε Το δεύτερο ορίζεται με όρους ατομικών επιδράσεων ). Στην πραγματικότητα, αξίζει να σημειωθεί ότι Ο χρόνος GPS διαφέρει από το UTC ότι είμαστε πιο συνηθισμένοι να βλέπουμε. Αυτά τα ατομικά ρολόγια με τη σειρά τους συγχρονίζονται με Διεθνής ατομική ώρα ή TAI για να μην πούμε με ακρίβεια το πέρασμα του χρόνου, αλλά και ο χρόνος.
Μόλις έχετε έναν ακριβή χρόνο σε ένα σύστημα συνδεδεμένο σε δίκτυο όπως το Διαδίκτυο, είναι θέμα μηχανικής πρωτοκόλλου που επιτρέπει τη μεταφορά ακριβών χρόνων μεταξύ κεντρικών υπολογιστών σε ένα αναξιόπιστο δίκτυο. Από αυτήν την άποψη, ένας διακομιστής NTP Stratum 2 (ή πιο μακριά από την πραγματική πηγή χρόνου) δεν διαφέρει από τον επιτραπέζιο υπολογιστή σας που συγχρονίζεται με ένα σύνολο διακομιστών NTP.
Μέχρι τη στιγμή που έχετε μερικές ακριβείς ώρες (όπως προκύπτει από διακομιστές NTP ή αλλού) και γνωρίζετε το ρυθμό προόδου του τοπικού ρολογιού σας (το οποίο είναι εύκολο να προσδιοριστεί), μπορείτε να υπολογίσετε τον ρυθμό μετατόπισης του τοπικού σας ρολογιού σε σχέση με το " πέρασμα του χρόνου. Μόλις κλειδωθεί, αυτή η τιμή μπορεί στη συνέχεια να χρησιμοποιηθεί για τη συνεχή προσαρμογή του τοπικού ρολογιού ώστε να αναφέρει τιμές πολύ κοντά στο ακριβές πέρασμα του χρόνου, ακόμη και αν το ίδιο το τοπικό ρολόι πραγματικού χρόνου είναι πολύ ανακριβές. Εφόσον το τοπικό ρολόι σας δεν είναι πολύ ασταθής , αυτό θα επιτρέψει τη διατήρηση ακριβούς χρόνου για κάποιο χρονικό διάστημα, ακόμη και αν η πηγή ώρας σας δεν είναι διαθέσιμη για οποιονδήποτε λόγο.
Ορισμένες εφαρμογές προγράμματος-πελάτη NTP (πιθανώς οι περισσότερες εφαρμογές ntpd daemon ή service system) το κάνουν αυτό, και άλλες (όπως το σύντροφο ntpdate ntpdate που απλώς ρυθμίζει το ρολόι μία φορά) δεν το κάνουν. Αυτό συνήθως αναφέρεται ως αρχείο drift επειδή αποθηκεύει επίμονα ένα μέτρο της ροής του ρολογιού, αλλά αυστηρά δεν χρειάζεται να αποθηκεύεται ως συγκεκριμένο αρχείο στο δίσκο.
Στο NTP, το Stratum 0 είναι εξ ορισμού ακριβής πηγή χρόνου. Το Stratum 1 είναι ένα σύστημα που χρησιμοποιεί μια πηγή χρόνου Stratum 0 ως πηγή ώρας (και επομένως είναι ελαφρώς λιγότερο ακριβές από την πηγή χρόνου Stratum 0). Το Stratum 2 πάλι είναι λίγο λιγότερο ακριβές από το Stratum 1 επειδή συγχρονίζει τον χρόνο του με την πηγή Stratum 1 και ούτω καθεξής. Στην πράξη, αυτή η απώλεια ακρίβειας είναι τόσο μικρή που είναι εντελώς αμελητέα σε όλες εκτός από τις ακραίες περιπτώσεις.
Έχετε κάτι να προσθέσετε στην εξήγηση; Ήχος στα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange; Δείτε ολόκληρο το νήμα συζήτησης εδώ .