Banyak dari kita memiliki masalah sesekali dengan komputer kita dan perangkat lain mempertahankan pengaturan waktu yang akurat, tetapi sinkronisasi cepat dengan server NTP membuat semuanya baik-baik saja. Tetapi jika perangkat kita sendiri dapat kehilangan akurasinya, bagaimana server NTP bisa tetap begitu akurat?
Sesi Tanya & Jawab hari ini hadir atas kebaikan SuperUser — subdivisi Stack Exchange, pengelompokan situs web Tanya Jawab berbasis komunitas.
Foto milik LEOL30 (Flickr) .
Pertanyaan
Pembaca SuperUser Frank Thornton ingin tahu bagaimana server NTP bisa tetap akurat:
Saya perhatikan bahwa di server saya dan mesin lain, jam selalu bergeser sehingga harus disinkronkan agar tetap akurat. Bagaimana jam server NTP menjaga agar tidak melayang dan selalu tetap akurat?
Bagaimana server NTP bisa tetap akurat?
Jawabannya
Kontributor SuperUser Michael Kjorling memiliki jawabannya untuk kami:
Server NTP mengandalkan jam yang sangat akurat untuk ketepatan waktu yang presisi. Sumber waktu yang umum untuk server NTP pusat adalah jam atom, atau penerima GPS (ingat bahwa satelit GPS memiliki jam atom onboard). Jam ini didefinisikan sebagai jam yang akurat karena memberikan referensi waktu yang sangat tepat.
Tidak ada yang ajaib tentang GPS atau jam atom yang membuatnya memberi tahu Anda jam berapa sekarang. Karena cara kerja jam atom, mereka sangat ahli, setelah diberi tahu jam berapa sekarang, penyimpanan waktu yang akurat (sejak yang kedua didefinisikan dalam istilah efek atom ). Faktanya, hal itu perlu dicatat Waktu GPS berbeda dengan UTC bahwa kita lebih terbiasa melihat. Jam atom ini pada gilirannya akan disinkronkan Waktu Atom Internasional atau TAI untuk tidak hanya secara akurat memberi tahu perjalanan waktu, tetapi juga itu waktu.
Setelah Anda memiliki waktu yang tepat pada satu sistem yang terhubung ke jaringan seperti Internet, itu adalah masalah rekayasa 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 sebenarnya) 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 ditentukan), Anda dapat menghitung laju penyimpangan jam lokal Anda relatif terhadap "akurasi yang dipercaya " lorong Waktu. Setelah dikunci, nilai ini kemudian dapat digunakan untuk menyesuaikan jam lokal secara terus-menerus agar nilai laporannya sangat mirip dengan berlalunya waktu yang akurat, bahkan jika jam waktu nyata lokal itu sendiri sangat tidak akurat. Selama jam lokal Anda tidak terlalu tinggi tak menentu , ini akan memungkinkan penyimpanan waktu yang akurat untuk beberapa waktu meskipun sumber waktu upstream Anda tidak tersedia karena alasan apa pun.
Beberapa implementasi klien NTP (mungkin sebagian besar daemon ntpd atau implementasi layanan sistem) melakukan ini, dan yang lainnya (seperti ntpdate pendamping ntpd yang hanya menyetel jam sekali) tidak. Ini biasanya disebut sebagai a drift file karena terus-menerus menyimpan ukuran pergeseran jam, tetapi sebenarnya tidak harus disimpan sebagai file tertentu pada disk.
Dalam NTP, Stratum 0 menurut definisi merupakan sumber waktu yang akurat. Stratum 1 adalah sistem yang menggunakan sumber waktu Stratum 0 sebagai sumber waktunya (dan dengan demikian sedikit kurang akurat daripada sumber waktu Stratum 0). Stratum 2 lagi-lagi sedikit kurang akurat daripada Stratum 1 karena ini menyinkronkan waktunya dengan sumber Stratum 1 dan seterusnya. Dalam praktiknya, hilangnya akurasi ini sangat kecil sehingga dapat diabaikan sama sekali dalam semua kasus kecuali kasus yang paling ekstrem.
Punya sesuatu untuk ditambahkan ke penjelasannya? Suarakan di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi? Lihat utas diskusi lengkap di sini .