Anda dapat menggunakan perintah traceroute Linux untuk menemukan lambatnya perjalanan paket jaringan dan memecahkan masalah koneksi jaringan yang lamban. Kami akan menunjukkan caranya!
Cara kerja traceroute
Saat Anda mengapresiasi cara kerja traceroute, pemahaman hasilnya akan jauh lebih mudah. Semakin rumit rute yang harus diambil paket jaringan untuk mencapai tujuannya, semakin sulit untuk menentukan dengan tepat di mana perlambatan mungkin terjadi.
Jaringan area lokal (LAN) organisasi kecil mungkin relatif sederhana. Mungkin memiliki setidaknya satu server dan satu atau dua router. Kompleksitasnya meningkat pada jaringan area luas (WAN) yang berkomunikasi antar lokasi berbeda atau melalui internet. Paket jaringan Anda kemudian bertemu (dan diteruskan serta dirutekan oleh) banyak perangkat keras, seperti router dan gateway.
Header metadata pada paket data menjelaskan panjangnya, dari mana asalnya, ke mana tujuannya, protokol yang digunakannya, dan sebagainya pada. Spesifikasi protokol mendefinisikan header. Jika Anda dapat mengidentifikasi protokolnya, Anda dapat menentukan awal dan akhir setiap bidang di header dan membaca metadata.
traceroute menggunakan rangkaian protokol TCP/IP, dan mengirimkan paket Protokol Datagram Pengguna. Header berisi bidang Time to Live (TTL), yang berisi nilai integer delapan bit. Terlepas dari namanya, ini mewakili hitungan, bukan durasi.
Sebuah paket bergerak dari asal ke tujuannya melalui router. Setiap kali paket tiba di router, pencacah TTL akan dikurangi. Jika nilai TTL mencapai satu, router yang menerima paket akan mengurangi nilainya dan menyadari bahwa nilainya sekarang nol. Paket tersebut kemudian dibuang dan tidak diteruskan ke hop perjalanan berikutnya karena telah “waktunya habis”.
Router mengirimkan pesan Internet Message Control Protocol (ICMP) Time Exceeded kembali ke asal paket untuk memberi tahu paket tersebut waktu habis. Pesan Time Exceeded berisi header asli dan 64 bit pertama dari data paket asli. Hal ini didefinisikan pada halaman enam Permintaan Komentar 792.
Jadi, jika traceroute mengirim paket keluar, tetapi kemudian menetapkan nilai TTL ke satu, paket hanya akan sampai ke router pertama sebelum dibuang. Ia akan menerima pesan ICMP waktu terlampaui dari router, dan ia dapat mencatat waktu yang diperlukan untuk perjalanan pulang pergi.
Ia kemudian mengulangi latihan dengan TTL disetel ke 2, yang akan gagal setelah dua lompatan. traceroute meningkatkan TTL menjadi tiga dan mencoba lagi. Proses ini berulang hingga tujuan tercapai atau jumlah hop maksimum (30, secara default) diuji.
Beberapa Router Tidak Berfungsi dengan Baik
Beberapa router memiliki bug. Mereka mencoba meneruskan paket dengan TTL nol alih-alih membuangnya dan menaikkan pesan yang melebihi waktu ICMP.
Menurut Cisco, beberapa Penyedia Layanan Internet (ISP) membatasi jumlah pesan ICMP yang diteruskan router mereka.
Beberapa perangkat dikonfigurasikan tidak pernah untuk mengirim paket ICMP. Hal ini sering dilakukan untuk memastikan perangkat tidak dapat secara tidak sengaja dipaksa berpartisipasi dalam penolakan layanan terdistribusi, seperti serangan smurf.
traceroute memiliki batas waktu default untuk balasan lima detik. Jika tidak menerima respons dalam lima detik tersebut, upaya tersebut diabaikan. Ini berarti respons dari router yang sangat lambat akan diabaikan.
Instalasi traceroute
traceroute sudah terinstal di Fedora 31 tetapi harus diinstal di Manjaro 18.1 dan Ubuntu 18.04. Untuk menginstal traceroute di Manjaro gunakan perintah berikut:
sudo pacman -Sy traceroute
Untuk menginstal traceroute di Ubuntu, gunakan perintah berikut:
sudo apt install traceroute
Menggunakan traceroute di Linux
Seperti yang telah kita bahas di atas, tujuan traceroute adalah untuk memperoleh respons dari router di setiap hop dari komputer Anda ke tujuan. Beberapa mungkin bungkam dan tidak memberikan apa pun, sementara yang lain mungkin akan membocorkan rahasia tanpa keraguan.
Sebagai contoh, kita akan menjalankan penelusuran rute ke situs web Kastil Blarney di Irlandia, rumah dari Batu Blarney yang terkenal. Legenda mengatakan jika Anda mencium Batu Blarney Anda akan diberkati dengan “hadiah mengobrol”. Mari kita berharap router yang kita temui di sepanjang jalan benar-benar cerewet.
Kami mengetikkan perintah berikut:
traceroute www.blarneycastle.ie
Baris pertama memberi kita info berikut:
Tujuan dan alamat IP-nya. Jumlah hop yang akan dicoba traceroute sebelum menyerah. Ukuran paket UDP yang kami kirim.
Semua baris lainnya berisi informasi tentang salah satu hop. Namun sebelum kita menggali lebih dalam, kita dapat melihat ada 11 lompatan antara komputer kita dan situs web Blarney Castle. Hop 11 juga memberi tahu kita bahwa kita telah mencapai tujuan.
Format setiap jalur hop adalah sebagai berikut:
Nama perangkat atau, jika perangkat tidak mengidentifikasi dirinya sendiri, alamat IP. Alamat IP. Waktu yang dibutuhkan pulang pergi untuk masing-masing dari tiga pengujian. Jika ada tanda bintang di sini, berarti tidak ada respons untuk pengujian tersebut. Jika perangkat tidak merespons sama sekali, Anda akan melihat tiga tanda bintang, dan tidak ada nama perangkat atau alamat IP.
Mari kita tinjau apa yang kita dapatkan di bawah ini:
Hop 1: Port panggilan pertama (tidak ada kata pun yang dimaksudkan) adalah DrayTek Vigor Router di jaringan lokal. Beginilah cara paket UDP kami meninggalkan jaringan lokal dan masuk ke internet. Hop 2: Perangkat ini tidak merespons. Mungkin sudah dikonfigurasi untuk tidak pernah mengirim paket ICMP. Atau, mungkin ia merespons tetapi terlalu lambat, sehingga batas waktu traceroute habis. Lompatan 3: Perangkat merespons, tetapi kami tidak mendapatkan namanya, hanya alamat IP. Perhatikan bahwa ada tanda bintang di baris ini, yang berarti kami tidak mendapat respons terhadap ketiga permintaan tersebut. Ini mungkin mengindikasikan hilangnya paket. Hop 4 dan 5: Hop yang lebih anonim. Hop 6: Ada banyak teks di sini karena perangkat jarak jauh yang berbeda menangani masing-masing dari tiga permintaan UDP kami. Nama dan alamat IP (agak panjang) untuk setiap perangkat dicetak. Hal ini dapat terjadi ketika Anda menemukan jaringan “berpenduduk kaya” yang memiliki banyak perangkat keras untuk menangani lalu lintas bervolume tinggi. Lompatan ini berada dalam salah satu ISP terbesar di Inggris. Jadi, merupakan keajaiban kecil jika perangkat keras jarak jauh yang sama menangani tiga permintaan koneksi kami. Hop 7: Ini adalah hop yang dibuat paket UDP kami saat meninggalkan jaringan ISP. Hop 8: Sekali lagi, kita mendapatkan alamat IP tetapi bukan nama perangkat. Ketiga tes kembali dengan sukses. Hop 9 dan 10: Dua hop anonim lagi. Hop 11: Kami telah tiba di situs web Blarney Castle. Kastilnya berada di Cork, Irlandia, tetapi menurut geolokasi alamat IP, situs webnya berada di London.
Jadi, itu adalah tas campuran. Beberapa perangkat bermain bola, beberapa merespons tetapi tidak memberi tahu kami namanya, dan yang lainnya tetap sepenuhnya anonim.
Namun, kami berhasil mencapai tujuan, kami tahu jaraknya 11 lompatan, dan waktu pulang pergi untuk perjalanan tersebut adalah 13.773 dan 14,715 milidetik.
Menyembunyikan Nama Perangkat
Seperti yang telah kita lihat, terkadang memasukkan nama perangkat menyebabkan tampilan berantakan. Untuk mempermudah melihat data, Anda dapat menggunakan opsi -n (tidak ada pemetaan).
Untuk melakukan ini dengan contoh kita, kita mengetikkan yang berikut:
traceroute -n blarneycastle.ie
Ini membuatnya lebih mudah untuk memilih angka besar untuk dibulatkan- pengaturan waktu perjalanan yang dapat mengindikasikan kemacetan.
Hop 3 mulai terlihat sedikit mencurigakan. Terakhir kali hanya merespons dua kali, dan kali ini hanya merespons satu kali. Dalam skenario ini, tentu saja itu di luar kendali kami.
Namun, jika Anda sedang menyelidiki jaringan perusahaan Anda, ada baiknya untuk menggali lebih dalam node tersebut.
Mengatur Nilai Batas Waktu Traceroute
Mungkin jika kami memperpanjang periode batas waktu default (lima detik), kami akan mendapat lebih banyak tanggapan. Untuk melakukan ini, kita akan menggunakan opsi -w (waktu tunggu) untuk mengubahnya menjadi tujuh detik. (Perhatikan bahwa ini adalah angka floating-point.)
Kami mengetikkan perintah berikut:
traceroute -w 7.0 blarneycastle.ie
Itu tidak membuat banyak perbedaan, jadi responsnya mungkin waktunya habis. Kemungkinan hop anonim sengaja dirahasiakan.
Mengatur Jumlah Tes
Secara default, traceroute mengirimkan tiga paket UDP ke setiap hop. Kita dapat menggunakan opsi -q (jumlah kueri) untuk menyesuaikannya ke atas atau ke bawah.
Untuk mempercepat pengujian traceroute, kita mengetikkan yang berikut ini untuk mengurangi jumlah paket probe UDP yang kami kirim menjadi satu:
traceroute -q 1 blarneycastle.ie
Ini mengirimkan satu probe ke setiap hop.
Mengatur Nilai TTL Awal
Kita dapat mengatur nilai awal TTL ke selain satu, dan melewati beberapa hop. Biasanya, nilai TTL ditetapkan ke satu untuk rangkaian pengujian pertama, dua untuk rangkaian pengujian berikutnya, dan seterusnya. Jika kita set ke lima, tes pertama akan mencoba untuk mencapai hop lima dan melewati hop satu hingga empat.
Karena kita tahu situs web Blarney Castle berjarak 11 hop dari komputer ini, kita mengetik yang berikut untuk langsung menuju Hop 11:
traceroute -f 11 blarneycastle.ie
Itu memberi kita laporan yang bagus dan ringkas tentang status koneksi ke tujuan.
Perhatian
traceroute adalah alat yang hebat untuk menyelidiki perutean jaringan, memeriksa kecepatan koneksi, atau mengidentifikasi kemacetan. Windows juga memiliki perintah tracert yang fungsinya serupa.
Namun, Anda tidak ingin membombardir perangkat yang tidak dikenal dengan torrent paket UDP, dan berhati-hatilah dalam menyertakan traceroute dalam skrip atau pekerjaan tanpa pengawasan.
Pemuatan traceroute yang dapat ditempatkan pada jaringan mungkin berdampak buruk kinerjanya. Kecuali jika Anda berada dalam situasi yang sedang diperbaiki sekarang, Anda mungkin ingin menggunakannya di luar jam kerja normal.