Opinione privata su Public Google DNS
by admin on Dec.07, 2009, under Società
Google ha appena lanciato Google Public DNS, un nuovo servizio di risoluzione Domain Name System alternativo a quello fornito di default dal proprio provider. Per chi volesse sperimentarlo, la cosa è molto semplice. Basta infatti impostare come DNS primario l’indirizzo IP 8.8.8.8 , e come DNS secondario l’indirizzo IP 8.8.4.4.
Sull’iniziativa vale sicuramente la pena spendere alcune considerazioni, di carattere tecnico e non.
Google Public DNS è un insieme di caching DNS servers distribuito a livello mondiale.
Abbastanza stranamente, anche se il numero dei caching DNS servers è elevato, Google usa per essi solamente due indirizzi: 8.8.8.8 e 8.8.4.4, come se avesse preferito ricorrere a due indirizzi non di propria competenza (appartengono a Level3) pur di disporre di qualcosa di estremamente semplice da ricordare, anziché utilizzare indirizzi nei range numerici di sua proprietà, più difficilmente memorizzabili.
Il sistema di routing inoltra semplicemente i pacchetti indirizzati a ciascuno di essi verso il datacenter Google Public DNS geograficamente più prossimo al richiedente. In tal modo utenti in differenti posti del globo contatterebbero differenti istanze di tali indirizzi, con un miglioramento complessivo dei tempi di round-trip, fattore importante per delle buone performance DNS. Tale meccanismo è conosciuto come anycast.
Il round-trip time (RTT) non è comunque il solo nè il principale responsabile della latenza DNS. Più pesante, in tal senso, è la responsabilità a carico delle comunicazioni tra nameservers, dovuta principalmente al fenomeno della “missing cache”:
Google utilizza clusters di servers in ciascuna locazione anycast, consentendo alle richeste di essere reindirizzate da un server del cluster ad un altro server. Ciò consentirebbe un migliore “caching” e di conseguenza una migliore performance rispetto alla semplice distribuzione delle queries DNS ad un set di servers che operino in maniera independente.
Quando una risposta non sia già presente nella cache del resolver, vengono ricorsivamente interrogati altri nameservers (almeno uno, ma spesso due o più), ed è allora che la latenza diviene considerevole, specialmente nel caso in cui i servers autoritativi siano geograficamente distanti.
Scalare l’infrastruttura del resolver tramite l’aggiunta di macchine, in questo caso può addirittura rivelarsi controproducente.
In una situazione tipica, diverse macchine stanno dietro ad un “load balancer” che distribuisce il traffico a ciascuna di esse utilizzando un algoritmo semplice tipo round robin.
La conseguenza di ciò è che ciascuna macchina mantiene una propria cache indipendente ed isolata.
In questa situazione, per nomi con TTLs lunghi, la cui risoluzione venga richiesta spesso, la frequenza del fenomeno di “cache missing” aumenta con l’aumentare del numero di macchine nel cluster, mentre per nomi con TTL molto corti, richiesti poco frequentemente, l’aggiunta di macchine non comporta ulteriori ritardi, ma nemmeno benefici.
In Google Public DNS, vengono utilizzati differenti approcci per affrontare il fenomeno:
Un pool di macchine coordinate da un load balancer condivide una cache globale di dimensioni ridotte, contenente i nomi richiesti più frequentemente richiesti (popolari). Nel caso in cui una richiesta non possa venire soddisfatta attingendo a tale cache, viene inviata ad un altro pool di macchine che utilizzano invece una cache partizionata per nomi (meno popolari). Tutte le richieste relative allo stesso nome vengono inviate alla stessa macchina.
Se i benefici in termini tecnico-strutturali sono difficilmente contestabili, quelli avvertibili dalla stragrande maggioranza degli utenti è molto probabile che siano praticamente inesistenti. Ovvero: per navigare negli abituali siti di grande consumo e consultare la propria casella di posta presso il provider, meglio lasciare i dns impostati così come sono.
Resta infine aperta una questione etica: gestendo le richieste DNS degli utenti, non solo web, Google sarebbe sicuramente in grado di conoscere le loro tendenze ancor più di quanto già non avvenga attualmente, e credere che, con la sua posizione dominante nel campo dell’ advertising, non sia tentata di sfruttare il nuovo servizio DNS a proprio beneficio sarebbe proprio da ingenui.
È addirittura possibile che l’iniziativa di Google possa avere effetti positivi in chiave anticensoria, considerando quanto intensamente viene utilizzato il meccanismo della redirezione DNS imposto ai provider nazionali dai vari regimi autoritari sparsi per il mondo per impedire l’accesso dei propri cittadini ad una libera informazione.


