GoogleDNS contro OpenDNS

Solitamente quando si parlava di DNS alternativi il discorso ricadeva quasi sempre sul servizio OpenDNS che da qualche tempo allieta la navigazione di moltissimi utenti, in questi giorni però ha fatto capolino sul panorana il colosso del web; stiamo parlando del servizio GoogleDNS che con i suoi due indirizzi 8.8.8.8 e 8.8.4.4 promette di fornire un servizio di prima qualità. La cosa bella è che questi indirizzi risultano essere facilmente memorizzabili. Sono quattro volte 8 e “otto diviso due”. Con questa tecnica non è difficile potersi appoggiare a DNS pubblici ovunque ci si trovi, anche qualora non si abbia un modo per risolvere gli indirizzi Internet e si voglia far funzionare una connessione. Succede più spesso di quanto si possa immaginare.

Richiesta per la risoluzione di un indirizzo DNS

Since ’s search engine already crawls the web on a daily basis and in the process resolves and caches DNS information, we wanted to leverage our technology to experiment with new ways of addressing some of the existing DNS challenges around performance and security. We are offering the service to the public in the hope of achieving the following aims:

  • Provide end users with an alternative to their current DNS service. Google Public DNS takes some new approaches that we believe offer more valid results, increased security, and, in most cases, better performance.
  • Help reduce the load on ISPs’ DNS servers. By taking advantage of our global data-center and caching infrastructure, we can directly serve large numbers of user requests without having to query other DNS resolvers.
  • Help make the web faster and more secure. We are launching this experimental service to test some new ways to approach DNS-related challenges. We hope to share what we learn with developers of DNS resolvers and the broader web community and get their feedback.

Performance. Many DNS service providers are not sufficiently provisioned to be able to support high-volume input/output and caching, and adequately balance load among their servers. In addition to load-balancing user traffic to ensure shared caching, Google Public DNS implements “smart” caching to increase the speed of responses. Google Public DNS independently resolves domain names and keeps the resolutions in the cache until their time-to-live (TTL) expires, at which point they are automatically refreshed. The cycle of caching and refreshing is performed offline, asynchronously with user requests, so that responses are almost always available directly from cache. For more information, see the page on performance benefits.

Scegliere il miglior servizio tra i due non è cosa semplice, si dovrebbero misurare le velocità in modo accurato e preciso considerando anche le zone geografiche di misurazione.

Schema di richiesta di indirizzo tramite DNS

Fortunatamente sul web esistono delle persone volenterose che si prendono la briga di dar vita ad iniziative serie come quella di un blogger che ha dato il via ad un campagna di misurazione delle velocità dei due servizi fornendo anche il materiale software atto a permettere la rilevazione dei dati anche a persone in locazioni differenti rispetto alla sua.



I risultati sono per certi versi sorprendenti:

Google DNS vs Open DNS
Paese Vincitore
Argentina Google
Australia Google
Austria Google
Bahrain Tie
Brazil Google
Canada OpenDNS
Costa Rica Tie (Adv. Google)
Czech Republic Google
France Google
Germany Google
Hong Kong Tie
Iceland OpenDNS
India Google
Ireland Google
Italia Google
Japan Google
Mexico Tie
Netherlands Google
Norway Tie
Portugal OpenDNS
Saudi Arabia Tie (Adv. OpenDNS)
Slovenia Google
Spain OpenDNS
Sweden Google
Switzerland Google
United Kingdom OpenDNS
United States OpenDN

Google sembra riuscire a fornire un servizio miglio rispetto ad OpenDNS in moltissimi paesi compreso il nostro.

Consiglierei a tutti l’adozione di questi indirizzi DNS se non fosse per i grandi problemi di controllo del traffico che si possono immaginare, Google è una grande collezionatrice di dati utente che usa per i proprio fini commerciali ed i DNS sono una fonte pressochè infinita di questi dati.

Cambiare i record DNS su Linux

Apriamo da root il file /etc/resolv.conf:

# vi /etc/resolv.conf

Se ci fossero righe con la definizione di nameserver commentiamole con un # all’inizio per poterle poi ripristinare in seguito. Aggiungiamo i record DNS di Google inserendo queste due righe:

nameserver 8.8.8.8
nameserver 8.8.4.4

Salviamo e riavviamo i servizi di rete per rendere le modifiche effettive.

Possiamo poi confrontare le prestazioni dei server DNS (via @Idl3 twit) con questo script bash:

#!/bin/bash
# Author: Luca Zorzi 
# License: CC Attribution (http://creativecommons.org/licenses/by/3.0/)
# A little script to compare 2 DNS servers
 
if [[ "$#" != "2" ]]
then
 echo "USAGE: $0 dns-server-1 dns-server-2"
 exit 1
fi
 
start=`date +%s`
 
sites[1]="google.com"
sites[2]="ubuntu.com"
sites[3]="kernel.org"
 
dns_index=0;
for DNS in $1 $2
do
 dns_index=`echo "$dns_index + 1" | bc`
 dns_average[$dns_index]=0;
 site_index=0;
 for site in "${sites[@]}";
 do
  site_index=`echo "$site_index + 1" | bc`
  total=0
  for n in 1 2 3 4 5
  do
   result=`dig @$DNS $site| grep "Query time" | awk '{print $4}'`
   total=`echo "$total + $result" | bc`
  done
  old_avg=${dns_average[$dns_index]}
  dns_average[$dns_index]=`echo "$old_avg + $total" | bc`
 done
  total=${dns_average[$dns_index]}
  average[$dns_index]=`echo "$total / ($site_index * 5)" | bc`
done
 
end=`date +%s`
runtime=`echo "$end - $start" | bc`
 
echo "TEST FINISHED"
echo "Run time: $runtime seconds"
echo "Testing $1 vs. $2"
echo "----------------------------------"
echo "$1 average: ${average[1]} ms"
echo "$2 average: ${average[2]} ms"

Script creato da Luca Zorzi e pubblicato in quest’articolo, che vi invito a leggere per i dettagli e per il download diretto dello script sh.


Questo articolo è stato liberamente tratto e modificato da linuxedintorni.org secondo i termini della licenza Creative Commons by-nc-sa 2.5. Originariamente ispirato da questo articolo su BrowserMob.com.

tags Tags: ,
categorieCategorie: Internet, Linux

Forge Of Empires Italia

2 Responses to “GoogleDNS contro OpenDNS”

  1. idl3 on dicembre 14th, 2009 15:33

    I DNS di Google secondo alcuni (tra cui Stefano Quintarelli) non sarebbero “legali”, nel senso che permettono di aggirare il blocco di alcuni siti (come quelli di scommesse non autorizzati), e dunque visto che aggirano la normativa vigente in astratto potrebbero creare problemi legali a chi li utilizza (nell’eventualita’ di un controllo).
    Io sinceramente di queste cose non ci capisco nulla, comunque prima di utilizzarli chiederei chiarimenti a chi ci capisce.

    PS: bell’articolo (mi piace molto la gif animata).

  2. Paolo on gennaio 2nd, 2010 11:39

    mmmh interessante come molte cose su questo sito…Auguroni