W jaki sposób 8.8.8.8 jest utrzymywane * zawsze * przy życiu?


9

Wiem, jak możesz zarządzać redundancją centrum danych, jeśli istnieje działający serwer DNS, który może wskazywać dowolną działającą witrynę Twojej firmy - istnieje VRRP, wiele WAN itp. Ale jak same serwery DNS są utrzymywane online? Po raz pierwszy trafia, gdy ktoś łączy się z usługą, i nie można go tak naprawdę zapewnić. Mam na myśli na przykład 8.8.8.8lub 8.8.4.4. Nie przypominam sobie, żeby upadali. Zawsze. W jaki sposób dostawcy usług internetowych utrzymują takie adresy IP zawsze w trybie online?

Wiem, że to prawdopodobnie bardzo szerokie pytanie, ale chciałbym usłyszeć tylko nazwy protokołów / technik, które można do tego wykorzystać. Mogę przeczytać szczegółowe informacje na ich temat.


3
Czytaj dalej na Anycast. Krótko mówiąc: istnieje wiele hostów o tym samym adresie IP. Tak działają CloudFlare, Google, YouTube i inne duże sieci.
GiantTree

google.com i cloudflare mają wiele adresów IP. Różne adresy IP są zwracane w zapytaniu DNS w zależności od lokalizacji itp. Ale 8.8.8.8 to tak naprawdę pojedynczy adres IP. I nie może używać „wielu rekordów A” ani innych nadmiarowości opartych na DNS, ponieważ jest to sam DNS. Czy możesz mieć wiele witryn / hostów pod jednym adresem IP? Używają czegoś takiego jak multi ISP BGP?
Lapsio

2
To Anycast, jak napisał GiantTree. Anycast nie wymaga DNS.
Daniel B,

IPv4 natywnie nie obsługuje anycast. Według wikipedii wydaje się, że jest to realizowane przy użyciu BGP, jeśli dobrze to rozumiem. en.wikipedia.org/wiki/Anycast
Lapsio

W przypadku usług datagramowych nie jest wymagane specjalne wsparcie dla anycast - dzieje się tak po prostu w wyniku tego, że każdy router wykonuje własne obliczenia trasy najkrótszej ścieżki. BGP również nie „natywnie” obsługuje anycastu (traktuje je jako trasy emisji pojedynczej), a jednak jest to powszechny sposób na robienie tego w Internecie.
user1686

Odpowiedzi:


10

Przede wszystkim VRRP w żaden sposób nie zależy od DNS. Aby uzyskać nadmiarowość w ramach jednej witryny, możesz dobrze uruchomić serwery DNS na wspólnym adresie VRRP.

Ale jak wspomnieli inni w komentarzach, usługi wykorzystują także routing anycast , co zasadniczo oznacza, że ​​ten sam adres IP istnieje w wielu miejscach na całym świecie. Gdy cała witryna ulega awarii, trasy na całym świecie są ponownie obliczane, aby Twoje pakiety trafiły do ​​innej działającej witryny.

Lepszym przykładem niż publicznego DNS Google będzie się korzeń serwerów DNS - te, które służą .wskaźniki stref i przytrzymaj, aby com, org, eu, i tak dalej - bo oni mają mapę każdej instancji 13 adresów logicznych. „L” ICANN jest obsługiwany przez 160 różnych stron!

Zauważ, że anycast nie ma nic wspólnego z round-robins opartymi na DNS (gdzie ta sama nazwa ma wiele adresów). Anycast odbywa się w zasadzie poprzez okłamywanie protokołu routingu.


Internet używa BGP do wymiany informacji o routingu między organizacjami.

BGP z natury wspiera wybieranie najlepszych spośród kilku tras do tej samej sieci, w oparciu o różne kryteria. Na przykład ten sam klient może mieć nadmiarowe łącza zwrotne do tego samego usługodawcy internetowego (ogłaszając dwie trasy różniące się tylko wagą / preferencjami). Lub klient może mieć łącza zwrotne za pośrednictwem kilku dostawców usług internetowych i wszyscy wybiorą preferowaną trasę (głównie najkrótszą ścieżkę AS) - na tym polega istota „prawdziwej” sieci WAN.

Multihoming

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

Jednak BGP prowadzi tylko ruch do twoich drzwi wejściowych, ale nie dba o to, co stanie się dalej. Jeśli więc wewnętrznie skonfigurujesz obie trasy w kierunku tego samego serwera, uzyskasz multihoming. Ale jeśli każde „wejście” prowadzi do innego serwera (skonfigurowanego dla tego samego adresu IP), otrzymasz anycast.

Anycast... kind of?

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

Co ważne, oznacza to również, że BGP nie dba o to, czy AS w ogóle nie jest sąsiadujący. Aby uzyskać ogólnoświatową redundancję, wystarczy ogłosić tę samą sieć z wielu fizycznych lokalizacji - jeśli połączysz te lokalizacje razem (tak, aby kierowały tę sieć do jednego miejsca), otrzymujesz multihoming; jeśli są wyspami, otrzymasz anycast.

