İnternetin dünyadaki en büyük network olduğundan Network (Bilgisayar Ağı) Nedir? yazısında bahsetmiştim. Bu ağa bağlı olan milyonlarca cihaz sürekli olarak birbirleri ile aradaki donanımlar aracılığıyla iletişim kurarlar ve gündelik olarak kullandığımız internet servisleri de bunlardan bazılarıdır. Örneğin bir arama yapmak için google'a bir arama terimi yazdığımızda arka planda DNS sunucuları (bkz: DNS Nedir?) bizim yazmış olduğumuz url'nin domain kısmının hangi IP adresine kayıtlı olduğunu bularak bizi oraya yönlendirir. Peki bizim google'a giderken aslında nerelere uğradığımızı nasıl anlarız?
Traceroute terimi, verinin a noktasından b noktasına gitme süreci esnasında izlediği yolu takip etmek anlamına gelmektedir. traceroute komutu da Unix işletim sistemleri için hazırlanmış ve çalışma prensibi olarak gönderdiği bir paketi, paketin gönderdiği yanıtlar üzerinden kaynaktan hedefe varıncaya kadar takip ederek geçtiği cihazların bilgisini alan bir network aracıdır. Bu aracın windows işletim sistemi için geliştirilen türevi ise tracert aracıdır.
Unix tabanlı işletim sistemleri traceroute işlemi için udp paketleri kullanır. udp protokolünün yapısı gereği bu paketler response beklemezler, ancak windows işletim sistemlerinde kullanılan tracert komutu icmp paketleri gönderirler ve icmp paketleri ping'e kapalı sunucularda yanıt alamadığı için timeout oluncaya kadar yanıt beklemeye devam ederler. bu sebeple unix tabanlı işletim sistemlerinde kullanılan traceroute komutu windows işletim sistemlerinde kullanılan tracert komutundan çok daha hızlı olarak traceroute işlemini tamamlarlar.
Not: Güncel Linux sistemlerde traceroute yerine daha basit versiyonu olan tracepath kullanılmaktadır.
Benzer bir konu için bkz: Ping Nedir ve Nasıl Ping Atılır?