Traceroute

Internet Control Message Protocol (ICMP) protokolünün önemli özelliklerinden biri traceroute mekanizmasıdır. Bu mekanizma sayesinde bir kaynaktan bir hedefe giderken paketlerin sırasıyla hangi yönlendirici (router) cihazlardan geçtiği görüntülenebilir.

Traceroute (Linux/macOS) ve tracert (Windows) araçları, bağlantı testlerinde sıklıkla kullanılır. Özellikle A noktasından B noktasına giden yol üzerinde hangi yönlendiricide gecikme veya kopma yaşandığını tespit etmek için oldukça etkilidir.

Traceroute işleminde Time-to-Live (TTL) değeri kritik bir öneme sahiptir. Bu değer kademeli olarak artırılarak paketin her adımda hangi yönlendiricide sonlandığı tespit edilir ve böylece hedefe giderken geçilen yönlendiriciler ortaya çıkarılır.

Konuyu daha iyi anlamak için uygulama yapalım. Uygulamayı aşağıdaki topoloji üzerinde gerçekleştireceğim. (Uygulama gerçekleştirilirken yönlendirici cihazların hedefe giden yolu bildiklerini varsayalım. Dinamik ve statik yönlendirme ile ilgili daha fazla bilgi almak için diğer yazılarımı inceleyebilirsiniz.)

Ekran goruntusu 2025 12 01 142915

Traceroute işlemini 192.168.1.10 cihazından 192.168.2.2 cihazına gerçekleştireceğiz. Traceroute işlemi Windows cihazlarda ICMP Echo Request paketleri kullanılarak yapılır. Ancak normal ping işlemlerinden farklı olarak, TTL değeri başlangıçta 1 olarak ayarlanır ve her adımda kademeli olarak artırılır. Aşağıdaki komutu kullanarak süreci başlatabiliriz.

tracert 192.168.2.2
Ekran goruntusu 2025 12 01 150227

Cihazımız öncelikle TTL değerini 1 olarak ayarlayacak. Hedef cihaz farklı bir ağda olduğu için paket önce varsayılan ağ geçidine (default gateway) ulaşacak. Ağ geçidi paketi aldığında, ikinci katmanda kendine ulaştığını fark edecek ve üçüncü katmana iletecek. Ardından paketin hedefe gidiş yolunu kontrol etmek için yönlendirme tablosuna bakacak.

Ancak TTL değeri 1 olduğu için yönlendirici paketi tam hedefe yönlendirmeye çalıştığında TTL sıfır olacak. TTL sıfırlandığında paket diğer hop’a iletilmez ve çöpe atılır. Bunun üzerine yönlendirici, gönderen cihaza “ICMP Time Exceeded” mesajı gönderir. Bu mesaj, paketin TTL nedeniyle atıldığını bildirir.

Traceroute işlemi, ICMP Time Exceeded mesajlarını kullanır. Bu mesajı alan cihaz, paketi gönderen yönlendiricinin IP adresini ekranda gösterir; böylece 192.168.2.2 adresine giderken geçeceğimiz ilk yönlendiriciyi öğrenmiş oluruz. Her adımda ise üç adet ECHO Request mesajı gönderilir ve karşılığında ICMP Time Exceeded cevapları alınır.

Şimdi bir sonraki adıma geçiyoruz: TTL değerini 2 olarak ayarlayacağız.

Ekran goruntusu 2025 12 01 150852

Hedefimiz yine 192.168.2.2 ve bu sefer TTL değerimiz 2. Paket, farklı bir ağda olduğu için önce varsayılan ağ geçidine (Default Gateway) gönderilecek. Gateway paketi alacak, ikinci katmanda kendine ulaştığını kontrol edecek ve ardından üçüncü katmanda hedefe nasıl ulaşacağını belirleyecek. Router, paketi 10.0.0.2 adresine gönderecek, ancak TTL değeri 2 olduğu için bir azaltarak 1’e düşürecek. Daha sonra paket, ikinci katman başlığı yeniden düzenlenip 10.0.0.2 cihazına iletilecek.

10.0.0.2 cihazı paketi alacak, ikinci katmanda işleyecek ve üçüncü katmanda hedef IP adresine bakacak. Hedefin kendisine doğrudan bağlı olduğunu görecek, ancak TTL değeri 1 olduğu için sıfırlanacak ve paket iletilemeyecek. Bunun üzerine cihaz, “Time Exceeded” mesajını paketi gönderen 192.168.1.10 cihazına yollayacak. Bu mesajı alan 192.168.1.10, 10.0.0.2 cihazının IP adresini ekranda gösterecek ve böylece 10.0.0.2’nin 192.168.2.2’ye giderken geçtiğimiz ikinci yönlendirici olduğunu öğrenmiş olacağız.

Şimdi de TTL değerini 3 yapacağız.

Ekran goruntusu 2025 12 01 151635

192.168.1.10 cihazımız yine ICMP Echo Request mesajı gönderecek, ancak bu sefer TTL değeri 3 olacak. Hedef farklı bir ağda olduğu için paket önce Default Gateway cihazına ulaşacak. Gateway, paketi ikinci katmanda alacak ve kendine ulaştığını kontrol edecek, ardından üçüncü katmana çıkaracak. Üçüncü katmanda hedef IP adresine bakacak ve yönlendirme tablosunu kontrol edecek. TTL değeri 3’ten 2’ye düşürülecek ve ikinci katman başlığı yeniden düzenlenerek paket 10.0.0.2 cihazına iletilecek.

10.0.0.2 cihazı paketi alacak, ikinci katmanda işleyecek ve kendine ulaştığını görecek. Daha sonra üçüncü katmanda hedef IP adresine bakacak, hedefin kendisine doğrudan bağlı olduğunu fark edecek ve TTL değerini 2’den 1’e düşürecek. İkinci katman başlığını tekrar düzenleyip paketi hedefe gönderecek.

Asıl hedef cihazımız 192.168.2.2 paketi alacak, ikinci katmanda işleyecek ve kendine ulaştığını kontrol edecek. Üçüncü katmanda paketin 192.168.1.10 cihazından geldiğini görecek ve bu pakete ICMP Echo Reply cevabı gönderecek. ICMP Echo Reply cevabını alan 192.168.1.10 cihazı artık paketin hedefe ulaştığını anlayacak ve traceroute işlemi tamamlanacak.

Bu işlem sonucunda, 192.168.1.10 adresli cihaz 192.168.2.2 adresine giderken geçtiği yönlendirici cihazları görebilecek.

Linux ve macOS cihazlarda, ICMP Echo Request yerine UDP paketleri gönderilir. Her paketin hedef portu rastgele seçilir. Cihaz, hedefe ulaşıp ulaşmadığını, gelen ICMP Destination Unreachable – ICMP Port Unreachable mesajından anlar.

Windows cihazlarda traceroute işlemi için kullanılan komut şudur:

tracert huseyinpala.com

Linux, MAC ve network cihazlarında traceroute işlemi için kullanılan komut şudur:

traceroute huseyinpala.com

Daha fazla bilgisayar-ağları içeriği için takipte kalın…

About Hüseyin Pala 156 Articles
Junior Network Specialist

Be the first to comment

Leave a Reply

Your email address will not be published.


*