Network Time Protocol
Network Time Protocol (NTP) adalah sebuah protokol yang digunakan untuk pengsinkronan waktu di dalam sebuah jaringan bisa pada jaringan LAN (Local Area Network) maupun pada jaringan internet dan untuk sinkronisasi jam-jam sistem komputer di atas paket-switching, variabel-latency jaringan data. Proses sinkronisasi ini dilakukan didalam jalur komunikasi data yang biasanya menggunakan protokol komunikasi TCP/IP. Sehingga
proses ini sendiri dapat dilihat sebagai proses komunikasi data yang hanya melakukan pertukaran paket-paket data saja.
NTP (Network Time Protocol) merupakan sebuah protokol yang digunakan untuk mengsingkronkan waktu antar komputer. Singkronisasi waktu yang dilakukan oleh protokol ini sangat akurat dapat mencapai 10 milidetik untuk jaringan internet dan dapat mencapai 200 milidetik dalam jaringan lokal. NTP sendiri berada di 2 sisi yaitu sisi klien dan sisi server, kegunaan layanan di ntp adalah untuk mempaskan atau menyesuaikan waktu yang ada sesuai regional dimana mesin komputer itu berada.
NTP server pun tidak berdiri sendiri, tetapi ntp server juga saling bersikronisasi dengan server ntp lain nya, setiap server berada di level tertentu yang sering disebut dengan istilah stratum.Terdapat 15 stratum, semakin kecil nilai stratum semakin tinggi kedudukan atau level nya. Level stratum di hitung dari angka 0 hingga 14, dan stratum 0 bukan server namun stratum ini adalah peralatan waktu yang sangat presisi seperti jam atom yang terhubung langsung dengan server stratum 1.
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.
Pada tahun 1979, jaringan sinkronisasi waktu teknologi yang digunakan dalam apa yang mungkin demonstrasi publik pertama dari internet layanan yang berjalan melalui jaringan satelit trans-Atlantik, di konferensi komputer di New York. Teknologi ini kemudian dijelaskan dalam 1981 Internet Engineering Catatan (IEN) 173 dan protokol umum dikembangkan dari itu yang didokumentasikan dalam RFC 778
Teknologi ini pertama kali digunakan dalam jaringan lokal sebagai bagian dari Hello protokol routing dan diimplementasikan dalam fuzzball, sistem operasi eksperimental digunakan dalam prototyping jaringan, dimana ia berjalan selama bertahun-tahun.
Alat jaringan terkait lainnya yang tersedia baik dulu dan sekarang. Mereka termasuk Daytime dan Waktu protokol untuk merekam waktu kejadian, serta ICMP Timestamp pilihan dan IP Timestamp (RFC 781). Sistem sinkronisasi yang lebih lengkap, meskipun kurang analisis data NTP dan jam mendisiplinkan algoritma, termasuk daemon Unix waktunya, yang menggunakan algoritma pemilihan untuk menunjuk server untuk
semua klien; dan Digital Waktu sinkronisasi layanan (DTSS), yang menggunakan hirarki server mirip dengan model strata NTP.
Pada tahun 1985, NTPv0 dilaksanakan di kedua fuzzball dan Unix, dan NTP header paket dan round-trip delay dan offset perhitungan, yang telah bertahan dalam NTPv4, didokumentasikan dalam RFC 958. Meskipun komputer yang relatif lambat dan jaringan yang tersedia pada saat itu, akurasi yang lebih baik dari 100 milidetik biasanya diperoleh pada Atlantic link mencakup, dengan akurasi 10s milidetik pada Ethernet jaringan.
Pada tahun 1988, spesifikasi jauh lebih lengkap dari protokol NTPv1, dengan algoritma yang terkait, diterbitkan dalam RFC Ini menarik pada hasil eksperimen dan algoritma jam penyaring didokumentasikan di RFC 956 dan adalah versi pertama untuk menggambarkan client-server dan rekan-untuk-peer mode.
Pada tahun 1991, NTPv1 arsitektur, protokol dan algoritma dibawa ke perhatian audiens yang lebih luas rekayasa dengan penerbitan sebuah artikel oleh David L. Mills di IEEE Transaksi pada Komunikasi.
Pada tahun 1989, RFC 1119 diterbitkan mendefinisikan NTPv2 dengan cara mesin negara, dengan "pseudocode" untuk menggambarkan operasinya. Memperkenalkan protokol manajemen dan otentikasi kriptografi skema yang memiliki kedua selamat ke NTPv4. Desain NTP dikritik karena kurang prinsip kebenaran formal oleh masyarakat DTSS. Alternatif desain mereka termasuk algoritma Marzullo ini, versi modifikasi
dari yang segera ditambahkan ke NTP. Sebagian besar algoritma dari era ini juga sebagian besar selamat ke NTPv4.
Pada tahun 1992, RFC 1305 didefinisikan NTPv3. RFC termasuk analisis semua sumber kesalahan, dari jam referensi ke klien akhir, yang memungkinkan perhitungan metrik yang membantu memilih server terbaik dimana beberapa kandidat muncul untuk tidak setuju. Modus Broadcast diperkenalkan. Dalam tahun-tahun berikutnya, sebagai fitur baru yang ditambahkan dan perbaikan algoritma yang dibuat, menjadi jelas bahwa versi protokol baru yang diperlukan.
Pada tahun 2010, RFC 5905 diterbitkan mengandung spesifikasi yang diusulkan untuk NTPv4, tetapi protokol secara signifikan telah pindah sejak saat itu, dan pada 2014, RFC diperbarui belum dipublikasikan. Setelah pensiun dari Mills dari University of Delaware, implementasi referensi saat ini dikelola sebagai open source proyek yang dipimpin oleh Harlan Stenn.
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. • NTP versi 2 muncul pada tahun 1989 yang di dalamnya terdapat cukup banyak fasilitas yang baru. • NTP versi 3 muncul pada tahun 1992
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. • 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.
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 client 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. Di mana clock strata tingkat pertama merupakan perangkat komputer yang melakukan sinkronisasi dengan penghitung waktu eksternal seperti misalnya GPS clock, atomic clock atau radio clock yang sangat akurat. Perangkat berstatus stratum 2 merupakan perangkat yang dikirimi
perhitungan waktu oleh stratum 1 secara langsung dengan menggunakan protokol NTP. Begitu seterusnya sistem hirarki berjalan. Batas atas untuk strata adalah 15; stratum 16 digunakan untuk menunjukkan bahwa suatu perangkat tidak tersinkronisasi. 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 daripada mesin yang lain.