Was ist die praktische Grenze für IP-Adressen im DNS-Round-Robin?

8

Ich betreibe derzeit eine Site, deren Datenverkehr derzeit auf 7 Spiegelserver verteilt ist (mithilfe von DNS-Round-Robin). Angesichts des ständig wachsenden Verkehrsaufkommens werden jedoch bald weitere Spiegel erforderlich sein.

Gibt es eine praktische oder empfohlene Grenze für die Anzahl der IP-Adressen, die einem bestimmten Domainnamen zugeordnet sind, wenn Round-Robin-DNS verwendet wird?

Welche Lösung würden Sie auch empfehlen, wenn die Anzahl der Spiegel hoch ist (z. B. mehr als 10 oder 20 Spiegel)?

Vielen Dank.

GetFree
quelle

Antworten:

10

Beachten Sie, dass DNS-Lookups standardmäßig UDP verwenden. Wenn die Antwort größer ist als in ein einzelnes Datagramm passen kann, werden so viele zurückgegeben, wie passen, und das TC-Bit (abgeschnitten) wird im Header gesetzt.

Der Anforderer kann wählen, ob er mit den zurückgegebenen Daten arbeiten oder die Abfrage mithilfe von TCP erneut versuchen möchte.

Das Zwischenspeichern von DNS-Servern soll keine abgeschnittenen Antworten zwischenspeichern, da sie nicht wissen, wie vollständig die zurückgegebenen Datensätze sind (in der Antwort steht nicht "Ich gebe Ihnen 12 von 28 Einträgen").

Die maximale Anzahl von Datensätzen hängt also davon ab, wie viel Sie in ein UDP-Datagramm stecken können. Denken Sie daran, dass die Antwort den Berechtigungsabschnitt enthalten muss, dessen Größe je nach SOA-Datensatz für die Zone variiert.

Wenn Sie CNAME-Datensätze verwenden, erhöht dies auch die Größe der Antwort, da Sie den CNAME- und den A-Datensatz des Objekts zurückerhalten, auf das verwiesen wird.

Am besten spielen Sie mit dig oder "host -v" mit verschiedenen A-Datensätzen, um festzustellen, wann die Abfrage die maximale Größe einer UDP-Antwort überschreitet.

James F.
quelle
1
Tatsächlich dürfen Cache-Server Antworten zwischenspeichern, wenn der gesamte Abschnitt empfangen wurde. Wenn der Abschnitt "Antwort" in Ordnung ist, der Abschnitt "Zusätzliche" jedoch abgeschnitten wurde, ist es in Ordnung, diese Antwort zwischenzuspeichern.
Alnitak
8

Es gibt keine feste Grenze, aber auf den meisten Websites werden nicht mehr als 5 oder 10 Spiegel ausgeführt. Das Spiegeln über DNS Round Robin ist am nützlichsten, wenn die Sites geografisch getrennt sind, sodass neben der Lastverteilung auch Redundanz besteht.

Mit zunehmender Anzahl von Spiegeln nimmt die Effizienz der Verwendung von DNS-Round-Robin als Lastverteilung ab, da DNS-Round-Robin keine unterschiedlichen Anforderungen berücksichtigt, die mehr Ressourcen erfordern. Es ist besser, den Front-End-Lastausgleich zu verwenden, um die Arbeitslast nach CPU-Last und Serververfügbarkeit zu verteilen. Dies vereinfacht auch die Wartung, da ein Server ohne DNS-Änderung sofort heruntergefahren werden kann, was dazu führt, dass Clients versuchen, über zwischengespeicherte DNS-Einträge auf einen ausgefallenen Server zuzugreifen .

Mike
quelle
3

Ich komme zu spät zu dieser Frage, aber ich dachte, es wäre schön, die tatsächlichen Grenzen Ihrer Möglichkeiten zu erwähnen. Es gibt keine theoretische Grenze, die mir bekannt ist, aber mehrere ISPs nehmen nichts über 36 hinaus. Wenn Sie mehr als das einschließen, werden nicht nur die zusätzlichen Server nicht berücksichtigt, sondern Sie werden auch vollständig ignoriert. Verizon und Comcast waren die beiden, mit denen ich Probleme hatte, aber ich bin sicher, dass andere davon betroffen sind.

Wenn Sie jedoch über genügend Datenverkehr verfügen, um 36 Spiegel zu gewährleisten, verwenden Sie bitte kein Round-Robin-DNS.

UltimateBrent
quelle
2

Wenn Sie viele Server haben, ist es vielleicht die beste Antwort, Akamai zu verwenden und Anycast-DNS-Server und Round Robin zu verwenden. Mit anderen Worten, die DNS-Server für die Zone sind im Internet verteilt, alle mit denselben IP-Adressen, und Routingpunkte-Clients auf den nächstgelegenen Servern im Netzwerk. Jeder Server antwortet im Round-Robin-Verfahren auf eine Teilmenge der vollständigen Liste möglicher Server.

Andrew McGregor
quelle
1

Wir machen etwas sehr Ähnliches, aber wir verwenden Hardware-Load-Balancer (übrigens Cisco ACEs). Auf diese Weise ist die einzige Grenze die Subnetzgröße (falls dies der Fall ist).

Chopper3
quelle