Posted by : Nakula Aksara
Sabtu, 21 September 2013
Definisi
Network Time
Protocol (NTP) merupakan
sebuah mekanisme atau protocol yang
digunakan untuk
melakukan sinkronisasi terhadap penunjuk waktu dalam sebuah sistem
computer 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.
Kegunaan
NTP digunakan sebagai
sistem menyamakan atau menyetarakan waktu antara satu operating
siystem dengan yang lain dalam hal ini client dengan server agar
waktunya sesuai atau sama. Walaupun pada dasarnya waktu tersebut
sering berbeda atau tidak sama beberapa menit, namun tidak lebih dari
5 menit.
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 terpercaya seperti misalnya radio clock atau
atomic clock yang terhubung dengan sebuah time server. Komputer ini disebut
juga stratum 1. Kemudian jaringan NTP ini akan mendistribusikan perhitungan
waktu akurat ini ke dalam jaringan lain dengan protokol NTP yang disebut
stratum 2. Komputer dalam jaringan tersebut dapat menyinkronkan jaringan lain
yang disebut stratum 3, dan seterusnya sampai stratum 16.
Kemampuan
NTP memiliki kemampuan untuk menghindari proses sinkronisasi dengan sebuah
mesin yang dianggapnya tidak akan bisa akurat. Kemampuan tersebut didasari oleh
dua parameter penentu:
Perangkat NTP tidak akan melakukan sinkronisasi dengan sebuah mesin yang
tidak melakukan sinkronisasi waktu dirinya sendiri dengan perangkat manapun.
Karena dengan fakta tersebut, ada kemungkinan waktu yang dimilikinya tidak
akurat.
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.
Mengukur ketelitian NTP dengan Menghitung Estimasi Network Delay
3.1. Metode Mendeteksi State pada NTP
Untuk mendeteksi perbedaan waktu antara satu sisi dengan sisi lainnya, NTP
mengasumsikan bahwa incoming delay sama dengan outgoing delay.
Tapi sebenarnya, ketika congestion terjadi, kedua hal tersebut tidaklah
sama. Maka akan digunakan beberapa clocks untuk mengurangi kesalahan.
Paket-paket NTP akan saling bertukan antara server dan client dengan
interval waktu berkisar dari 1 sampai 12 menit untuk mengukur perbedaan waktu.
Paket-paket ini akan memberi tahu tentang incoming dan outgoing delay
jika clock-clock ini telah tersinkronisasi secara sempurna. Tapi ketika
hanya satu sisi dari NTP server dan client yang tersedia dan sisi
tersebut tidak dapat dibuktikan telah tersinkronisasi waktu (time
synchronized), kita tidak dapat mengukur incoming dan outgoing
delay secara tepat. Untuk menjaga kepresisian clock, dibutuhkan
mempersiapkan sisi (pair) sebanyak mungkin.
Dalam kasus ini, rute antara X dan Y telah dioverlap oleh rute dari X ke A
dan X ke C (gambar 7). Delay yang terjadi dari X ke A adalah jumlah dari
delay yang terjadi dari X ke Y dan delay yang terjadi dari Y ke
A. Kita juga dapat memisahkan langkah dari X ke B menjadi langkah dari X ke Y
dan langkah dari Y ke B. Ketika delay dari X ke Y berubah karena
beberapa sebab, akan mempengaruhi delay dari X ke A dan dari X ke B. Di
sisi lain ketika delay dari Y ke A berubah, delay dari X ke A
berubah, sementara delay dari X ke B tidak berubah. Maka kita dapat
memisahkan delay dari X ke Y dari delay dari Y ke A.
Ketika pergerakan delay dari X ke A mirip dari pergerakan delay dari
X ke B, kita dapat menganggap pergerakan delay datang dari delay
yang berasal dari X ke Y. Ketika tidak mirip, kita dapat menganggap pergerakan delay
datang dari pergerakan delay yang sebenarnya dari masing-masing Y ke A
dan dari Y ke B.
3.2. Metode Pengukuran Delay
Dengan memasang
clock server dengan antena GPS di sisi client dan clock client di sisi server,
kita mendapatkan statistik jaringan yang menggunakan server NTP ini. Server NTP
akan menemukan server NTP lainnya. Maka kita sudah membuat sebuah collector
untuk delay satu-arah. Dan kita dapat menggunakan hal tersebut untuk
menemukan delay per bagian dari jaringan dari informasi delay
pada server-server NTP.
Kita akan
mencoba mendeteksi collision menggunakan informasi delay berdasarkan NTP
server ke Y dan dari Y ke client.
3.3. Metode Estimasi
Dari ide di atas, diformalkan metode dibawah ini. Pertama, waktu ketika delay
ditemukan ditunjukkan dengan t. Waktu awal ditunjukkan dengan S, waktu
akhir dengan E. Maka S<t<E. Kita menunjukkan delay
satu-arah dengan d(t), delay satu-arah dari P ke Q sebagai d P->Q(t).
Kita mengestimasikan delay satu-arah antara P dan Q sebagai
perbedaan waktu yang tampak antara server NTP dan round-trip delay
diantara mereka. Sebagai contoh delay satu-arah yang ditunjukkan dengan d(t)
dapat didapatkan dari penjumlahan setengah dari round-trip delay dan
perbedaan waktu yang tampak dari server NTP. Karena round-trip delay
dan perbedaan dari waktu observasi adalah:
d P->Q + d Q->P, d
P->Q – d Q->P
Perhatikan delay satu-arah dari outgoing atau incoming
paket. Pada lingkungan kerja kita, delay satu-arah dibagi menjadi dua
komponen. da(t) yang berhubungan dengan waktu dan dd
yang tidak berhubungan dengan waktu. Nilai-nilai ini memenuhi :
Berdasarkan lingkungan kerja ini, diformulkan bagaimana menghitung delay
dari X ke Y menggunakan delay data dari X ke A. Kita tunjukkan delay
satu-arah dari X ke A, dan dari X ke B sebagai d X->A(t),
d X->B(t), komponen variabel waktu mereka sebagai da
X->A(t), db X->B(t)
dan komponen time-constant masing-masing sebagai dd X->A,
dd X->B . Lalu, jika perbedaan antara da
X->A(t) dan da X->B(t)
sedikit, kita tahu bahwa d X->A(t) mirip dengan d
X->B(t). Kita mengasumsikan bahwa nilai minimum dari
komponen time-constant dari d X->A(t), d X->B(t)
telah diperkirakan secara baik dari komponen time-constant dari d X->Y(t).
Selanjutnya kita mengasumsikan komponen variabel waktu d X->A(t)
dan d X->B(t) memiliki karakteristik yang mirip
ketika perbedaaan dari komponen variabel waktu bernilai kecil. Ini berarti da
X->A(t) dan da X->B(t)
memiliki nilai yang mirip dengan X->A dan X->B.
Kita mengasumsikan kemiripan nilai dapat memperkirakan dengan baik komponen
variabel waktu dari elemen X->Y. Lalu kita menggunakan rata-rata elemen
variabel waktu dari X->A dan X->B sebagai komponen variabel waktu delay
dari X -> Y. Ketika perbedaan antara da X->A(t)
dan da X->B(t) kecil, kita dapat
menunjukkan persamaan berikut tentang perkiraan delay antara X dan Y
dapat kita pegang.
Dalam kasus ini, kita tahu bahwa delay dari X ke Y menggunakan data delay
dari X ke A, dan dari X ke B. Tapi jika terdapat perbedaan yang besar antara da
X->A(t) dan da X->B(t),
metode ini tidak dapat digunakan. Ketika terdapat perbedaan yang besar, kita
dapat mengestimasikan nilai dari komponen Y->A dan Y->B jauh lebih besar
dari elemen X->Y pada X->A dan X->B. Jadi, pada kasus ini, kita tidak
dapat menghitung delay dari X->Y dengan presisi. Untuk kasus ini,
kita perlu mempersiapkan C, D … daripada A, B dan untuk menghitung delay
secara presisi dari X->A, X->C atau X->B dan X->C.
Ketika terdapat perbedaan yang besar da X->A(t)
dan da X->B(t), kita mengasumsikan delay
dari Y->A dapat diperkirakan sebagai d Y->A(t)
= d X->A(t) – d X->Y(t).
Sumber : -Logika penulis
-Banyak Referensi
-http://daristkj.blogspot.com
