04.12.2009

Google Public DNS

Nachdem es ja nun schon die meisten mitbekommen haben, Google bietet seinen eigenen DNS-Dienst der Öffentlichkeit an. Das Produkt gibt es wohl schon länger und wird bereits bei Google selbst und im kostenlosen Wifi-Netz in Mountain View eingesetzt. Zwei Dinge sind interessant, was wird von Google geloggt und ist der Zugriff schneller oder zumindest gleichschnell wie mit den DNS-Servern des entsprechenden Providers?

Als IP-Adressen des DNS-Services gibt Google die 8.8.8.8 und 8.8.4.4 an, beide ebenfalls in Mountain View - California beheimatet. Um mögliche Latenzen bei DNS-Abfragen zu minimieren, bis zur Westküste USA sind es aus Deutschland schließlich ein paar Meter, setzt Google wie div. andere DNS Anbieter und Root-Nameserver auf anycasts. Vereinfacht ausgedrückt gibt es mehrere Google DNS-Server auf der ganzen Welt, die dieselbe IP-Adresse (bspw. 8.8.8.8) besitzen und per Routing dem Anwender auf dem kürzesten Wege zugeteilt werden. Das setzt natürlich voraus, das der Inhalt der Server ständig synchron ist und hat zudem den netten Nebeneffekt der Lastverteilung. Somit sollten also, zumindest physikalisch, annähernd diesselben Geschwindigkeiten wie mit den DNS-Server der deutschen Provider erreicht werden, da laut Antwortzeiten von Pings davon auszugehen ist, das Google auch in Deutschland bzw. Europa entsprechende Server betreibt.

Die Kernfunktion wodurch Google Public DNS das Internet "schneller" machen soll ist das Prefetching von Namens-Auflösungen. Google schreibt, das bei einer beispielhaften Seiten-Abfrage durch den verschiedenartigen Content 13 DNS-Abfragen in den ersten 11 Sekunden des Ladens stattfinden (Grafik, DNS Abfragen sind schwarz markiert), in dem Beispiel-Fall fünf davon parallel. Als das weiter verfolgt wurde stellte sich heraus, das von diesen DNS-Abfragen 4-6% wegen UDP packet loss in das Leere laufen oder die Server schlicht nicht erreichbar sind. Durch den Googlebot web crawler hat Google herausgefunden das durchschnittlich 130 ms benötigt werden um erfolgreiche DNS-Abfrage durchzuführen. Dadurch kommen in der Summe ein Schnitt von 300-400 ms an reinen DNS Latenzen bei der angegebenen Seitenabfrage zustande. Dieser Wert ist allerdings sehr dynamisch und von vielen Faktoren, in erster Linie dem Webseiten-Inhalt abhängig. Google will nun letztendlich versuchen, DNS-Abfragen nicht erst bei einer ankommenden Anfrage zu tätigen und dann zu cachen, sondern dies bereits im Vorfeld zu tun um der folgenden Anfrage die Daten dann direkt zur Verfügung stellen zu können. Dies bringt allerdings div. Schwierigkeiten mit sich, was (und weitere eingesetzte Mechanismen) in der Performance-Sektion der Dokumentation nachgelesen werden kann.

Internet Bewegungs-Daten können also problemlos erstellt werden, auch wenn die IP-Daten nach 24 h gelöscht werden. Außerdem liegen die Daten auf amerikanischen Servern. Ob ein deutscher Provider vertrauenswürdiger ist, muss jeder selbst entscheiden. Fest steht, das sich beispielsweise die Telekom mit dem präsentieren einer Suchmaske und Werbung bei der Falsch-Eingabe einer Adresse nicht an RFC 2308 Negative Caching of DNS Queries hält.

Links: