Wie wird 8.8.8.8 * immer * am Leben erhalten?

9

Ich weiß, wie Sie die Redundanz von Rechenzentren verwalten können, wenn ein funktionierender DNS-Server auf eine beliebige Arbeitsstelle Ihres Unternehmens verweist - es gibt VRRP, Multi-WAN usw. usw. Aber wie werden DNS-Server selbst online gehalten? Es ist das erste Mal, wenn sich jemand mit dem Dienst verbindet und es nicht wirklich bereitgestellt werden kann. Ich meine zum Beispiel 8.8.8.8oder 8.8.4.4. Ich kann mich nicht erinnern, dass sie unten waren. Je. Wie schaffen es ISPs, solche IPs immer online zu halten ?

Ich weiß, dass es wahrscheinlich eine sehr breite Frage ist, aber ich würde gerne nur Namen von Protokollen / Techniken hören, die dafür verwendet werden können. Ich kann Details darüber selbst lesen.

Lapsio
quelle
3
Lesen Sie Anycast. Kurz: Es gibt mehrere Hosts mit derselben IP-Adresse. So funktionieren CloudFlare, Google, YouTube und andere große Netzwerke.
GiantTree
google.com und cloudflare haben mehrere IPs. Je nach Standort usw. werden in der DNS-Abfrage verschiedene IPs zurückgegeben. 8.8.8.8 ist jedoch tatsächlich eine einzelne IP. Und es kann nicht "mehrere A-Einträge" oder andere DNS-basierte Reduncancy verwenden, da es sich um DNS selbst handelt. Können Sie mehrere Sites / Hosts unter einer einzigen IP haben? Sie verwenden so etwas wie Multi ISP BGP?
Lapsio
2
Es ist Anycast, wie GiantTree geschrieben hat. Anycast beinhaltet kein DNS.
Daniel B
IPv4 unterstützt Anycast nicht nativ. Laut Wikipedia scheint es mit BGP realisiert zu werden, wenn ich es richtig verstehe. en.wikipedia.org/wiki/Anycast
Lapsio
Für Datagrammdienste ist keine spezielle Unterstützung für Anycast erforderlich. Dies geschieht lediglich, wenn jeder Router seine eigenen Routenberechnungen für kürzeste Wege durchführt. BGP "unterstützt" Anycast auch nicht nativ (es sieht diese als Unicast-Routen an), und dennoch ist es eine übliche Methode, dies im gesamten Internet zu tun.
user1686

Antworten:

10

Erstens ist VRRP in keiner Weise von DNS abhängig. Für Redundanz innerhalb eines einzelnen Standorts können Sie DNS-Server auf einer gemeinsam genutzten VRRP-Adresse ausführen.

Wie andere in Kommentaren erwähnt haben, verwenden die Dienste auch Anycast-Routing , was im Wesentlichen bedeutet, dass dieselbe IP-Adresse an mehreren Orten auf der ganzen Welt vorhanden ist. Wenn eine ganze Site ausfällt, werden die Routen weltweit neu berechnet, sodass Ihre Pakete zu einer anderen Arbeitsstelle gelangen.

Ein besseres Beispiel als Googles öffentlichen DNS würde die sein Root - DNS - Server - diejenigen , die die dienen .Zone und halten Zeiger auf com, org, euund so weiter - , weil sie eine Karte von jeder Instanz der 13 logischen Adressen. ICANNs "L" wird von 160 verschiedenen Sites bedient!

Beachten Sie, dass Anycast nichts mit DNS-basierten Round-Robins zu tun hat (bei denen derselbe Name mehrere Adressen hat). Anycast erfolgt im Wesentlichen durch Lügen des Routing-Protokolls.


Das Internet verwendet BGP, um Routing-Informationen zwischen Organisationen auszutauschen.

BGP unterstützt von Natur aus die Auswahl der besten aus mehreren Routen in Richtung desselben Netzwerks anhand verschiedener Kriterien. Beispielsweise kann derselbe Kunde redundante Uplinks zu demselben ISP haben (Ankündigung von zwei Routen, die sich nur in Gewicht / Präferenz unterscheiden). Oder der Kunde hat Uplinks über mehrere ISPs und jeder wählt seine bevorzugte Route (hauptsächlich den kürzesten AS-Pfad) - das ist der Kern des "echten" Multi-WAN.

Multihoming

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter--+            │
             ¦    │             ¦--DNSserver │
client 2 ---ISP---│--BGProuter--+            │
                  └──────────────────────────┘

BGP führt den Verkehr jedoch nur zu Ihren Eingangstüren, kümmert sich aber nicht darum, was darüber hinaus passiert. Wenn Sie also intern beide Routen zum selben Server einrichten, erhalten Sie Multihoming. Wenn jedoch jeder "Eingang" zu einem anderen Server führt (konfiguriert für dieselbe IP), erhalten Sie Anycast.

Anycast... kind of?

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
             ¦    │                          │
client 2 ---ISP---│--BGProuter-----DNSserver │
                  └──────────────────────────┘

Dies bedeutet auch, dass es BGP egal ist, ob der AS überhaupt nicht zusammenhängend ist. Um weltweite Redundanz zu erreichen, kündigen Sie einfach dasselbe Netzwerk von mehreren physischen Standorten aus an. Wenn Sie diese Standorte miteinander verbinden (damit sie das Netzwerk an einen Ort weiterleiten), erhalten Sie Multihoming. Wenn es sich um Inseln handelt, erhalten Sie Anycast.

