Saya perhatikan bahwa di server saya dan mesin lain jam selalu melayang sehingga harus disinkronkan agar tetap akurat.
Bagaimana jam server NTP tidak melayang dan selalu tetap benar?
Saya perhatikan bahwa di server saya dan mesin lain jam selalu melayang sehingga harus disinkronkan agar tetap akurat.
Bagaimana jam server NTP tidak melayang dan selalu tetap benar?
Jawaban:
Server NTP mengandalkan jam yang sangat akurat untuk ketepatan waktu. Sumber waktu yang umum untuk server NTP pusat adalah jam atom, atau penerima GPS (ingat bahwa satelit GPS memiliki jam atom di dalamnya). Jam-jam ini didefinisikan sebagai akurat karena mereka memberikan referensi waktu yang sangat tepat. Tidak ada yang ajaib tentang GPS atau jam atom yang membuat mereka memberi tahu Anda jam berapa sekarang; karena bagaimana jam atom bekerja, mereka sangat pandai, setelah pernah diberi tahu jam berapa sekarang, terus memberi tahu waktu yang akurat (karena jam kedua didefinisikan berdasarkan efek atom ). Bahkan, perlu dicatat bahwa waktu GPS berbeda dari UTC yang lebih sering kita lihat. Jam atom ini pada gilirannya disinkronkanWaktu Atom Internasional atau TAI untuk tidak hanya akurat memberitahu berlalunya waktu tetapi juga pada waktu.
Setelah Anda memiliki waktu yang tepat pada satu sistem yang terhubung ke jaringan seperti Internet, ini adalah masalah teknik protokol yang memungkinkan transfer waktu yang tepat antara penghuni melalui jaringan yang tidak dapat diandalkan. Dalam hal ini, strata 2 (atau lebih jauh dari sumber waktu aktual) server NTP tidak berbeda dari sistem desktop Anda yang disinkronkan dengan satu set server NTP.
Pada saat Anda memiliki beberapa waktu yang akurat (seperti yang diperoleh dari server NTP atau di tempat lain) dan mengetahui tingkat kemajuan jam lokal Anda (yang mudah untuk ditentukan), Anda dapat menghitung laju pergeseran jam lokal Anda relatif terhadap "diyakini akurat " lorong Waktu. Setelah dikunci, nilai ini kemudian dapat digunakan untuk terus menyesuaikan jam lokal untuk membuatnya melaporkan nilai yang sangat dekat dengan perjalanan waktu yang akurat, bahkan jika jam real-time lokal itu sendiri sangat tidak akurat; selama jam lokal Anda tidak terlalu tidak menentu, ini akan memungkinkan menjaga waktu yang akurat untuk beberapa waktu bahkan jika sumber waktu hulu Anda menjadi tidak tersedia karena alasan apa pun. Beberapa implementasi klien NTP (mungkin sebagian besar ntpd
daemon atau implementasi layanan sistem) melakukan ini, dan yang lainnya (seperti pendamping ntpdntpdate
yang hanya mengatur jam sekali) jangan. Ini biasanya disebut sebagai file drift karena menyimpan ukuran clock drift secara persisten, tetapi sebenarnya tidak harus disimpan sebagai file spesifik pada disk.
Dalam NTP, strata 0 menurut definisi merupakan sumber waktu yang akurat. Stratum 1 adalah sistem yang menggunakan sumber waktu stratum 0 sebagai sumber waktunya (dan karenanya sedikit kurang akurat daripada sumber waktu stratum 0). Stratum 2 lagi sedikit kurang akurat daripada stratum 1 karena sedang menyinkronkan waktunya terhadap sumber stratum 1. Dan seterusnya. Dalam praktiknya, kehilangan keakuratan ini sangat kecil sehingga benar-benar dapat diabaikan dalam semua kasus kecuali yang paling ekstrim.
Dalam ketepatan waktu jaringan, spesifikasi yang memberi tahu Anda bagaimana server mendapatkan sumber waktunya disebut Tingkat Stratum. Semakin rendah level, semakin baik waktu menjaga server itu.
Perangkat level 0 stratum tidak terhubung langsung ke jaringan. Mereka adalah perangkat pencatat waktu yang sebenarnya itu sendiri, dan harus terhubung ke komputer untuk mendapatkan waktu yang sebenarnya. Komputer ini kemudian menjadi server NTP Stratum level 1.
Komputer yang tersambung ke stratum level 1 juga dapat menjadi server waktu, tetapi kemudian akan menjadi stratum level 2. Saat komputer terhubung ke server waktu, semakin rendah level stratum Anda, semakin akurat waktu Anda.
Perangkat level 0 Stratum termasuk jam atom yang mengambil bagian dalam TAI (waktu atom internasional)atau disinkronkan dengan itu, dan penerima sinyal waktu dikirim oleh jam tersebut. Paling umum mereka adalah penerima ketepatan waktu GPS dengan antarmuka yang sesuai yang mencakup sinyal GPS PPS. Sinyal PPS, ketika GPS memiliki kunci yang baik pada beberapa satelit, mengirimkan satu pulsa per detik, dan ujung terdepan dari pulsa itu berada dalam nanodetik dari awal sebenarnya detik itu. Bergantung pada spesifikasi penerima GPS, sinyal PPS mungkin lebih atau kurang akurat. Ini karena setiap satelit GPS memiliki jam atom. Setelah penerima GPS menemukan posisinya sendiri dan lokasi satelit GPS yang didengarnya, ia dapat mengoreksi propagasi RF dan memberi Anda waktu yang hampir seakurat memiliki jam atom tepat di penerima GPS.
Jadi server level 1 Stratum terhubung ke jam atom, atau penerima GPS, dan server NTP terhubung ke mereka. Bahkan menghubungkan ke server level 2 atau 3 dengan penyesuaian yang sering akan memberikan komputer Anda akurasi waktu yang diukur dalam nanodetik. Tetapi jika Anda membutuhkan pengaturan waktu yang lebih baik, sambungkan ke server level satu strata, atau beli penerima GPS ketepatan waktu yang sesuai dan jadilah sumber level strata satu sendiri.
Semua jam melayang sampai batas tertentu, itu tergantung pada sumber sinyal waktu dan seberapa baik dilacak. Dalam PC, ini adalah HPET hari ini, tetapi PC dapat kehilangan jejak berapa banyak kutu telah berlalu jika kelebihan beban.
Server NTP yang dibicarakan dengan mesin Anda kemungkinan besar akan kehilangan waktu juga, namun mereka mengalihkan waktu mereka kembali ke sumber yang lebih baik.
Pada akhirnya, sumber yang lebih baik adalah jam yang sangat akurat seperti jam atom. Anda dapat menganggap NTP sebagai jaringan mesin, masing-masing akan memiliki sejumlah sumber yang diandalkannya untuk waktu dan menyimpang waktunya sendiri untuk apa yang dianggap lebih akurat.
Ini diatur oleh sumber yang menyatakan strata-nya. Jam atom atau GPS adalah strata 0, dan otoritas tentang jam berapa. Setiap lapisan keluar dari itu adalah strata berikutnya - strata 1, dan akan memeriksa sejumlah sumber strata 0 bersama dengan rekan-rekan di tingkat yang sama, untuk kewarasan memeriksa sumber waktu.
Anda mungkin berbicara dengan sumber strata 2 atau 3 waktu.
Apa yang orang lain tulis adalah benar: server Stratum 1 mendapatkan waktunya dari perangkat Stratum 0. Saya tidak tahu di mana interval waktu itu terjadi, tetapi saya pikir mereka cukup akurat.
Server Stratum n dengan n> 1 mendapatkan waktunya melalui NTP dari server Stratum n-1. Itu berarti disinkronkan ke sana secara berkala. Setelah memulai layanan NTP, sinkronisasi terjadi dalam interval yang cukup singkat, dan seiring waktu, interval mulai meningkat. Akhirnya, intervalnya sebesar 1024 detik, sekitar 17 menit.
Yang belum ditanggapi adalah pertanyaan apa yang terjadi di sela waktu itu? Nah, ada fasilitas bernama drift file . Ini membantu NTP untuk memantau penyimpangan antara jam lokal dan jam referensi. Frekuensi jam lokal kemudian disesuaikan menurut penyimpangan yang terdeteksi, sehingga waktunya juga akurat di antara jajak pendapat server.
Implementasi NTP lain mungkin menggunakan fasilitas lain, tetapi satu hal yang umum: kebutuhan dan kemampuan untuk menyesuaikan frekuensi jam.