Banyak dari kita yang kadang-kadang memiliki masalah dengan komputer dan perangkat lain yang mempertahankan pengaturan waktu yang akurat, tetapi sinkronisasi cepat dengan server NTP membuat semuanya baik kembali. Tetapi jika perangkat kita sendiri dapat kehilangan akurasi, bagaimana cara server NTP mengelola agar tetap akurat?
Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Foto milik LEOL30 (Flickr).
Pembaca SuperUser, Frank Thornton ingin tahu bagaimana server NTP dapat tetap begitu akurat:
Saya telah memperhatikan bahwa pada server saya dan mesin lainnya, jam selalu melayang sehingga mereka harus mensinkronisasi untuk tetap akurat. Bagaimana server NTP menjaga agar tidak hanyut dan selalu tetap akurat?
Bagaimana cara server NTP mengelola agar tetap akurat?
Kontributor SuperUser Michael Kjorling memiliki jawabannya untuk kami:
Server NTP bergantung pada jam yang sangat akurat untuk ketepatan waktu presisi. Sumber waktu umum untuk server NTP pusat adalah jam atom, atau penerima GPS (ingat bahwa satelit GPS memiliki jam atom onboard). 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 persis jam berapa sekarang. Karena cara kerja jam atom, mereka sangat pandai, setelah diberi tahu jam berapa, 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 secara akurat memberi tahu berlalunya waktu, tetapi juga itu waktu.
Setelah Anda memiliki waktu yang tepat pada satu sistem yang terhubung ke jaringan seperti Internet, ini adalah masalah rekayasa protokol yang memungkinkan transfer waktu yang tepat antara host melalui jaringan yang tidak dapat diandalkan. Dalam hal ini, Stratum 2 (atau lebih jauh dari sumber waktu sebenarnya) Server NTP tidak berbeda dengan sinkronisasi sistem desktop Anda terhadap sekumpulan server NTP.
Pada saat Anda memiliki beberapa waktu 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 penyimpangan jam lokal Anda relatif terhadap "akurat yang dipercaya " lorong Waktu. Setelah terkunci, nilai ini kemudian dapat digunakan untuk terus menerus menyesuaikan jam lokal untuk membuatnya melaporkan nilai sangat dekat dengan lintasan waktu yang akurat, bahkan jika jam real-time lokal itu sendiri sangat tidak akurat. Selama jam lokal Anda tidak terlalu tinggi tak menentu, ini harus memungkinkan menjaga waktu 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 lain (seperti ntpdate ntpd yang hanya mengatur jam sekali) tidak. Ini biasanya disebut sebagai file drift karena terus-menerus menyimpan ukuran penyimpangan jam, tetapi sebenarnya tidak harus disimpan sebagai file spesifik pada disk.
Dalam NTP, Stratum 0 adalah definisi sumber waktu yang akurat. Stratum 1 adalah sistem yang menggunakan Stratum 0 sumber waktu sebagai sumber waktunya (dan dengan demikian sedikit kurang akurat daripada Stratum 0 sumber waktu). Stratum 2 lagi sedikit kurang akurat daripada Stratum 1 karena itu menyinkronkan waktunya melawan sumber Stratum 1 dan seterusnya. Dalam prakteknya, kehilangan akurasi ini sangat kecil sehingga sama sekali dapat diabaikan dalam semua kasus kecuali yang paling ekstrem.
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.