İ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-Command 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 (ortalama ping süresine göre artan sıralama):
Sunucu | Kayıp Paket (adet) | Başarılı (adet) | Ortalama süre (ms) |
195.175.39.39 | 0 | 6061 | 4 |
195.175.39.40 | 1 | 6060 | 4 |
8.8.8.8 | 7 | 6054 | 35 |
1.0.0.1 | 0 | 6061 | 64 |
208.67.220.220 | 9 | 6052 | 65 |
208.67.222.222 | 10 | 6051 | 69 |
1.1.1.1 | 347 | 5714 | 68 |
8.8.4.4 | 1179 | 4882 | 67 |
Ek 24.10.2018: Aynı tablonun 5000 ping sonrası oluşturulmuşu:
Sunucu | Kayıp Paket (adet) | Başarılı (adet) | Ortalama süre (ms) |
195.175.39.39 | 9 | 4991 | 5 |
195.175.39.40 | 5 | 4995 | 5 |
8.8.4.4 | 10 | 4990 | 26 |
8.8.8.8 | 15 | 4985 | 32 |
1.0.0.1 | 3 | 4997 | 55 |
208.67.220.220 | 5 | 4995 | 57 |
1.1.1.1 | 3 | 4997 | 58 |
208.67.222.222 | 3 | 4997 | 59 |
Ek 31.01.2019: Aynı tablonun 1500 ping sonrası oluşturulmuşu:
Sunucu | Kayıp Paket (adet) | Başarılı (adet) | Ortalama süre (ms) |
195.175.39.40 | 0 | 1500 | 4 |
195.175.39.39 | 1 | 1499 | 4 |
8.8.8.8 | 0 | 1500 | 19 |
8.8.4.4 | 0 | 1500 | 19 |
208.67.222.222 | 0 | 1500 | 47 |
1.0.0.1 | 2 | 1498 | 48 |
208.67.220.220 | 2 | 1489 | 50 |
1.1.1.1 | 1 | 1499 | 56 |
Ek 09.12.2019: Aynı tablonun 5121 ping sonrası oluşturulmuşu (CloudFlare gelişme kaydetmiş):
Sunucu | Kayıp Paket (adet) | Başarılı (adet) | Ortalama süre (ms) |
195.175.39.39 | 5 | 5116 | 4 |
195.175.39.40 | 6 | 5115 | 4 |
1.1.1.1 | 6 | 5115 | 16 |
1.0.0.1 | 6 | 5115 | 18 |
8.8.8.8 | 5 | 5116 | 19 |
8.8.4.4 | 5 | 5115 | 21 |
208.67.220.220 | 2 | 5119 | 54 |
208.67.222.222 | 4 | 5117 | 54 |
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ı (ortalama çözüm süresine göre artan sıralama):
Sunucu | Ortalama Çözümleme Süresi (ms) |
195.175.39.39 | 6,18 |
195.175.39.40 | 7,30 |
1.0.0.1 | 60,39 |
1.1.1.1 | 67,02 |
208.67.222.222 | 79,12 |
208.67.220.220 | 123,01 |
8.8.4.4 | 129,61 |
8.8.8.8 | 213,38 |
Ek 24.10.2018: Aynı tablonunun tekrar oluşturulmuşu (50'şer sorgu ile):
Sunucu | Ortalama Çözümleme Süresi (ms) |
195.175.39.39 | 6,7 |
195.175.39.40 | 6,9 |
8.8.8.8 | 40,9 |
1.1.1.1 | 50,6 |
1.0.0.1 | 51,6 |
208.67.222.222 | 54,7 |
208.67.220.220 | 55,0 |
8.8.4.4 | 61,6 |
Ek 31.01.2019: Aynı tablonunun tekrar oluşturulmuşu (50'şer sorgu ile):
Sunucu | Ortalama Çözümleme Süresi (ms) |
195.175.39.39 | 3,8 |
195.175.39.40 | 4,7 |
8.8.4.4 | 39,9 |
8.8.8.8 | 40,7 |
1.0.0.1 | 43,0 |
208.67.220.220 | 43,8 |
208.67.222.222 | 44,0 |
1.1.1.1 | 44,2 |
Ek 09.12.2019: Aynı tablonunun tekrar oluşturulmuşu (50'şer sorgu ile; ClouldFlare sorgularda da gelişme kaydetmiş):
Sunucu | Ortalama Çözümleme Süresi (ms) |
195.175.39.39 | 3,7 |
195.175.39.40 | 4,7 |
1.0.0.1 | 13,1 |
1.1.1.1 | 13,8 |
8.8.4.4 | 35,0 |
8.8.8.8 | 35,8 |
208.67.222.222 | 40,9 |
208.67.220.220 | 41,3 |
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.
Ek 24.10.2018: Zamanla sonuçlar biraz değişmiş. Sanırım ilk denemelerimi yaptığım gün yoğun bir gündü, çözümleme süreleri olağan dışı uzunmuş. İkinci denememde Google üstünlüğü geri almış görünüyor.