YOU1234DEST3ms8ms22ms45ms48mshop by hop

Traceroute

10 dk okumaTeşhis

Traceroute, İnternet'in gizli coğrafyasını açığa çıkaran teşhis aracıdır. Bir komut yazın ve paketlerinizin hedefe giderken geçtiği her yönlendiricinin bir listesini alın. IP protokolünün belirsiz bir özelliği olan Yaşam Süresi alanı sayesinde çalışıyor ve otuz yıldır ağ sorunlarını buluyor.

Makalenin tam metni aşağıda İngilizce olarak verilmektedir.

Traceroute, sizinle bir hedef arasındaki atlama sırasını ortaya çıkarır. Çıkıştaki her satır bir yönlendiricidir; gidiş-dönüş süresi size o yönlendiriciye olan gecikmeyi söyler. İnternetteki bir şey yavaşladığında veya bozulduğunda, traceroute genellikle kutudan çıkan ilk araçtır.

Nasıl çalışır: TTL numarası

Her IP paketinde bir Time To Live (TTL) alanı bulunur; bu alan başlangıçta paketlerin yönlendirme döngülerinde sonsuza kadar dolaşmasını önlemeyi amaçlar. Her yönlendirici TTL'yi birer birer azaltır. TTL sıfıra ulaştığında, yönlendirici paketi bırakır ve kaynağa bir ICMP "Süre Aşıldı" mesajını geri gönderir.

Traceroute bunu silah haline getirir:

  1. TTL=1 olan hedefe bir paket gönderin. İlk yönlendirici bunu 0'a düşürür, bırakır ve "Süre Aşıldı" şeklinde yanıt verir; kendisini 1.
  2. Send TTL=2 atlama olarak gösterir. İlk yönlendirici 1'e ve ileriye doğru azalır; ikinci yönlendirici 0'a düşer, düşer, yanıt verir - atlama 2'yi ortaya çıkarır.
  3. Başka bir şeyle (bağlantı noktasına erişilemeyen bir yanıt veya gerçek bir uygulama yanıtı) yanıt veren hedefe ulaşana kadar artmaya devam edin.

Hedefin yanıtı, traceroute'un durmayı nasıl bildiğidir. Atlama başına üç prob varsayılandır, bu nedenle satır başına üç RTT ölçümü görürsünüz.

Üç prob türü

Farklı traceroute uygulamaları farklı türde problar gönderir:

  • UDP traceroute (klasik Unix): UDP paketlerini yüksek bağlantı noktası numaralarına gönderir. Hedef "bağlantı noktasına ulaşılamıyor" şeklinde yanıt verir. Linux/macOS'ta varsayılan.
  • ICMP traceroute (Windows tracert): ICMP Yankı İsteği paketlerini gönderir. Hedef Echo Reply ile yanıt verir. Bazı güvenlik duvarları aracılığıyla daha iyi performans gösterir.
  • TCP traceroute: TCP SYN'yi belirli bir bağlantı noktasına (genellikle 80 veya 443) gönderir. Bir hedef UDP ve ICMP'yi bıraktığında ancak bilinen bir bağlantı noktasında TCP'yi kabul ettiğinde kullanışlıdır.

Doğru araç, yolun güvenlik duvarlarının neyi düşürdüğüne bağlıdır. tcptraceroute genellikle traceroute'in başarısız olduğu yerlerde başarılı olur.

Çıktıyı okuma

A tipik satır:

 5 ae1.cr1.fra4.de.example.net (172.16.50.1) 18,234 ms 18,012 ms 17,998 ms

Atlama numarası, yönlendiricinin adı ve IP'si, ardından üç RTT ölçümü. Yıldız işaretleri * * *, yönlendiricinin yanıt vermediği anlamına gelir; ya sondayı düşürdü, hız sınırlı ICMP yanıtları verdi ya da kendisini tanımlamayacak şekilde yapılandırıldı. Yıldız işaretleri normaldir ve mutlaka bir sorun olduğu anlamına gelmez; birçok omurga yönlendiricisi traceroute'a kasıtlı olarak yanıt vermez.

Satış noktaları size ne söylüyor

Yönlendiricilerin DNS adları anlam yüklüdür. ae1.cr1.fra4.de size şunları söylüyor: toplama Ethernet paketi 1, çekirdek yönlendirici 1, Frankfurt sitesi 4, Almanya. Ağ mühendisleri bu isimleri plakalar gibi okuyabilir ve size yolun hangi taşıyıcıya ait olduğunu, paketin hangi şehirde olduğunu ve hatta operatörün hangi ekipman satıcısını kullandığını (Cisco vs Juniper vs Arista) söyleyebilir.

