Wie verwaltet 8.8.8.8 so viel Datenverkehr im Netzwerk?

3 Antworten

so viel ist das gar nicht.

Pro Anfrage durchschnittlich die Zeichen einer ip (3*4+3) und ein A oder eine Domain mit max 255 Zeichen und PTR. Dazu immer noch ein Space.

Das deckt geschätzt 95% der Anfragen.

Manchmal noch statt PTR ein MX, was wieder ein Zeichen spart.

Rechne es dir selbst aus - Ein Zeichen hat meist noch 2-4 Byte, damit ist Utf-8 abgedeckt.

Ich komme bei 10.000 Anfragen auf etwa 9,88MB.

Dazu nochmal die Antworten mit entweder IP oder Domain und ggf dem authorativen DNS-Server, macht nochmal so viel.

Also 10.000 Anfragen macht ~19 MB Traffic.

Woher ich das weiß:Berufserfahrung

Naja, nett gemeint aber zum Großteil inkorrekt.

Ein DNS-Request besteht alles zusammen aus:

  1. Ethernet Header: 14 Byte (je 6 Byte für die Quell- und Ziel-MAC, 2 Byte für den darunterliegenden Protokolltyp)
  2. IP Header (IPv4): 20 Byte (etwas zu lang um hier jetzt mal eben alles aufzulisten, aber die Quell- und Ziel-IP benötigen je 4 Byte)
  3. UDP Header: 8 Byte (je 2 Byte für Quell- und Zielport, Länge und Checksumme)
  4. DNS Header und Request-Daten: A-Record für example.com: 29 Byte; davon 12 für den Request-Header und 17 für den Request an sich (2 Byte für den Typ, 2 Byte für die "Klasse", der Rest für den Namen)

Macht alles zusammen 71 Byte für eine Anfrage, für 10000 also um die 0,68 MiB, zusammen mit den entsprechenden Antworten zu je um die 87 Byte (0,83 MiB) also 1,51 MiB, nicht etwa 19,0.

Und selbst wenn wir jetzt von übermäßigst langen Domains ausgehen (um mal bei deinem Beispiel zu bleiben, 255 Zeichen): Dann hätten wir 3,00 MiB für die Anfragen und 3,16MiB für die Antworten, in der Summe also 6,16MiB. Immer noch nur ein Drittel von 19,0.

P.S.: Der Großteil der Daten wird in Binärform übertragen, "PTR" und "MX" benötigen genauso wie "A" exakt 2 Byte (PTR: 00c0, MX: 000f, A: 0001)

3
@Isendrak

stimmt da hab ich glatt die osi-Schichten vergessen

1
@rikks

Das und die Kleinigkeit, dass der überwiegende Teil der übermittelten Daten nicht in Text- sondern Byteform vorliegt. (Und selbst der Teil, der in Textform vorliegt ist weder UTF-8 noch sonstein Unicode sondern ganz klassisches 7 Bit ASCII mit einem Padding-Bit je Zeichen.)

0

Die zu übertragenden Daten bei einer DNS-Anfrage sind nicht sonderlich groß.

Und: Was dein lokaler DNS-Cache im Router schon hat, das fragt er nicht noch einmal an.

Alternativen: Nimm die 1.1.1.1 und die 208.67.222.222 bzw. 208.67.220.220. Man muss ja nicht immer alles an Google senden, oder? ;)

Das ist die DNS-Adresse von Google? Und Google hat ein paar Server zur Verfügung...

Was möchtest Du wissen?