Traceroute

traceroute
Perintah traceroute
Tipeperintah Edit nilai pada Wikidata
Versi pertama1987; 37 tahun lalu (1987)
GenrePerintah
Sunting di Wikidata Sunting di Wikidata • Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini
tracert
Edit nilai pada Wikidata
Tipeperintah Edit nilai pada Wikidata
GenrePerintah
LisensiMicrosoft Windows: Kepemilikan perangkat lunak komersial
ReactOS: GNU General Public License
Sunting di Wikidata Sunting di Wikidata • Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini


Dalam komputasi, Traceroute (Tracert) adalah perintah untuk menunjukkan rute yang dilewati paket untuk mencapai tujuan. Ini dilakukan dengan mengirim pesan Internet Control Message Protocol (ICMP) Echo Request Ke tujuan dengan nilai Time to Live yang semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan.

Untuk Protokol Internet versi 6 (IPv6) alatnya biasanya mempunyai nama traceroute6[1] dan tracert6.[2]

Implementasi

Perintah traceroute tersedia di berbagai sistem operasi. Pada sistem Unix-like seperti FreeBSD, macOS, dan Linux ini tersedia sebagai alat baris perintah. Traceroute juga dapat diakses secara grafis di macOS dalam rangkaian Network Utilities; utilitas ini sudah tidak digunakan lagi sejak perilisan macOS Big Sur.[3]

Di Windows, tracert mengirimkan paket ICMP Echo Request, daripada paket UDP yang dikirimkan traceroute secara default.[4]

Nilai time-to-live (TTL), juga dikenal sebagai hop limit, digunakan dalam menentukan router perantara yang dilalui menuju tujuan. Traceroute mengirim paket dengan nilai TTL yang secara bertahap meningkat dari paket ke paket, dimulai dengan nilai TTL satu. Router mengurangi nilai TTL paket sebanyak satu saat melakukan routing dan membuang paket yang nilai TTLnya telah mencapai nol, mengembalikan pesan kesalahan ICMP Waktu ICMP Terlampaui.[5]

Di Linux, tracepath adalah sebuah utilitas yang sama dengan traceroute, dengan perbedaan utama tidak memerlukan hak superuser.[6]

Penggunaan

Alamat router dapat ditumpangkan pada peta lokasi fisiknya. Contoh ini menunjukkan permintaan dari Selandia Baru ke sebuah alamat IP di Massachusetts yang mengambil rute yang melewati Eropa.

Sebagian besar implementasi menyertakan setidaknya opsi untuk menentukan jumlah kueri yang akan dikirim per lompatan, waktu untuk menunggu respon, batas hop dan port yang akan digunakan. Memanggil traceroute tanpa opsi yang ditentukan akan menampilkan daftar opsi yang tersedia, sementara man traceroute menyajikan lebih detail, termasuk flag kesalahan yang ditampilkan. Sebuah contoh dari Linux:

$ traceroute -w 3 -q 1 -m 16 example.com
traceroute to example.com (93.184.216.34), 16 hops max, 52 byte packets
 1  192.x.x.x (192.x.x.x)  5.152 ms
 2  10.x.x.x (10.x.x.x)  12.767 ms
 3  172.x.x.x (172.x.x.x)  11.638 ms
 4  172.x.x.x (172.x.x.x)  13.193 ms
 5  xxx.x.x.x.cox.net (68.x.x.x)  20.624 ms
 6  xxx.xxx.xxx.edgecastcdn.net (192.x.x.x)  56.205 ms
 7  xxx.xxx.xxx.edgecastcdn.net (192.x.x.x)  24.573 ms
 8  *
 9  *
10  93.x.x.x (93.x.x.x)  22.810 ms
11  93.x.x.x (93.x.x.x)  20.235 ms

Pada contoh diatas, opsi yang dipilih adalah untuk menunggu selama tiga detik (bukan lima detik), mengirimkan hanya satu permintaan ke setiap lompatan (bukan tiga), membatasi jumlah lompatan maksimum menjadi 16 sebelum menyerah (bukan 30), dengan ''example.com'' sebagai host terakhir. Pada baris ke- 8 dan 9 (TTLs 8 dan 9) itu menunjukkan tanda bintang di mana router tidak merespons dalam batas waktu.

Traceroute juga digunakan oleh para penguji penetrasi untuk mengumpulkan informasi tentang infrastruktur jaringan dan alamat IP berkisar di sekitar host tertentu.

Asal mula

Halaman manual traceroute menyatakan bahwa program traceroute asli ditulis oleh Van Jacobson pada 1987 dari sebuah saran oleh Steve Deering, dan bahwa Guy Almes dan Matt Mathis juga memiliki ide tersebut bersamaan dengan Deering[7]. Pembuat dari program ping, Mike Muuss, menyatakan di situs webnya bahwa traceroute ditulis menggunakan dukungan kernel ICMP yang sebelumnya telah dia kode untuk mengaktifkan soket ICMP mentah ketika dia pertama kali menulis program ping.[8]

Batasan

Batasan Traceroute[9] sudah diketahui dengan baik dan harus diperhitungkan saat menggunakan alat ini. Sebagai contoh, traceroute tidak menemukan jalur di tingkat router, tetapi di tingkat antarmuka. Batasan lainnya muncul saat router tidak merespons probe atau ketika router memiliki batas respons ICMP.[10] Dengan adanya penyeimbangan beban lalu lintas, traceroute mungkin menunjukkan jalur yang sebenarnya tidak ada; untuk meminimalisir masalah ini ada modifikasi traceroute yang disebut Paris-traceroute,[11] yang mempertahankan pengidentifikasi aliran probe untuk menghindari penyeimbangan beban.

Referensi

  1. ^ "Traceroute6(8) - Linux man page". 
  2. ^ "Tracert6(8): IPv6 traceroute tool - Linux man page". 
  3. ^ Rossingol, Joe (23 June 2020). "Network Utility Deprecated in macOS Big Sur". MacRumors (dalam bahasa Inggris). 
  4. ^ "Tracert". Microsoft Docs. 3 February 2023. Diakses tanggal July 29, 2023. 
  5. ^ Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc. hlm. 360–362. ISBN 978-0131433519. 
  6. ^ "tracepath(8) – Linux man page". linux.die.net. Diakses tanggal 2015-06-21. 
  7. ^ "traceroute6.c source code". 2022-10-04. Diakses tanggal 2023-09-17. 
  8. ^ The Story of the PING Program
  9. ^ Ray Belleville (March 3, 2017). "Limitations of Traceroute Explained". 
  10. ^ Marchetta, P.; Montieri, A.; Persico, V.; Pescapé, A.; Cunha, Í; Katz-Bassett, E. (June 2016). How and how much traceroute confuses our understanding of network paths. 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN). hlm. 1–7. doi:10.1109/lanman.2016.7548847. ISBN 978-1-4673-9882-4. 
  11. ^ "Paris Traceroute". paris-traceroute.net (dalam bahasa Inggris). Diakses tanggal 2017-06-10. 

Bacaan lanjutan

Pranala luar