Konsep umum
TTL (Time To Live) adalah kolom di header IP (Internet Protocol) yang digunakan untuk membatasi masa pakai paket data di jaringan. TTL didefinisikan sebagai jumlah lompatan maksimum yang dapat dilakukan suatu paket sebelum paket tersebut dibuang.
Setiap kali paket dikirim melalui router, router mengurangi nilai TTL di header IP sebanyak satu. Jika nilai TTL mencapai nol, paket akan dibuang dan pesan kesalahan ICMP (Internet Control Message Protocol) “Time Exceeded” dikirim ke pengirim. Pesan kesalahan ICMP akan mencakup informasi tentang router tempat paket dibuang dan waktu pulang pergi paket tersebut.
Fungsi utama TTL adalah untuk mencegah paket beredar tanpa batas waktu di suatu jaringan. Jika sebuah paket memiliki TTL yang sangat tinggi, paket tersebut dapat terus beredar di jaringan untuk waktu yang tidak terbatas, yang dapat menyebabkan kemacetan jaringan dan masalah kinerja.
Contoh praktis operasi TTL
Misalkan host A ingin mengirim paket data ke host B, dan terdapat beberapa router perantara di jalur antara A dan B. Host A menetapkan nilai TTL awal di header IP paket, yang sama dengan a jumlah hop tertentu yang diperkirakan akan dilalui paket sebelum mencapai host B.
Ketika paket tiba di router pertama pada rute tersebut, router membaca nilai TTL di header IP paket dan menguranginya satu per satu. Jika nilai TTL mencapai nol, router membuang paket tersebut dan mengirimkan pesan kesalahan ICMP “Time Exceeded” ke host A. Jika nilai TTL lebih besar dari nol, router meneruskan paket tersebut ke router berikutnya dalam rute jaringan.
Proses ini berlanjut hingga paket mencapai host B atau hingga nilai TTL mencapai nol. Jika paket tiba di host B, host B mengembalikan pengakuan ke host A. Jika nilai TTL mencapai nol, paket dibuang dan pesan kesalahan ICMP “Time Exceeded” dikirim ke host A.
Contoh perintah di Linux
Pada sistem Linux, perintah untuk mengatur nilai TTL adalah ttl
. Misalnya untuk mengirim paket dengan nilai TTL 64 dari host di Linux ke host dengan alamat IP 192.168.1.2
, Anda dapat menggunakan perintah berikut:
ping -c 1 -t 64 192.168.1.2
Dalam perintah ini, -c 1
menentukan bahwa satu paket akan dikirim dan -t 64
menentukan bahwa nilai TTL adalah 64. Perintahnya ping
mengirimkan paket ICMP (Internet Control Message Protocol) ke alamat IP yang ditentukan dan menunggu respons dari host jarak jauh.
Jika host jarak jauh merespons, pesan serupa akan ditampilkan:
64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=1.23 ms
Dalam pesan ini, ttl=63
menunjukkan bahwa nilai TTL berkurang satu pada router pertama pada rute tersebut sebelum mencapai host jarak jauh.
Jika nilai TTL terlalu rendah, misalnya jika disetel ke 1, paket mungkin tidak mencapai host jarak jauh. Sebaliknya, pesan “Waktu Terlampaui” akan dikirim ke host sumber.
Singkatnya, perintahnya ping
di Linux dapat digunakan untuk mengirim paket dengan nilai TTL tertentu dan melacak jumlah hop di jalur paket di jaringan. Ini dapat berguna untuk pemecahan masalah jaringan dan optimalisasi kinerja.
Bisakah TTL digunakan di Windows?
Ya, Anda juga dapat menyesuaikan nilai TTL pada sistem Windows. Perintah yang digunakan di Windows untuk mengatur nilai TTL adalah ping
. Seperti di Linux, perintahnya ping
digunakan untuk mengirim paket ke host jarak jauh dan Anda dapat menyesuaikan nilai TTL menggunakan opsi -i
.
Misalnya untuk mengirim paket dengan nilai TTL 64 dari host di Windows ke host dengan alamat IP 192.168.1.2
, Anda dapat menggunakan perintah berikut:
ping 192.168.1.2 -i 64
Dalam perintah ini, -i 64
menentukan bahwa nilai TTL adalah 64. Jika host jarak jauh merespons, pesan seperti ini akan ditampilkan:
Reply from 192.168.1.2: bytes=32 time=1ms TTL=63
Dalam pesan ini, TTL=63
menunjukkan bahwa nilai TTL berkurang satu pada router pertama pada rute tersebut sebelum mencapai host jarak jauh.
Singkatnya, perintahnya ping
di Windows juga dapat digunakan untuk mengirim paket dengan nilai TTL tertentu dan melacak jumlah hop di jalur paket di jaringan. Ini dapat berguna untuk pemecahan masalah jaringan dan optimalisasi kinerja.