Bagaimana Server NTP Berhasil Tetap Sangat Akurat?
Banyak dari kita yang kadang-kadang mengalami masalah dengan komputer dan perangkat lain yang mempertahankan pengaturan waktu yang akurat, tetapi sinkronisasi cepat dengan server NTP kembali membaik. Tetapi jika perangkat kita sendiri dapat kehilangan keakuratan, bagaimana server NTP dapat tetap akurat?
Sesi Tanya Jawab hari ini datang kepada kami berkat SuperUser-subdivisi Stack Exchange, pengelompokan situs web Q&A berbasis komunitas.
Foto milik LEOL30 (Flickr).
Pertanyaan
Pembaca SuperUser, Frank Thornton ingin tahu bagaimana server NTP dapat tetap begitu akurat:
Saya perhatikan bahwa pada server saya dan mesin lain, jam selalu melayang sehingga mereka harus melakukan sinkronisasi agar tetap akurat. Bagaimana jam server NTP menjaga agar tidak hanyut dan selalu akurat?
Bagaimana server NTP mengelola agar tetap akurat?
Jawabannya
Kontributor SuperUser Michael Kjorling memiliki jawaban untuk kita:
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 ini didefinisikan sebagai akurat karena 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, penyimpanan waktu yang akurat (karena yang kedua didefinisikan dalam hal efek atom). Bahkan, perlu dicatat bahwa waktu GPS berbeda dari UTC yang lebih sering kita lihat. Jam atom ini pada gilirannya disinkronkan dengan Waktu Atom Internasional atau TAI agar tidak hanya memberi tahu waktu secara akurat, tetapi juga itu waktu.
Setelah Anda memiliki waktu yang tepat pada satu sistem yang terhubung ke jaringan seperti Internet, itu adalah masalah teknik protokol yang memungkinkan transfer waktu yang tepat antara host melalui jaringan yang tidak dapat diandalkan. Dalam hal ini, server NTP Stratum 2 (atau lebih jauh dari sumber waktu aktual) tidak berbeda dengan sinkronisasi sistem desktop Anda terhadap 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 drift jam lokal Anda relatif terhadap “dipercaya 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 tinggi tak 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 hal ini, dan yang lain (seperti ntpdate ntpd yang hanya mengatur jam sekali) tidak melakukannya. Ini biasa disebut sebagai a file melayang karena ia secara terus-menerus menyimpan ukuran clock drift, tetapi secara tegas itu tidak harus disimpan sebagai file tertentu pada disk.
Dalam NTP, Stratum 0 secara 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 menyinkronkan waktunya melawan sumber Stratum 1 dan seterusnya. Dalam praktiknya, kehilangan keakuratan ini sangat kecil sehingga benar-benar dapat diabaikan dalam semua kasus kecuali yang paling ekstrim.
Punya sesuatu untuk ditambahkan ke penjelasan? Berbunyi dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang mengerti teknologi lainnya? Lihat utas diskusi lengkap di sini.