Beklenmedik bir coğrafi sapma (Singapur üzerinden Frankfurt varış noktasına giden paketler) genellikle fiziksel bir fiber kesintisi yerine bir BGP politikası kararı anlamına gelir. Optimumun altında yönlendirme sürekli olarak gerçekleşir ve mutlaka bir sorun değildir.

Asimetrik yol sorunu

Traceroute yalnızca outbound yolunu gösterir. Dönüş yolu tamamen farklı olabilir ve çoğu zaman da öyledir çünkü her AS kendi giden yönlendirmesini seçer. Bir atlamada yüksek bir RTT, orada yavaş bir bağlantı anlamına gelebilir veya yavaş bağlantının o atlamadan dönüş yolunda olduğu anlamına gelebilir. Hedeften size dönen traceroute olmadan bunu bilemezsiniz.

Bu nedenle "traceroute iyi görünüyor ama gecikmem berbat" yaygın bir durumdur. Prob yolu her seferinde bir yönde araştırıyor.

Modern alternatifler: MTR ve mtr tarzı araçlar

MTR (Traceroute'um) sürekli bir traceroute'tur — bir döngüdeki her atlamayı pingler ve çalışma istatistiklerini gösterir: ortalama RTT, kayıp yüzdesi, titreşim. Aralıklı sorunları teşhis etmek için tek seferlik traceroute'tan çok daha kullanışlıdır. Windows'ta WinMTR, Unix'te mtr, yerleşik Windows alternatifi olarak PathPing.

Sahip olmadığınız bir yolu teşhis etmek için, RIPE Atlas ve büyük ağlar tarafından işletilen aynalı sunucular traceroute'u uzak bir görüş noktasından çalıştırmanıza olanak tanır; bu, asimetrik rotaları anlamak için çok değerlidir.

Sınırlamalar ve tuhaflıklar

MPLS uyumlu yönlendiriciler, bir MPLS bulutu genelinde TTL'yi azaltmayarak atlamaları gizleyebilir. Yük dengeli ağlar, ardışık problarda farklı yollar göstererek çıktının kaotik görünmesine neden olabilir. Meşgul yönlendiricilerdeki ICMP hız sınırlaması, gerçek veri düzlemi performansını yansıtmayan yanlış "yavaş atlama" okumaları üretebilir. Ara yönlendiricilerin RTT'si, genellikle aynı yönlendirici aracılığıyla veri düzleminden daha yavaş olan yönlendiricinin kontrol düzlemi 'e kadar geçen süreyi ölçer. Traceroute'u bir ölçü olarak değil, ipucu olarak kullanın.

Sık sorulan sorular

Traceroute'um neden bazı atlamalar için '* * *' tuşuna basıyor?
Yönlendirici var ancak araştırmaya yanıt vermedi. Yaygın nedenler: ICMP hız sınırlaması, TTL'yi aşan yanıtları engelleyen güvenlik duvarı politikası veya operatörün yönlendiriciyi görünmez yapma kararı. Paketler hâlâ geçiyor; o şerbetçiotlarını göremezsin.
Traceroute bir VPN üzerinden çalışır mı?
Evet, ancak izleme gerçek konumunuzdan değil, VPN çıkışından başlar. Normalde göreceğiniz ilk birkaç atlamanın (ev yönlendiriciniz, İSS'niz) yerini VPN tünelindeki tek atlama alır. İzleme, VPN sağlayıcının ağının ve onun ilerideki yolunun bir görünümü haline gelir.
Traceroute neden her çalıştırdığımda farklı yollar gösteriyor?
Birçok büyük ağ, trafiği birden fazla eşit maliyetli yol üzerinden dengeler ve yük dengeleme anahtarı paket alanlarını içerir. Farklı problar farklı yollara gider ve birliği görürsünüz. Paris-traceroute gibi araçlar, kararlı çıktı üretmek için yük dengeleme anahtarını sabit tutar.
Bir atlamada gecikmede ani bir artış ne anlama gelir?
Sıkışık bir bağlantı, söz konusu yönlendiricideki yavaş bir kontrol düzlemi (büyük olasılıkla) veya asimetrik dönüş yolu olabilir. Sonraki atlamalara bakın; eğer RTT'leri benzerse, ani artış gerçek bir tıkanıklıktır; RTT'leri geri düşerse, ani artış yönlendiricinin kontrol düzleminin yanıt vermede yavaş olmasıydı.
Traceroute ve sürekli ping'i birleştiren bir araç var mı?
MTR (Unix'te mtr, Windows'ta WinMTR). Bir döngüdeki her atlama noktasına ping atıyor ve ortalama RTT, paket kaybı yüzdesi, standart sapma gibi çalışma istatistiklerini gösteriyor. Aralıklı problemler için vanilya traceroute'tan çok daha faydalıdır.
Traceroute Açıklaması: Bir Paketin Aldığı Her Atlamayı Nasıl Görebilirsiniz?