Anycast

                  ┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
             ¦    └──────────────────────────┘
             ¦
             ¦    ┌────────[AS 65535]────────┐
client 2 ---ISP---│--BGProuter-----DNSserver │
                  └──────────────────────────┘

(Im Übrigen muss es nicht einmal dasselbe AS sein - z. B. werden 6to4-Relais von mehreren unabhängigen Organisationen betrieben, von denen jede ihren eigenen Weg in diese Richtung ankündigt 192.88.99.0/24.)

Vorsichtsmaßnahmen:

  • Anycast bietet Redundanz, aber keinen Lastausgleich. Sobald BGP konvergiert, hat jeder Router eine einzelne bevorzugte Route (oder gelegentlich einige) ausgewählt und verwendet diese weiter, bis sich das Netzwerk ändert.

  • Sie können jedoch nicht vorhersagen, wie lange die Routen stabil bleiben werden. Daher kann es schwierig sein, zustandsbehaftete Dienste zu übertragen. DNS kommt damit durch, weil es zustandslos ist und hauptsächlich UDP verwendet (EDNS reduzierte den Bedarf an TCP-Verbindungen).

  • Es muss eine Koordination zwischen dem eigentlichen Dienst und dem BGP-Router bestehen, damit die Route zurückgezogen wird, wenn der Dienst abstürzt.

Siehe auch "Geschichte von 4.2.2.2. Was ist die Geschichte?" auf der NANOG-Mailingliste: Post 1 , Post 2 .

user1686
quelle
"Wie Sie Ihre Antwort in weniger als 60 Sekunden mit diesem einen seltsamen Trick akzeptieren lassen"
user1686
Auf welche "Inseln" beziehen Sie sich im vorletzten Absatz? Nur nicht verbundene Sites?
Lapsio
Ja - Teile Ihres Netzwerks, die nicht miteinander oder mit dem Rest verbunden sind. (Obwohl dies nur ein Beispiel ist. Es ist auch möglich, internen Anycast in einem großen, miteinander verbundenen Netzwerk zu implementieren - wiederum durch Trick von Routing-Protokollen.)
user1686
0

Eine Möglichkeit, dies zu erreichen, ist die Verwendung von serverseitigen Balancern . Wenn Sie unter IP 8.8.8.8 eine Verbindung zum Gateway herstellen, wird die Anforderung an einen freien Server im System verteilt. Wenn ein Server ausfällt, wird nicht das gesamte System heruntergefahren.

Bei Internetdiensten ist der serverseitige Load Balancer normalerweise ein Softwareprogramm, das den Port überwacht, an dem externe Clients eine Verbindung zu Zugriffsdiensten herstellen. Der Load Balancer leitet Anforderungen an einen der "Backend" -Server weiter, der normalerweise auf den Load Balancer antwortet. Auf diese Weise kann der Load Balancer dem Client antworten, ohne dass der Client jemals etwas über die interne Funktionstrennung weiß. Außerdem wird verhindert, dass Clients direkt mit Back-End-Servern Kontakt aufnehmen. Dies kann Sicherheitsvorteile haben, da die Struktur des internen Netzwerks ausgeblendet wird und Angriffe auf den Netzwerkstapel des Kernels oder nicht verwandte Dienste, die auf anderen Ports ausgeführt werden, verhindert werden.

Einige Load Balancer bieten einen Mechanismus, um etwas Besonderes zu tun, falls nicht alle Backend-Server verfügbar sind. Dies kann das Weiterleiten an einen Backup-Load-Balancer oder das Anzeigen einer Meldung bezüglich des Ausfalls umfassen.

Es ist auch wichtig, dass der Load Balancer selbst nicht zu einem einzigen Fehlerpunkt wird. Normalerweise werden Load Balancer in Hochverfügbarkeitspaaren implementiert, die bei Bedarf auch Sitzungspersistenzdaten replizieren können. [5]

phuclv
quelle
Ja, aber Load Balancer sind nur dann keine Single Point of Failure, wenn sie eine andere Hochverfügbarkeitstechnik wie beispielsweise VRRP, Routing-Protokolle usw. verwenden. Andererseits sind VRRP oder IGP eher LAN-Lösungen. Nehmen wir also an, die WAN-Verbindung zum ISP-Boarder zum Rechenzentrum schlägt fehl. Das Unternehmen verfügt natürlich über ein Multi-WAN. Solange das Site-Gateway zu einer anderen WAN-Verbindung wechseln kann, ist dies in Ordnung, aber die Beibehaltung derselben IP-Adresse bleibt ein Problem. Falls DNS verfügbar ist, ist dies in Ordnung - mehrere A- oder AAAA-Rekodierungen sind abgeschlossen. Wenn es sich jedoch um einen DNS-Server selbst handelt, ist Anycast / BGP zwischen mehreren ISPs die einzige Lösung.
Lapsio
Ich bezog mich eher auf WAN-Hochverfügbarkeitslösungen nach dem Gateway. Wenn die gesamte Unternehmenswebsite aufgrund einer ISP-Katastrophe nicht von der Welt aus erreichbar ist. 8.8.8.8 kann nicht davon ausgehen, dass der ISP funktioniert. Sie können sich nicht auf ein einzelnes Unternehmen verlassen, wenn buchstäblich die ganze Welt auf Ihren Service
angewiesen ist