Anycast

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

(W tym przypadku nie musi to być nawet ten sam AS - np. Przekaźniki 6to4 są obsługiwane przez wiele niezależnych organizacji, z których każda ogłasza własną drogę do 192.88.99.0/24.)

Ostrzeżenia:

  • Anycast zapewnia nadmiarowość, ale nie zapewnia równoważenia obciążenia. Gdy BGP zbiegnie się, każdy router wybierze jedną preferowaną trasę (lub czasami kilka) i będzie ją kontynuować, dopóki sieć się nie zmieni.

  • Nie można jednak przewidzieć, jak długo trasy pozostaną stabilne, więc anycastowanie usług stanowych może być trudne. DNS unika go, ponieważ jest bezstanowy i używa głównie UDP (EDNS zmniejszył potrzebę połączeń TCP).

  • Musi istnieć koordynacja między rzeczywistą usługą a routerem BGP, aby trasa została wycofana w przypadku awarii usługi.

Zobacz także „Historia 4.2.2.2. Jaka jest ta historia?” na liście mailingowej NANOG: post 1 , post 2 .


„Jak zaakceptować odpowiedź w mniej niż 60 sekund za pomocą tej jednej dziwnej sztuczki”
user1686

O jakich „wyspach” mówisz w poprzednim akapicie? Po prostu niepołączone strony?
Lapsio

Tak - części sieci, które nie są ze sobą połączone ani z resztą. (Chociaż jest to tylko przykład. Możliwe jest także wdrożenie wewnętrznej anycastu w jednej dużej, połączonej sieci - ponownie poprzez oszukanie protokołów routingu.)
user1686

0

Jednym ze sposobów osiągnięcia tego jest zastosowanie równoważenia po stronie serwera . Gdy połączysz się z bramą o adresie IP 8.8.8.8, przekaże ona żądanie do jednego wolnego serwera w systemie. W rezultacie, gdy jeden serwer umiera, nie powoduje to awarii całego systemu.

W przypadku usług internetowych moduł równoważenia obciążenia po stronie serwera to zwykle program, który nasłuchuje na porcie, na którym klienci zewnętrzni łączą się z usługami dostępu. Moduł równoważenia obciążenia przekazuje żądania do jednego z serwerów „zaplecza”, który zwykle odpowiada na moduł równoważenia obciążenia. Dzięki temu moduł równoważenia obciążenia może odpowiedzieć klientowi bez wiedzy klienta o wewnętrznym rozdzieleniu funkcji. Zapobiega również bezpośredniemu kontaktowaniu się klientów z serwerami zaplecza, co może mieć zalety w zakresie bezpieczeństwa, ukrywając strukturę sieci wewnętrznej i zapobiegając atakom na stos sieciowy jądra lub niepowiązane usługi działające na innych portach.

Niektóre moduły równoważenia obciążenia zapewniają mechanizm robienia czegoś specjalnego w przypadku, gdy wszystkie serwery zaplecza są niedostępne. Może to obejmować przekazywanie do zapasowego modułu równoważenia obciążenia lub wyświetlanie komunikatu dotyczącego awarii.

Ważne jest również, aby sam moduł równoważenia obciążenia nie stał się pojedynczym punktem awarii. Zazwyczaj moduły równoważące obciążenie są implementowane w parach o wysokiej dostępności, które mogą również replikować dane dotyczące trwałości sesji, jeśli jest to wymagane przez określoną aplikację. [5]


Tak, ale usługi równoważenia obciążenia nie są pojedynczym punktem awarii tylko wtedy, gdy używają innych technik wysokiej dostępności, takich jak na przykład VRRP, protokoły routingu itp. Ale znowu VRRP lub IGP są raczej rozwiązaniami LAN. Mam na myśli, powiedzmy, że połączenie WAN internatora ISP z centrum danych nie działa. Firma ma oczywiście wiele sieci WAN, więc dopóki brama witryny może przełączyć się na inne łącze WAN, jest w porządku, ale utrzymywanie tego samego adresu IP pozostaje problemem. W przypadku dostępności DNS jest w porządku - wielokrotne przekodowanie A lub AAAA jest zakończone. Ale gdy jest to sam serwer DNS, wówczas jedynym rozwiązaniem jest anycast / BGP między wieloma dostawcami usług internetowych.
Lapsio

Mówiłem raczej o rozwiązaniach wysokiej dostępności WAN po bramie. Gdy cała witryna firmy jest niedostępna ze świata z powodu katastrofy ISP. 8.8.8.8 nie może zakładać, że dostawca usług internetowych będzie działał. Nie możesz polegać na jednej firmie, gdy dosłownie cały świat polega na twoich usługach
Lapsio
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.