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 menggunakan port komunikasi UDP nomor 123.
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.
Sejarah
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, di mana 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 hierarki 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 130 ([Link]
[Link]) [1]5 ([Link]
[Link]) didefinisikan NTPv3. RFC termasuk analisis semua
sumber kesalahan, dari jam referensi ke klien akhir, yang memungkinkan
perhitungan metrik yang membantu memilih server terbaik di mana 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.
Prinsip kerja
NTP bekerja dengan menggunakan algoritma Marzullo dengan menggunakan
referensi skala waktu UTC. Sebuah jaringan NTP biasanya mendapatkan
perhitungan waktunya dari sumber waktu yang tepercaya 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 hierarki dalam bekerja dan melakukan
sinkronisasinya. Sistem hierarki 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 hierarki 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.
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 programprogram 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.
Konfigurasi NTP
mengkonfigurasi NTP pada Debian
Install paket ntp di Debian dengan perintah berikut:
apt-get install ntp
Pastikan proses instalasi selesai dengan sukses. Setelah instalasi paket ntp
berhasil, kita akan melajutkan proses konfigurasi NTP server
Buka file tersebur dengan menggunakan text editor untuk membuka dan
melakukan konfigurasi. Masukkan perintah berikut untuk membuka file tersebut
dengan menggunakan text editor nano:
nano /etc/[Link]
Kemudian file “[Link]” akan terbuka dengan menggunakan text editor nano.
Kemudian cari script pada file tersebut yang kurang lebih seperti berikut:
server [Link] iburst dynamic
server [Link] iburst dynamic
server [Link] iburst dynamic
server [Link] iburst dynamic
Kemudian jadikan comment script yang dimulai oleh kata “server” tersebut,
dengan menambahkan karakter “#” (pagar) pada awal kalimat setiap script
tersebut. Kemudian tambahkan script berikut di bawahnya, hingga menjadi
seperti berikut:
# server [Link] iburst dynamic
# server [Link] iburst dynamic
# server [Link] iburst dynamic
# server [Link] iburst dynamic
server [Link]
fudge [Link] stratum 1
Kemudian jika sudah. Cari lagi script seperti berikut, letaknya sedikit lebih ke
bawah dari script sebelumnya:
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict [Link] mask [Link] notrust
Hapus tanda pagar (uncomment) pada baris script “#restrict ..”, kemudian ganti
“[Link]” dan “[Link]” dengan network dan netmask yang kamu
gunakan pada komputer server tersebut, serta ganti kata ”notrust” dengan
“nomodify notrap” sehingga seperti berikut:
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
restrict [Link] mask [Link] nomodify notrap
Jika sudah, simpan konfigurasi yang telah kamu lakukan pada file tersebut
dengan menekan kombinasi keyboard / shortcut CTRL + O, kemudian tekan
Enter. Untuk keluar dari text editor nano atau file tersebut, tekan kombinasi
keyboard / shortcutCTRL + X.
Sejauh ini konfigurasi NTP server sudah selesai. Kemudian lakukan restart
service ntp dengan perintah berikut:
service ntp restart
Setelah service berhasil restart. Kemudian periksa apakah konfigurasi NTP
server sudah berhasil atau belum dengan menggunakan perintah berikut:
ntpq –pn
Jika berhasil, maka akan keluar output seperti berikut:
remote refid st t when poll reach delay offset jitter
============================================================
*[Link] .LOCL. 1 1 34 64 3 0.000 0.000 0.001
Tetapi jika outputnya adalah seperti berikut:
No association ID's returned
Berarti konfigurasi NTP server masih belum berjalan. Masukkan perintah
berikut agar paket ntp di-configure ulang:
dpkg-reconfigure ntp
Kemudian cek kembali apakah NTP server sudah berjalan dengan baik dengan
menggunakan perintah sebelumnya.
Jika masih terdapat error, coba periksa kembali konfigurasi-konfigurasi NTP
server yang sudah kamu kerjakan, periksa dengan baik satu persatu apakah
ada kesalahan yang terjadi.
cara mengkonfigurasi NTP pada server CentOS 6.4
langsung saja sebelumnya kita login sebagai root lalu install aplikasi NTP:
[root@server1 ~]# yum -y install ntp
Tunggu sampe proses selesei dan sekarang kita konfigurasi pada file berikut:
[root@server1 ~]# mcedit /etc/[Link]
oke sekarang cari pada line 19, seperti kutipan berikut:
#Hosts on local network are less restricted.
#restrict [Link] mask [Link] nomodify notrap
dan sekarang kita sesuaikan dengan IP server kita dan prefix Netmasknya:
#Hosts on local network are less restricted.
#restrict [Link] mask [Link] nomodify notrap
setelah itu kita pindah pada line 22, secara default terdapat data seperti ini:
server [Link]
server [Link]
server [Link]
Sekarang kita ubah dan kita sesuaikan dengan tempat kita berada, karena saya
di indonesia saya menggunakan NTP Indonesia yang saya dapat datanya disini,
kalo sudah dapat kita ganti ntp tersebut dengan ntp Indonesia:
server [Link]
server [Link]
server [Link]
server [Link]
setelah itu kita save, lalu jalankan ntp tersebut dengan perintah berikut:
[root@server1 ~]# /etc/rc.d/init.d/ntpd start
[root@server1 ~]# /etc/rc.d/init.d/ntpd start
Starting ntpd: [OK]
[root@server1 ~]#
Jika sudah muncul OK lalu sekarang kita konfigurasi NTP tersebut untuk
automatis berjalan jika komputer di restart:
[root@server1 ~]# chkconfig ntpd on
Dan sekarang kita check NTPnya dengan perintah berikut:
[root@server1 ~]# ntpq -p
dan akan muncul daftar NTP yang ada di Indonesia.
Referensi
1. Dwi, Novi. "Sejarah Dan Fungsi NTP" ([Link]
-[Link]) (dalam bahasa Inggris). Diakses tanggal 2018-07-18.
Diperoleh dari
"[Link]
title=Network_Time_Protocol&oldid=1858
1648"
Terakhir disunting 8 bulan yang lalu oleh HsfBot