Traceroute

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 **<code>traceroute6</code>** dan **<code>tracert6</code>**. 

## 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.

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

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.

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

## Penggunaan

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:


```console
$ 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. 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.

## Batasan
Batasan Traceroute 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. 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, yang mempertahankan pengidentifikasi aliran probe untuk menghindari penyeimbangan beban.

## Referensi

## Bacaan lanjutan

* 
* 
* 

## Pranala luar

* : Traceroute menggunakan Opsi IP Internet RFC
* Bagaimana traceroute bekerja – InetDaemon
* Tracert Referensi baris perintah Windows XP