Traceroute
Traceroute adalah alat diagnostik yang mengungkap geografi Internet yang tersembunyi. Ketik satu perintah, dapatkan kembali daftar setiap router yang dilalui paket Anda dalam perjalanan ke tujuan. Ia berfungsi karena fitur protokol IP yang tidak jelas — bidang Time To Live — dan telah menemukan masalah jaringan selama tiga puluh tahun.
Badan artikel selengkapnya disediakan dalam bahasa Inggris di bawah ini.
Traceroute mengungkapkan urutan lompatan antara Anda dan tujuan. Setiap baris keluaran adalah satu router; waktu pulang pergi memberi tahu Anda latensi ke router itu. Ketika sesuatu di Internet lambat atau rusak, traceroute biasanya merupakan alat pertama yang siap digunakan.
Cara kerjanya: trik TTL
Setiap paket IP memiliki bidang Time To Live (TTL), awalnya dimaksudkan untuk mencegah paket bersirkulasi selamanya dalam loop perutean. Setiap router mengurangi TTL sebanyak satu. Ketika TTL mencapai nol, router menjatuhkan paket dan mengirimkan kembali pesan ICMP "Time Exceeded" ke sumber.
Traceroute menggunakan ini:
- Kirim paket ke tujuan dengan TTL=1. Router pertama menurunkannya menjadi 0, menghapusnya, membalas dengan "Time Exceeded" — menampilkan dirinya sebagai hop 1.
- Send TTL=2. Router pertama berkurang menjadi 1 dan seterusnya; router kedua berkurang menjadi 0, turun, membalas — menampilkan hop 2.
- Lanjutkan peningkatan hingga Anda mencapai tujuan, yang membalas dengan sesuatu yang lain (port-tidak dapat dijangkau atau respons aplikasi sebenarnya).
Balasan tujuan adalah bagaimana traceroute mengetahui untuk berhenti. Tiga probe per hop adalah default, itulah sebabnya Anda melihat tiga pengukuran RTT per baris.
Ketiga jenis probe
Implementasi traceroute yang berbeda mengirimkan jenis probe yang berbeda:
- UDP traceroute (Unix klasik): mengirimkan paket UDP ke nomor port yang tinggi. Tujuan membalas dengan "port tidak dapat dijangkau." Default di Linux/macOS.
- ICMP traceroute (Windows tracert): mengirimkan paket Permintaan Gema ICMP. Tujuan membalas dengan Echo Reply. Berperilaku lebih baik melalui beberapa firewall.
- TCP traceroute: mengirimkan TCP SYN ke port tertentu (biasanya 80 atau 443). Berguna ketika tujuan menghapus UDP dan ICMP tetapi menerima TCP pada port yang dikenal.
Alat yang tepat bergantung pada jalur yang dilewati firewall. tcptraceroute sering berhasil ketika traceroute gagal.
Membaca output
Baris tipikal:
5 ae1.cr1.fra4.de.example.net (172.16.50.1) 18.234 ms 18.012 ms 17.998 msNomor hop, nama router dan IP, lalu tiga pengukuran RTT. Tanda bintang * * * berarti router tidak merespons — baik itu menjatuhkan probe, membalas ICMP dengan kecepatan terbatas, atau telah dikonfigurasi untuk tidak mengidentifikasi dirinya sendiri. Tanda bintang adalah hal yang normal dan tidak selalu berarti masalah; banyak router backbone sengaja tidak merespons traceroute.
Apa yang dikatakan hop kepada Anda
Nama DNS router sarat dengan makna. ae1.cr1.fra4.de memberi tahu Anda: agregasi Ethernet bundel 1, router inti 1, situs Frankfurt 4, Jerman. Insinyur jaringan dapat membaca nama-nama ini seperti pelat nomor dan memberi tahu Anda operator mana yang memiliki jalur tersebut, di kota mana paket tersebut berada, dan bahkan vendor peralatan mana (Cisco vs Juniper vs Arista) yang digunakan operator.
Jalur memutar geografis yang tidak terduga — paket ke tujuan Frankfurt melalui Singapura — biasanya berarti keputusan kebijakan BGP daripada pemotongan serat fisik. Perutean suboptimal terjadi terus-menerus dan belum tentu menjadi masalah.
Masalah jalur asimetris
Traceroute hanya menampilkan jalur outbound. Jalur kembalinya bisa — dan sering kali — benar-benar berbeda, karena setiap AS memilih rute keluarnya sendiri. RTT yang tinggi pada suatu hop dapat berarti adanya link yang lambat di sana, atau dapat juga berarti link yang lambat berada pada jalur kembali dari hop tersebut. Tanpa traceroute dari tujuan kembali ke Anda, Anda tidak bisa mengatakannya.
Inilah sebabnya "traceroute terlihat baik-baik saja tetapi latensi saya buruk" adalah situasi yang umum.
Alternatif modern: Alat bergaya MTR dan mtr
MTR (Traceroute Saya) adalah traceroute berkelanjutan — ia melakukan ping ke setiap lompatan dalam satu lingkaran dan menampilkan statistik yang berjalan: RTT rata-rata, persentase kerugian, jitter. Jauh lebih berguna untuk mendiagnosis masalah yang terputus-putus dibandingkan traceroute sekali pakai. WinMTR di Windows, mtr di Unix, PathPing sebagai alternatif bawaan Windows.
Untuk mendiagnosis jalur yang tidak Anda miliki, RIPE Atlas dan server kaca yang dioperasikan oleh jaringan besar memungkinkan Anda menjalankan traceroute dari sudut pandang yang jauh — sangat berharga untuk memahami rute asimetris.
Keterbatasan dan kekhasanRouter yang sadar
MPLS dapat menyembunyikan hop dengan tidak mengurangi TTL di cloud MPLS. Jaringan dengan beban seimbang dapat menunjukkan jalur berbeda pada probe yang berurutan, sehingga keluarannya terlihat kacau. Pembatasan laju ICMP pada router yang sibuk dapat menghasilkan pembacaan "slow hop" palsu yang tidak mencerminkan kinerja bidang data sebenarnya. RTT router perantara mengukur waktu untuk , bidang kendali router , yang seringkali lebih lambat dibandingkan bidang data melalui router yang sama. Gunakan traceroute sebagai petunjuk, bukan metrik.
Pertanyaan yang sering diajukan
- Mengapa traceroute saya mencapai '* * *' untuk beberapa lompatan?
- Router ada tetapi tidak membalas probe. Alasan umum: Pembatasan laju ICMP, kebijakan firewall yang menghapus balasan melebihi TTL, atau keputusan operator untuk membuat router tidak terlihat. Paket-paketnya masih lewat; Anda tidak bisa melihat lompatan itu.
- Apakah traceroute berfungsi melalui VPN?
- Ya, tapi pelacakan dimulai dari pintu keluar VPN, bukan dari lokasi Anda sebenarnya. Beberapa lompatan pertama yang biasa Anda lihat (router rumah, ISP Anda) digantikan oleh lompatan tunggal ke dalam terowongan VPN. Jejak tersebut menjadi tampilan jaringan penyedia VPN dan jalur selanjutnya.
- Mengapa traceroute menunjukkan jalur yang berbeda setiap kali saya menjalankannya?
- Banyak jaringan besar melakukan penyeimbangan beban lalu lintas di beberapa jalur dengan biaya yang sama, dan kunci penyeimbangan beban mencakup bidang paket. Probe yang berbeda melakukan hash ke jalur yang berbeda dan Anda melihat gabungannya. Alat seperti Paris-traceroute menjaga kunci penyeimbang beban tetap konstan untuk menghasilkan keluaran yang stabil.
- Apa yang dimaksud dengan lonjakan latensi secara tiba-tiba dalam satu lompatan?
- Bisa berupa tautan yang padat, bidang kontrol yang lambat pada router tertentu (kemungkinan besar), atau jalur balik yang asimetris. Lihatlah lompatan berikutnya — jika RTT-nya serupa, lonjakannya benar-benar kemacetan; jika RTT mereka turun kembali, lonjakannya adalah bidang kendali router menjadi lambat dalam membalas.
- Apakah ada alat yang menggabungkan traceroute dan ping berkelanjutan?
- MTR (mtr di Unix, WinMTR di Windows). Ini melakukan ping ke setiap hop dalam satu lingkaran dan menunjukkan statistik yang berjalan — RTT rata-rata, persentase kehilangan paket, deviasi standar. Jauh lebih berguna daripada vanilla traceroute untuk masalah yang terputus-putus.