Bu İçerikte Bahsedilen Konular Hide
TTL, bir sorgulama ya da içeriğin ağ üzerinde ne kadar süreyle önbellekte kalacağını belirleyen bir kavramdır. Türkçe karşılığı “yaşam zamanı” olan bu terimin ifade ettiği anlam TTL türüne göre farklılıklar gösterir.
Ağ Oluşturmada Yaşam Süresi (TTL) Nedir?
TTL’nin tam anlamıyla neyi ifade ettiğini anlayabilmek için öncelikle DNS (etki alanı adı) ve CDN (içerik dağıtım ağı) arasındaki ayrımın yapılması gerekir. DNS TTL, DNS çözümleyicisinin yeni bir sorgu istemeden önce bir sorguyu önbelleğe alması gereken süreyi bildirir. Bilgiler, yeni ayrıntılar toplanana kadar TTL işleyen ön izleme ya da yerel çözümleyicinin önbelleğinde depolanır.
CDN TTL, içeriğin önbelleğe alınmasını ifade etmesi bakımından DNS TTL’den farklıdır. Bu, sayfanın daha hızlı yüklenmesini sağlamak ve tüketilen bant genişliği miktarını azaltmak için bir web sitesindeki kaynakların kopyasını CDN proxy’lerinde tutmayı ifade eder.
DNS TTL, çözümleyicinin bir web sitesinin ayrıntılarını toplamasından önceki süreyi belirlediği için zaman açısından ifade edilen bir kavramdır. Örneğin, web sitesinin DNS TTL’i 15 dakikaya ayarlanırsa, çözümleyici hakkında bu süre içinde ayrıntılı bilgi toplanır. Web sitesine giren kullanıcılar 15 dakika boyunca aynı şeyi görür. Örneğin; 2000 kullanıcı 12:00 -12:15 saatleri arasında web sitesine girse dahi aynı metni, resimleri ve bağlantıları inceler.
Web sitesi yetkilisi tarafından 12:10’da bir güncelleme yapıldığını düşünün. DNS, TTL bilgileri toplamak için geri dönene kadar etkili olamaz. Kullanıcı, 12:16’dan itibaren yapılan güncellemeleri görebilir. Yani 12:00-12:15 arasında web sitesini ziyaret eden kullanıcı bu süre içerisinde web sitesinde bulunan içeriği görecektir.
TTL Nasıl Çalışır?
TTL’nin temel işlevi, DNS istekleriyle ilgili bilgi paketlerini yönetmektir. Bu paketlerden biri internet üzerinden oluşturulup iletildiğinde, sürekli olarak yönlendiriciden yönlendiriciye sonsuza kadar döngü oluşturma şansı vardır. Bunun olmasını önlemek için her pakette belirli bir TTL veya atlama sınırı olması gerekir. Bir veri paketinin TTL günlüğünü, internet üzerinden nasıl hareket ettiği hakkında bilgi edinmek için incelemek de mümkündür.
Her paketin içinde TTL değerinin depolandığı bir yer vardır. Bu sayısal bir değerdir ve paketin internette ne kadar süre hareket etmesi gerektiğini gösterir. Bir yönlendirici herhangi bir veri paketini aldığında, paketi ağ içindeki bir sonraki hedefe göndermeden önce TTL sayısından bir birim alır. Bu, paket içindeki TTL sayısı sıfıra düşene kadar da döngü gerçekleşmeye devam eder.
Yönlendirici, süresi dolduktan sonra veri paketinden kurtulur ve paketin kaynaklandığı ana bilgisayara bir İnternet Denetim İletisi Protokolü (ICMP) iletilir. ICMP, aygıtların birbirleriyle iletişim kurmasını ve veri paketlerinin akışıyla ilgili hataları iletmesini sağlayan bir protokoldür.
TTL’nin nasıl çalıştığını görmek için, özellikle İnternet Protokolü sürüm 6 (IPv6) ile izleme tarafından nasıl kullanıldığını anlamak gerekir. IPv6, bir uç noktayı tanımlamak için kullanılan 128 bitlik alfa sayısal bir dize olan IP adresini ifade eder. IPv6 ile TTL, atlama sınırını veya bir veri paketinin ICMP üzerinden geri gönderilmesine sebep olmadan önce atlamasına izin verilen durak sayısını belirtir. Bu, TTL’nin bir veri paketinin internet üzerinden nasıl hareket ettiği hakkında bilgi toplamak için kullanılmasına izin verir. İletim Denetimi Protokolü, Internet Protokolü (TCP / IP) ile veri paketleri genellikle kaynağından hedeflerine giderken düz bir çizgide gitmez. Bir düğümden diğerine atlar ve en sonunda belirlenen son noktaya ulaşır.
İzleme, bir veri paketinin internet üzerinde gezinirken bir yerden diğerine gitmesinin ne kadar sürdüğünü kontrol etmek için kullanılır. Bir “traceroute” komutunun yürütülmesi sırasında, bir yol boyunca gönderilen paket akışı vardır. Her paket bir öncekinden daha büyük bir TTL değerine sahiptir. Bu da ICMP kullanarak bir hata göndermeden bir adım daha ileri gidebileceği anlamına gelir. ICMP aracılığıyla gönderilen geri bildirimler, her veri paketinin hedefine doğru giderken ağ boyunca her bir noktaya atlaması için geçen süreyi belirlemekte kullanılır.
DNS TTL Ne için Kullanılır?
DNS TTL’leri, özellikle web içeriklerini sık sık değiştiren siteler için çok faydalıdır. Daha düşük bir TTL ile bir web sitesi en son güncellemeleri daha sık gerçekleştirebilir. Örneğin, X adlı kurgusal bir şirketin bir web sitesi varsa, X.com’un 3,600 saniye (bir saat) TTL değeri vardır. Her saatte bir de güncelleme alır. X.com için sık güncellemeler yapıldığında, TTL değerini daha sık güncellenecek şekilde ayarlayabilirsiniz.
TTL yönetimi, müşterileriniz için kullanıcı deneyimini optimize etmek için çok idealdir. X.com şirketi’nin, özellikle yoğun bir satış sezonuna hazırlandığında, sürekli olarak siteye ürün eklemesi gerekebilir.
Örneğin; her gün web sitesine yeni widget’lar için ürün açıklamaları, resimler ve videolar yüklenmesi ihtiyacı doğabilir. TTL’ler 3,600 saniyede kalacaksa, çevrimiçi alışveriş yapanların mevcut en son ürünleri görmek için bir saat beklemeleri gerekir. Ancak, TTL süreleri kısaltılırsa, web sitesi müşterileri daha sık güncellenir ve onlara mevcut widget’ların en güncel hali gösterilir.
Öte yandan, her ürün sayfasının web sitesi için onaylanmadan önce dikkatli bir inceleme sürecinden geçmesi gerekiyorsa, web sitesi Widget’ları TTL’yi her incelemenin tamamlanması için gereken süreye izin verecek şekilde ayarlanması istenebilir.
DNS TTL, kullanıcıya web sitesinin önbelleğe alınmış bir sürümünü sağlamasından dolayı da çok kullanışlıdır. Bir kuruluşun web sitesinde çok fazla içerik varsa, doğal olarak yüklenmesi de uzun zaman alır. Önbelleğe alma işlemi aynı zamanda önbellekte depolandığından kullanıcıların içeriğe erişmesi de kolaylaştırılabilir. Bu, büyük sitelerin daha fazla sayıda kullanıcı tarafından pratik şekilde erişilebilir olmasını sağlar.
DNS TTL, bir web sitesinin önbelleğe alınmasını yönettiğinden, kullanılan sunucuların sınırlamalarına göre optimize etmek için de kullanılabilir. Önbelleğe alma, web sitesinin bir sürümünü son kullanıcı tarafından kolayca erişilebilen bir katmanda depolayarak merkezi sunucunuzdaki yükü hafifletir.
Şirketinizin sunucusu maksimum performansa ulaşırsa, sitenin yeni bir sürümünü daha az sıklıkta gönderilmesini sağlamak için DNS TTL’sini artırabilirsiniz. Bu durumda sunucu, yalnızca tüm sitenin güncellenmiş bir sürümünü sık sık dışarı itmek için yorucu bir çalışma içine girmek zorunda kalır. Yapılan bu işlem ile DNS TTL, sunucunun web sitesinin yeni bir kopyasını almak için hedefe ulaşmadan önce bir nevi dinlenmesine izin verir.
Tersi durumda, kuruluşunuzun web sitesinde müşteri deneyiminin merkezinde yer alan etkileşimli bir uygulama arabirimi (API) varsa, sitenin performansını kullanıcının bakış açısından geliştirmek için TTL’nizi ayarlamak isteyebilirsiniz. Bazı durumlarda kullanıcı, sitenin güncelleştirilmiş bir sürümünü daha sık aldığı için daha düşük bir TTL değeri çok daha iyi sonuçlar verebilir.
Örneğin, Yahoo Finance API’sini kullanıyorsanız, kullanıcıların sitenizde belirtilen şirketler hakkında en güncel finansal bilgileri görmesini isteyebilirsiniz. Daha düşük bir DNS TTL ayarıyla kullanıcı, daha yeni şirket verilerine erişebilir.
TTL’nin Kullanıcıya Sağladığı Avantajlar Nelerdir?
Web sitenizde TTL’nin doğru şekilde yönetilmesi çok önemlidir. Sistemin kullanılmasında amaç, web sitesinin sorunsuz ve verimli şekilde çalışmasını sağlamaktır. Çoğu zaman, bir işletmenin çalışması çevrimiçi varlıklarının performansına bağlı olduğundan, TTL’yi ve çevrimiçi uygulamaların performansını optimize etmek büyük önem taşır. TTL, maksimum çalışma süresi elde ederek, web sitesinden maksimum verim elde edilmesini sağlar.
TTL, güçlü bir iş sürekliliği aracıdır. Çünkü kullanımda beklenmeyen ani artışlar veya ağ çökse bile bir uygulamayı çevrimiçi kalarak hazır tutulmasını sağlar. Bunun yanında dünya çapında stratejik olarak seçilmiş konumlarda gereksiz kaynaklar oluşturabilirsiniz. Sistem, tümü entegre bir API ile yönetilen anlık yük devretmeye uyum sağlayarak müşterilerinizin işletmeniz için en önemli uygulamalara her zaman erişebilmelerine imkân tanır.
Yaşama süresi (TTL), bir paketin bir yönlendirici tarafından ağ içinde var olacak şekilde ayarlandığı süreyi veya “atlama” miktarını ifade eder. TTL, CDN önbelleğe alma ve DNS önbelleğe alma gibi diğer bağlamlarda da kullanılır.
Bir bilgi paketi oluşturulduğunda ve internet üzerinden gönderildiğinde, yönlendiriciden yönlendiriciye süresiz olarak geçmeye devam etme riski vardır. Bu olasılığı azaltmak için paketler, yaşama süresi veya atlama sınırı adı verilen bir süre sonu ile tasarlanır. Paket TTL, bir paketin dolaşımda ne kadar süre kaldığını belirlemede de yararlı olabilir ve gönderenin internet üzerinden bir paketin izlediği yol hakkında bilgi almasına izin verebilir.
Her paketin, ağ üzerinden ne kadar süre hareket etmeye devam etmesi gerektiğini belirleyen sayısal bir değer depoladığı alanı vardır. Bir yönlendirici herhangi bir paketi aldığında, TTL sayısından bir paket çıkarır ve ardından ağdaki diğer konuma geçirir. Herhangi bir noktada TTL sayısı çıkarma işleminden sonra sıfıra eşitse, yönlendirici paketi atar ve kaynak ana bilgisayara bir ICMP mesajı gönderir.
Yaygın olarak kullanılan ağ komutları olan “ping” ve “traceroute”un her ikisi de TTL kullanır. “Traceroute” komutunu kullanırken, internet üzerinden giderek daha yüksek sıralı TTL’lere sahip bir paket akışı bir hedefe gönderilir. Bağlantıdaki her adım paketlerden birinin son durağı olduğundan, her konum paketi attıktan sonra gönderene bir ICMP iletisi döndürür. ICMP iletisinin gönderene dönmesi için gereken süre, daha sonra ağ boyunca birbirini izleyen her atlamaya ulaşmanın ne kadar süreceğini belirlemek için kullanılır.
TTL Başka Hangi Durumlarda Kullanılır?
Paketlerin internet üzerinden aldığı yolu izlemenin yanı sıra “time to live”, belirli bir süre için bilgileri önbelleğe alma bağlamında da kullanılır. Her biri değişken bir süre alabilen yönlendiriciler arasındaki süreyi ölçmek yerine, bazı ağ kullanım durumları daha geleneksel bir şekilde çalışır.
Cloudflare’ın CDN’si gibi, CDN’ler, önbelleğe alınmış içeriğin bir kaynak sunucudan yeni bir kopya alınmadan önce bir CDN edge sunucusundan ne kadar süreyle sunulması gerektiğini belirlemek için de genellikle TTL kullanır. Kaynak sunucu çekmeleri arasındaki süreyi doğru bir şekilde ayarlayarak, bir CDN sürekli olarak kaynağa yayılan istekler olmadan güncelleştirilmiş içerik sunabilir. Bu optimizasyon, bir CDN’nin orijinden gereken bant genişliğini azaltırken kullanıcıya daha yakın içeriği verimli bir şekilde sunmasını sağlar.
DNS kaydı bağlamında TTL, yetkili DNS sunucusuna ulaşmadan ve kaydın yeni bir kopyasını almadan önce DNS önbellek sunucusunun DNS kaydına ne kadar süre hizmet verebileceğini belirleyen sayısal bir değerdir.
Günümüz dünyasında internet, insanların hayatının bir parçası haline gelmiştir. Bu kapsamda web sitelerinde performansı artırıcı uygulamalara ihtiyaç vardır. TTL de bu ihtiyaç üzerine ortaya çıkmış bir kavramdır. Time to live (TTL) DNS kaydının ne kadar bir süre içinde ön bellek üzerinde tutulması gerektiğini ortaya koyar ve bunun da saniye cinsinden ifade edilmesini sağlar. Alınan bu tedbir ile DNS sunucunuza diğer sunucular tarafından gelen sorgulamalar, sisteme ilave bir yük oluşturmaz. Siz de web sitenizdeki performansı artırmak için TTL kullanmayı tercih edebilirsiniz.