Konfigurasi Server NTP
Network Time Protocol (NTP) merupakan sebuah mekanisme atau protokol yang digunakan untuk melakukan sinkronisasi terhadap penunjuk waktu dalam sebuah sistem komputer dan jaringan. Proses sinkronisasi ini dilakukan di dalam jalur komunikasi data yang biasanya menggunakan protokol komunikasi TCP/IP. Sehingga proses ini sendiri dapat dilihat sebagai proses komunikasi data biasa yang hanya melakukan pertukaran paket-paket data saja.
NTP menggunakan port komunikasi UDP nomor 123. Protokol ini memang didesain untuk dapat bekerja dengan baik meskipun media komunikasinya bervariasi, mulai dari yang waktu latensi / tundanya tinggi hingga yang rendah, mulai dari media kabel sampai dengan media udara. Protokol ini memungkinkan perangkat-perangkat komputer kita untuk tetap dapat melakukan sinkronisasi waktu dengan sangat tepat dalam berbagai media tersebut.
NTP menggunakan port komunikasi UDP nomor 123. Protokol ini memang didesain untuk dapat bekerja dengan baik meskipun media komunikasinya bervariasi, mulai dari yang waktu latensi / tundanya tinggi hingga yang rendah, mulai dari media kabel sampai dengan media udara. Protokol ini memungkinkan perangkat-perangkat komputer kita untuk tetap dapat melakukan sinkronisasi waktu dengan sangat tepat dalam berbagai media tersebut.
2) Sejarah NTP
NTP merupakan sebuah aplikasi yang berbasiskan Internet protocol yang paling lama, paling tua dan paling terdistribusi yang berjalan dalam Internet tanpa berhenti sedikitpun. NTP ditemukan pada tahun 1984 oleh seseorang bernama Dave Mills yang berasal dari Universitas Delaware.
NTP merupakan sebuah aplikasi yang berbasiskan Internet protocol yang paling lama, paling tua dan paling terdistribusi yang berjalan dalam Internet tanpa berhenti sedikitpun. NTP ditemukan pada tahun 1984 oleh seseorang bernama Dave Mills yang berasal dari Universitas Delaware.
NTP sampai saat ini sudah tercipta sebanyak empat versi. NTP versi 0 atau cikal-bakal NTP protokol berawal pada tahun 1985. Versi percobaan ini akhirnya di dokumentasikan menjadi NTP versi 1 tiga tahun kemudian dalam RFC-1059. Kemudian pada tahun 1989 muncul versi 2 dari NTP yang di dalamnya terdapat cukup banyak fasilitas yang baru.
Pada tahun 1992, versi 3 NTP muncul ke dunia Internet dengan konsep konsep baru terhadap penanganan error dan analisisnya untuk membuat perhitungan waktu lebih akurat.
Namun, versi ini tidak bertahan lama karena setelah dilakukan evaluasi dan revisi yang teliti, dalam tahun yang sama juga, para peneliti merasa membutuhkan sebuah nomor versi baru untuk revisinya tersebut. Maka, jadilah NTP versi 4 yang lebih baik dan lebih banyak fasilitasnya daripada versi 3 nya. Salah satu fasilitasnya adalah adanya versi tambahan yang dibuat sangat ringan yang diberi nama SNTP.
Pada tahun 1992, versi 3 NTP muncul ke dunia Internet dengan konsep konsep baru terhadap penanganan error dan analisisnya untuk membuat perhitungan waktu lebih akurat.
Namun, versi ini tidak bertahan lama karena setelah dilakukan evaluasi dan revisi yang teliti, dalam tahun yang sama juga, para peneliti merasa membutuhkan sebuah nomor versi baru untuk revisinya tersebut. Maka, jadilah NTP versi 4 yang lebih baik dan lebih banyak fasilitasnya daripada versi 3 nya. Salah satu fasilitasnya adalah adanya versi tambahan yang dibuat sangat ringan yang diberi nama SNTP.
3) Prinsip Kerja NTP
NTP bekerja dengan menggunakan algoritma Marzullo dengan menggunakan referensi skala waktu UTC. Sebuah jaringan NTP biasanya mendapatkan perhitungan waktunya dari sumber waktu yang terpercaya seperti misalnya radio clock atau atomic clock yang terhubung dengan sebuah time server. Kemudian jaringan NTP ini akan mendistribusikan perhitungan waktu akurat ini ke dalam jaringan lain.
Sebuah NTP klien akan melakukan sinkronisasi dengan NTP server dalam sebuah interval pooling yang biasanya berkisar antara 64 sampai 1024 detik. Namun, waktu sinkronisasi ini biasa berubah secara dramatis bergantung kepada kondisi dan keadaan jaringan yang akan digunakannya.
NTP menggunakan sistem hirarki dalam bekerja dan melakukan sinkronisasinya. Sistem hirarki ini menggunakan istilah Clock stratum atau strata untuk menggambarkan tingkatan-tingkatannya.
NTP bekerja dengan menggunakan algoritma Marzullo dengan menggunakan referensi skala waktu UTC. Sebuah jaringan NTP biasanya mendapatkan perhitungan waktunya dari sumber waktu yang terpercaya seperti misalnya radio clock atau atomic clock yang terhubung dengan sebuah time server. Kemudian jaringan NTP ini akan mendistribusikan perhitungan waktu akurat ini ke dalam jaringan lain.
Sebuah NTP klien akan melakukan sinkronisasi dengan NTP server dalam sebuah interval pooling yang biasanya berkisar antara 64 sampai 1024 detik. Namun, waktu sinkronisasi ini biasa berubah secara dramatis bergantung kepada kondisi dan keadaan jaringan yang akan digunakannya.
NTP menggunakan sistem hirarki dalam bekerja dan melakukan sinkronisasinya. Sistem hirarki ini menggunakan istilah Clock stratum atau strata untuk menggambarkan tingkatan-tingkatannya.
- Startum 1, clock strata tingkat pertama merupakan perangkat komputer yang melakukan sinkronisasi dengan stratum 0.
- Stratum 2, clock strata tingkat kedua merupakan perangkat yang dikirimi perhitungan waktu oleh stratum 1 secara langsung dengan menggunakan protokol NTP.
- Stratum 3, clock strata tingkat ketiga merupakan perangkat yang dikirimi perhitungan waktu oleh stratum 2 secara langsung dengan menggunakan protokol NTP.
- Stratum 4, clock strata tingkat ketiga merupakan perangkat yang dikirimi perhitungan waktu oleh stratum 3 secara langsung dengan menggunakan protokol NTP.
- Begitu seterusnya sistem hirarki berjalan. Hanya Stratum 0 – 15 yang dianggap valid, stratum 16 digunakan untuk menunjukkan bahwa peralatan/mesin dimaksud tidak tersinkronisasi waktunya.
Parameter kedua, NTP akan melakukan proses komparasi terhadap beberapa perhitungan waktu dari beberapa server. Sebuah perangkat NTP yang memiliki pencatatan waktu yang paling berbeda dengan yang lainnya pasti akan dihindari oleh perangkat-perangkat lainnya, meskipun nilai stratumnya paling rendah dibandingkan dengan mesin yang lain.
NTP versi 4 biasanya dapat menjaga ketepatan waktu hingga 10 millisecond 1/100 detik dalam media komunikasi publik atau Internet. Di dalam jaringan lokal yang kondisinya ideal, NTP dapat menjaga ketepatan perhitungannya hingga 20 microsecond atau 1/5000 detik.
Timestamp atau pencatatan waktu yang digunakan oleh protokol NTP adalah sepanjang 64-bit yang terdiri dari 32-bit pertama untuk perhitungan detik, dan 32-bit berikutnya untuk perhitungan pecahan dari satuan detik. Dari spesifikasi ini, maka NTP akan memiliki skala waktu sebesar 2/32 detik atau sebesar 136 tahun dengan berdasarkan perhitungan menggunakan teori resolusi 2 -32 detik (sekitar 0.233 nanosecond).
Meskipun perhitungan waktu NTP akan kembali berulang ketika sudah mencapai 2 32 , implementasinya dibuat sedemikian rupa sehingga waktu NTP tidak akan terganggu dengan program-program penyesuai waktu lainnya. Lagi pula fasilitas NTP pada perangkat-perangkat komputer juga paling lama digunakan selama beberapa decade saja, jadi jika berjalan dengan baik maka aplikasi NTP tidak akan mengalami masalah berarti.
Timestamp atau pencatatan waktu yang digunakan oleh protokol NTP adalah sepanjang 64-bit yang terdiri dari 32-bit pertama untuk perhitungan detik, dan 32-bit berikutnya untuk perhitungan pecahan dari satuan detik. Dari spesifikasi ini, maka NTP akan memiliki skala waktu sebesar 2/32 detik atau sebesar 136 tahun dengan berdasarkan perhitungan menggunakan teori resolusi 2 -32 detik (sekitar 0.233 nanosecond).
Meskipun perhitungan waktu NTP akan kembali berulang ketika sudah mencapai 2 32 , implementasinya dibuat sedemikian rupa sehingga waktu NTP tidak akan terganggu dengan program-program penyesuai waktu lainnya. Lagi pula fasilitas NTP pada perangkat-perangkat komputer juga paling lama digunakan selama beberapa decade saja, jadi jika berjalan dengan baik maka aplikasi NTP tidak akan mengalami masalah berarti.
4) Piranti Lunak Server NTP
Implementasi referensi NTP, bersama dengan protokolnya, secara terus menerus dikembangkan selama lebih dari 20 tahun. Kompatibilitas mundur (backward compatibility) tetap dipertahankan sebagai fitur baru yang telah ditingkatkan. Ini berisi beberapa algoritma yang sensitif, terutama untuk menetapkan jam, yang dapat berbeda ketika disinkronisasi ke server yang menggunakan algoritma yang lain/berbeda. Perangkat lunak ini telah ditanamkan ke hampir semua platform komputasi, termasuk PC. Ini berjalan sebagai daemon yang disebut ntpd bawah unix atau sebagai layanan/services di bawah Windows. Waktu Referensi didukung dan offset mereka disaring dan dianalisis dalam cara yang sama seperti server remote, meskipun mereka biasanya diawasi/dijaga lebih sering.
SNTP. Implementasi NTP yang kurang kompleks, menggunakan protokol yang sama tetapi tanpa memerlukan penyimpanan state atas waktu yang lama, dikenal sebagai Simple Network Time Protocol (SNTP). Hal ini digunakan dalambeberapa perangkat embedded dan aplikasi yang tidak memerlukan waktu akurasi tinggi.
Semua versi Microsoft Windows sejak Windows 2000 dan Windows XP memasukkan Windows Time Service ("w32time"), yang memiliki kemampuan untuk melakukan sinkronisasi jam komputer ke server NTP. Versi pada Windows 2000 dan Windows XP hanya menerapkan Simple NTP, dan belum memenuhi beberapa aspek dari versi 3 NTP standar. Dimulai Windows Server 2003 dan Windows Vista, disertakan implementasi yang mengacu secara penuh pada NTP standar.
Pada pergantian hari terdapat kejadian lompatan waktu, ntpd menerima pemberitahuan dari salah satu file konfigurasi, jam referensi yang digunakan atau server remote. Karena kebutuhan waktu yang harus tampak meningkat, lompatan kedua dimasukkan dengan urutan 23:59:59, 23:59:60, 00:00:00. Meskipun jam sebenarnya dihentikan selama kejadian, setiap proses yang mengurutkan sistem waktu menyebabkan ia meningkat dengan jumlah kecil, agar menjaga urutan peristiwa. Jika memang diperlukan, lompatan kedua akan dihapus dengan melompati 23:59:59.