Apakah traceroute / tracert menunjukkan setiap hop, atau apakah ia melewatkan / menyembunyikan beberapa detail dari path?

35

Saat ini saya kuliah untuk mendapatkan gelar sarjana dalam Teknik Jaringan, dan salah seorang profesor saya menjelaskan di kelas bahwa seorang traceroute yang menunjukkan, misalnya, 15 hop sebenarnya mengabstraksi jalur, dan pada kenyataannya lebih banyak node yang terlibat. Apakah ini benar?

Ini bertentangan dengan semua yang dapat saya temukan di traceroute. Sepengetahuan saya, traceroute bekerja dengan mengirimkan paket ICMP (atau UDP) ke tujuan tertentu dengan TTL dari 0 -> n hingga tujuan tercapai. Paket probe yang dikirim time out di setiap lokasi berturut-turut, menghasilkan ICMP "melebihi waktu", dan akhirnya pesan "port unreachable" ketika mencapai tujuan.

Saya memahami ketidaksempurnaan traceroute - misalnya, lalu lintas traceroute dapat diblokir oleh gateway tertentu, atau TTL paket balasan dapat diatur ke TTL probe yang tersisa, menyebabkannya tidak pernah kembali ke pengirim.

Namun, setelah banyak meneliti, saya tidak dapat menemukan apa pun yang merujuk traceroute tidak akurat dalam kasus traceroute yang selalu mengembalikan jalur yang sama. Demikian juga, tidak ada yang merujuk ada hop "ekstra" yang tidak dilaporkan oleh traceroute (selain * * * hop yang kehabisan waktu tanpa balasan).

Saya terbuka untuk diskusi, dan saya benar-benar tertarik untuk mengetahui jawabannya.

WilHall
sumber
1
hanya untuk memperjelas, paket icmp / udp pertama akan memiliki TTL 1, bukan 0
mellowd
1
Ini mungkin menarik bagi Anda: nanog.org/meetings/nanog47/presentations/Sunday/…
codey

Jawaban:

40

Traceroute akan menunjukkan kepada Anda berapa banyak layer3 hop yang Anda dapat dari A ke B.

Namun Anda bisa melalui ratusan sakelar di antara. Anda juga bisa melalui 10 router ISP yang menjalankan layer 2 vpn yang muncul sebagai hop tunggal. Jaringan MPLS dapat menyembunyikan internalnya, atau menunjukkan internalnya kepada Anda. Anda bisa memiliki firewall transparan di jalur juga.

Either way Profesor Anda benar dalam mengatakan bahwa Anda tidak dapat menjamin bahwa setiap perangkat di jalur akan dihitung sebagai lompatan untuk Anda. Karena poin-poin di atas yang saya sebutkan, Anda bisa melalui 50 perangkat tetapi bisa terlihat seperti tiga untuk Anda.

Itu tidak terjadi sepanjang waktu. Jika Anda melihat 15 hop sangat baik bisa 15 hop.

Ini adalah contoh dasar dari MPLS yang diatur sehubungan dengan TTL: http://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/configuration-statement/no-propagate-ttl-edit-protocols -mpls.html

mellowd
sumber
Terima kasih! Situasi yang Anda tunjukkan pasti memberi lebih banyak wawasan tentang apa yang mungkin hilang.
WilHall
1
Jangan khawatir. Bahkan hal-hal seperti terowongan GRE dapat menyembunyikan hop yang mendasari sebagai header GRE itu sendiri memiliki TTL sendiri
mellowd
18

Perangkat apa pun, yang tidak mengurangi nilai bidang IP TTL tidak akan muncul di jalur traceroute. Sebagai contoh, Cisco ASA Firewall dapat dikonfigurasi untuk mengurangi bidang IP TTL untuk paket yang melintasi firewall ( atur koneksi decrement-ttl ). Secara default, TTL tidak sedang dikurangi, sehingga menyembunyikan (well, agak) firewall.

jabbson
sumber
13

Traceroute tidak akan menampilkan perangkat yang tidak mengurangi bidang TTL datagram IP.

Itu juga tidak akan menunjukkan perangkat yang mengurangi bidang TTL, dan mengkonsumsi paket jika TTL mencapai nol, tetapi lalai untuk memberi tahu pengirim acara ini melalui datagram ICMP. Namun ini tidak sepenuhnya tidak terlihat; Anda dapat menyimpulkan keberadaan hop yang hilang ini di traceroute karena ketika nilai TTL berikutnya yang lebih tinggi digunakan, perangkat berikutnya dalam rantai merespons, dan kami tahu bahwa sesuatu di antara itu dan perangkat sebelumnya mengurangi TTL, tetapi tidak mengumumkan sendiri . tracerouteUtilitas tradisional mencetak tanda bintang ketika tidak menerima respons; itu akan mencetak deretan tanda bintang untuk jenis host ini.

Ada juga kemungkinan jauh bahwa beberapa router di antara selektif menekan pesan ICMP ini tergantung pada alamat sumber mereka, membuat beberapa bagian dari jalan terlihat tidak terlihat meskipun mereka menghasilkan respons.

Segera
sumber
Bukan karena kemungkinan yang jauh, yang diperlukan hanyalah satu jaringan yang menggunakan IP pribadi untuk tautan antar-router mereka dan lainnya yang menjatuhkan semua paket dengan IP sumber pribadi.
Peter Green