Bir traceroute / tracert her sekmeyi gösteriyor mu, yoksa yolun bazı ayrıntılarını atlıyor mu / gizliyor mu?


35

Şu anda, Ağ Mühendisliği alanında lisans diploması almak için üniversitede yaşıyorum ve Profesörümden biri sınıfta, örneğin, 15 şerbetçinin aslında yolu soyutladığını gösteren bir traceroute olduğunu ve gerçekte daha birçok düğümün dahil olduğunu açıkladı. Bu doğru mu?

Bu traceroute'ta bulabildiğim her şeyle çelişiyor. Bildiğim kadarıyla, traceroute, hedefe ulaşılana kadar 0 -> n arasında bir TTL ile belirli bir hedefe ICMP (veya UDP) paketleri göndererek çalışır. Art arda yol boyunca her bir yerde zaman aşımına uğrayan ve bir ICMP "zaman üreten" sonda "yanıtı" ve son olarak varış noktasına ulaşırken "ulaşılamaz bir bağlantı noktası" mesajı veren sonda paketleri.

Traceroute'un kusurlarını anlıyorum - örneğin, traceroute trafiği belirli ağ geçitleri tarafından engellenebilir veya yanıt paketinin TTL'si, probun kalan TTL'sine ayarlanarak asla göndericiye geri dönmemesine neden olabilir.

Ancak, çok fazla araştırma yaptıktan sonra, traceroute'u her zaman aynı yolu döndüren traceroute durumunda yanlış olduğunu gösteren hiçbir şey bulamıyorum. Aynı şekilde, traceroute tarafından bildirilmeyen herhangi bir "fazladan" atlama olduğunu gösteren hiçbir şey (yanıt vermeden zaman aşımına uğrayan * * * atlama sayıları dışında).

Tartışmaya açığım ve bunun cevabını bilmek gerçekten ilgimi çekiyor.


1
açık konuşmak gerekirse, ilk icmp / UDP paket 1 bir TTL olacak değil 0
MellowD

1
Bu sizin ilginizi çekebilir
codey

Yanıtlar:


40

Bir traceroute, A'dan B'ye kaç katman atladığınızı gösterir.

Bununla birlikte, aralarındaki yüzlerce düğmeyi geçiyor olabilirsiniz. Ayrıca, tek bir atlama gibi görünen bir katman 2 vpn çalıştıran 10 ISS yönlendiricisinden geçiyor olabilirsiniz. Bir MPLS ağı, dahili kullanıcılarını gizleyebilir veya dahili kullanıcılarını size gösterebilir. Yolda ayrıca şeffaf güvenlik duvarları olabilir.

Her iki durumda da Profesörünüz yoldaki her bir cihazın size bir sıçrama olarak sayılacağını garanti edemeyeceğinizi söylerken doğrudur. Bahsettiğim yukarıdaki noktalar nedeniyle, 50 cihazdan geçiyor olabilirsiniz ancak size üçü gibi görünebilir.

Yine de her zaman olmaz. 15 atlama görürseniz, 15 atlama olabilir.

Bu, TTL ile ilgili olarak oluşturulan bir MPLS'nin temel bir örneğidir: http://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/configuration-statement/no-propagate-ttl-edit-protocols -mpls.html


Teşekkür ederim! Belirttiğiniz durumlar, hangi traceroute'un eksik olabileceği konusunda daha fazla fikir veriyor.
WilHall

1
Telaşa gerek yok. GRE tüneli gibi şeyler bile, GRE başlığının kendi
TTL'sine sahip olduğundan altta

18

IP TTL alan değerini azaltmayan hiçbir aygıt, traceroute yolunda gösterilmez. Örneğin, Cisco ASA Firewall, güvenlik duvarını geçen paketler için IP TTL alanını azaltmak üzere yapılandırılabilir ( bağlantı azaltma-ttl'yi ayarlayın ). Varsayılan olarak, TTL düşürülmez, bu nedenle güvenlik duvarını gizler (bir şekilde).


13

Traceroute, size bir IP datagramının TTL alanlarını azaltmayan cihazları göstermeyecektir.

Ayrıca, TTL alanını azaltan ve TTL sıfıra ulaştığında paketi tüketen aygıtlar göstermeyecek, ancak bu olayın göndericisini bir ICMP datagramı aracılığıyla bilgilendirmeyi ihmal edecektir. Bu olsa da tamamen görünmez değil; traceroute'ta bu eksik sıçramanın varlığını ortaya çıkarabilirsiniz, çünkü bir sonraki daha yüksek TTL değeri kullanıldığında, zincirdeki bir sonraki cihaz yanıt verir ve bununla önceki cihaz arasında bir şeyin TTL'yi azalttığını, ancak kendisini açıklamayacağını biliyoruz. . Geleneksel traceroutefayda, bir cevap alamadığında yıldız işaretlerini basar; bu ana bilgisayar türü için bir satır yıldız yazdırır.

Ayrıca, aralarındaki bazı yönlendiricilerin, kaynak adreslerine bağlı olarak bu ICMP iletilerini seçmeli olarak bastırması, yolun bazı bölümlerinin yanıt oluştursalar bile görünmez görünmesini sağlaması gibi uzak bir olasılık da vardır.


O kadar uzak bir ihtimal değil, tek gereken, yönlendiriciler arası bağlantıları için özel IP kullanan bir ağ ve tüm paketleri özel kaynak IP'lere bırakan bir ağ.
Peter Green,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.