Ping çıktısındaki TTL=55 ile DNS kaydındaki TTL=300 aynı şeyi ölçmez. İlki IP paketinin yönlendirme sırasında kalan sınırıyla, ikincisi DNS verisinin önbellekte tutulma süresiyle ilgilidir. Bu iki kullanımı karıştırmak, hem ağ teşhisinde hem DNS değişikliğinde yanlış beklenti oluşturur.
IPv4 TTL ve IPv6 Hop Limit
IPv4 başlığında TTL, sekiz bitlik bir alandır. Yönlendirici paketi iletirken bu değeri en az bir azaltır; sınır tükendiğinde paketi iletmez. Böylece bir yönlendirme döngüsündeki paket sınırsız dolaşamaz. TTL, paketin doğru yolu bildiğini veya varışa kalan mesafeyi gösterdiğini ifade etmez. Yönlendirme kararı ayrı olarak verilir. Ayrıntılar IPv4 yönlendirici gereksinimlerinde açıklanır.
IPv6'da karşılık gelen alanın adı Hop Limit'tir. Her ileten düğüm bunu bir azaltır. Her iki durumda da ağdaki atlama sınırını anlatırken değeri saniye cinsinden bir DNS süresi gibi okumamak gerekir. IPv6 belirtimi alanın davranışını tanımlar.
Ping yanıtındaki 55 neden “dokuz router” değildir?
Aşağıdaki satır yalnız açıklama için hazırlanmış temsili IPv4 çıktısıdır; yapılmış bir ölçüm değildir:
Reply from 192.0.2.10: bytes=32 time=24ms TTL=55
Görünen TTL, alınan yanıt paketinin kalan değeridir. Başlangıçta 64 kullanıldığını bilmiyorsan 64 - 55 hesabıyla kesin atlama sayısı çıkaramazsın. Ayrıca bu, gönderdiğin isteğin değil dönen yanıtın yoluyla ilgilidir; iki yönün yolu aynı olmayabilir. Başlangıç değerleri yapılandırılabildiği için tek TTL değerinden işletim sistemini kesin teşhis etmek de doğru değildir.
Az sayıda deneme için Windows'ta ping -n 4, Linux/macOS'ta ping -c 4 ardından yetkili olduğun hedefi kullanabilirsin. IPv6 çıktısının biçimi farklı olabilir. Düşük görünen yanıt TTL'sini yükseltmek adına kendi cihazının genel ağ ayarını değiştirmek, karşı tarafın yanıtını düzeltmez.
Traceroute bu sınırı nasıl kullanır?
Traceroute, yeni denemeleri giderek artan başlangıç TTL/Hop Limit değerleriyle gönderir. Ara yönlendiriciler bu değerleri azaltır; sınır tükenince dönebilen hata yanıtları yol hakkında bilgi verir. Araç, tek paketin TTL'sini sonradan artırıp devam ettirmez. Microsoft'un TRACERT açıklaması bu mekanizmayı gösterir.
Bir satırda yıldız görmek, o düğümün bütün uygulama trafiğini düşürdüğünü kanıtlamaz. Yanıtlar filtrelenmiş veya sınırlandırılmış olabilir. Ölçülen süreler de yanıtın geri dönüşünü içerir; iki satırın süre farkını tek bir fiziksel hattın kesin gecikmesi olarak kullanma.
DNS TTL ise saniyedir
Bir DNS kaynak kaydındaki TTL, önbellek ömrüyle ilgilidir. Örneğin 300 değeri beş dakikayı ifade eder; “300 router” anlamına gelmez. Yetkili sunucuda TTL'yi düşürmek, daha önce eski değerle önbelleğe alınmış kopyaların süresini geriye dönük kısaltmaz. Temel tanım RFC 1035 içindedir.
Bir taşınma sırasında DNS TTL'sini düşürmenin amacı yeni DNS yanıtlarının daha kısa süre önbellekte tutulmasıdır; IP paketlerinin yolunu kısaltmak değildir. Değişiklik hâlâ görünmüyorsa ping TTL'sini değil, sorguladığın resolver'ı ve yetkili DNS yanıtını karşılaştır. Bu kontrol için DNS arama komutları kullanılabilir.