3.04.2018

DNS ve Cloudflare

İnternet sitelerine siber saldırılara karşı savunma hizmeti veren Cloudflare firması, herkese açık yeni DNS sunucularını duyurdu. DNS konusu hem önemli hem de hassas bir konu. Bir dönem ülkemizde de DNS sunucu değişikliği halk arasında bayağı popüler bir konuydu. Yeni DNS'in duyurulduğu sayfada da Türkiye'deki bu duruma atıflar yapılmış.

Neyse, ben işin teknik tarafındayım. En başta OpenDNS vardı, 208.67.220.220 ve 208.67.222.222 gibi iki sunucu ile hizmet veriyordu. Daha sonra Google da halka açık DNS'lerini duyurdu: 8.8.8.8 ve 8.8.4.4. Google'ın bütün hizmetleri gibi DNS'lerinin IP'leri de kolay ve akılda kalıcıydı. Google, hizmetlerinin hızlı olacağını da taahhüt ediyordu.

Ve nihayet Cloudflare'in DNS sunucuları da duyuruldı: 1.1.1.1 ve 1.0.0.1. IP adresleri çok havalı, değil mi? Firmanın blog'unda yazdığına göre bu IP adresleri uzun süredir reserve durumdaydı. Ancak muhtemelen kontrolsüzce her yere girilmiş olduğundan dolayı önlenemez bir trafik yüzünden hiçbir yere atanamıyordu. Cloudflare bununla baş edebileceğini düşünmüş. Bu adreslere gelen gereksiz trafiği süzüp, sadece DNS trafiğini cevaplayarak bu güzel IP adreslerini kullanıma açmışlar.

Bir süre önce 3. parti programlarla DNS sunucuların performansını ölçmüştüm. Ama bunu artık Powershell ile yapabilirim düşüncesiyle yaptığım bir aramada şu sayfaya ulaştım. Kaynağı belli olmayan bir exe dosyasına göre basit bir Powershell betiği her zaman tercih edilir. Script çok basit. Measure-Object ile Resolve-DNS'in çoklu sorgularını ölçüyor. Ben biraz daha değiştirip bir fonksiyon haline getirdim:

function Test-DNSServerResponse
{
    [CmdletBinding()]
    Param
    (
        [string]$Query = "wwww.bing.com",
        [string]$DNSserver = "8.8.8.8",
        [int]$numberoftests = 20
    )
   
    $totalmeasurement = 0

    $i = 0

    while ($i -ne $numberoftests)

    {
        $measurement = (Measure-Command {Resolve-DnsName $Query -Server $dnsserver –Type A}).TotalSeconds
        $totalmeasurement += $measurement
        $i += 1
    }

    Write-Output "DNS Sunucu: $dnsserver"
    Write-Output "Deneme sayısı: $numberoftests"
    Write-Output "Toplam süre: $totalmeasurement seconds"
    Write-Output "Ortalama süre: $($totalmeasurement/$numberoftests) seconds/test"
}


Denemeleri de her bir DNS sunucu için şu şekilde yaptım:
Test-DNSServerResponse -DNSserver 1.1.1.1
Hedef olarak Google'ın DNS sunucularını, OpenDNS'in sunucularını ve CloudFlare'in sunucularını seçtim. Karşılaştırabilmek için Türk Telekom'un DNS sunucularını kullandım. Testleri hem ICMP hem de DNS protokolü ile yaptım. ICMP'yi de dahil etme sebebim, nispeten sunucu yoğunluğu hakkında bir bilgi verebilme ihtimali.

100 dk kadar (saniyede 1 ping, 32 byte, toplamda 6061 paket) ping attıktan sonra durum şu şekilde oldu:

SunucuKayıp Paket (adet)Başarılı (adet)Ortalama süre (ms)
195.175.39.39060614
1.0.0.10606164
195.175.39.40160604
8.8.8.87605435
208.67.220.2209605265
208.67.222.22210605169
1.1.1.1347571468
8.8.4.41179488267

Buradan anlaşılan, Türk Telekom'un 195.175.39.39 IP adresine sahip DNS sunucusu bana gayet yakın bir sunucu. 6061 ping paketinden hiçbiri kaybolmamış ve ortalama ICMP cevap süresi de 4 ms. Cloudflare'in 1.0.0.1 sunucusuna gönderilen paketlerde de kayıp yok, ama bu sunucunun ortalama cevap süresi 64 ms. Öte yandan Cloudflare'in diğer 1.1.1.1 sunucusu ise şu anda oldukça yoğun gözüküyor. Bu sunucuya gönderilen 347 paket kayıp. Ortalama cevap süresi ise aynı. Yalnız bu cevap, ICMP cevabı. DNS cevabı değil.

DNS sorgularını cevaplama bakımından ise durum biraz farklı.

SunucuOrtalama Çözümleme Süresi (ms)
195.175.39.396,18
195.175.39.407,30
1.0.0.160,39
1.1.1.167,02
208.67.222.22279,12
208.67.220.220123,01
8.8.4.4129,61
8.8.8.8213,38

Ortalamaları hesaplarken günün farklı iki saatinde 20'şer sorgu yapıp ortalamalarını aldım.

Özet olarak, Cloudflare'in ikinci DNS sunucusu (1.0.0.1), bana en yakın Türk Telekom DNS'lerinden sonra en iyi durumda olanı. Özellikle Google DNS sunucularının performansı pek parlak değil.

Zamanla 1.1.1.1 veya 1.0.0.1 IP adreslerine gelen yoğun istenmeyen trafik miktarında bir değişiklik olur da cevap süreleri düzelir mi, göreceğiz.

Hiç yorum yok: