DNS Anycast – co to jest?

DNS Anycast to technika routingu sieciowego, w której wiele fizycznych serwerów rozmieszczonych w różnych lokalizacjach odpowiada pod tym samym adresem IP. Kiedy przeglądarka wysyła zapytanie DNS do tego adresu, routing internetowy kieruje je do najbliższego dostępnego węzła z punktu widzenia sieci, niekoniecznie do najbliższego geograficznie serwera.

Efekt praktyczny: użytkownik z Warszawy zwykle dostanie odpowiedź z europejskiego węzła DNS, a użytkownik z Tokio – z azjatyckiego. Obaj odpytują ten sam adres IP, ale faktycznie mogą trafić do różnych maszyn.

Jak działa DNS?

Zanim wyjaśnimy Anycast, krótkie tło: DNS (Domain Name System) to system zamieniający nazwy domenowe (np. weblymate.com) na adresy IP (np. 185.220.10.5). Każde żądanie strony internetowej zaczyna się od zapytania DNS – przeglądarka musi wiedzieć, pod jakim adresem IP szukać serwera.

Czas odpowiedzi DNS to jeden z elementów składających się na całkowity czas ładowania strony. W artykule o prefetchu, DNS prefetch i preconnect możesz przeczytać, jak przeglądarki próbują skrócić ten czas przez wcześniejsze rozwiązywanie nazw domen.

Unicast vs Anycast

W standardowym routingu (unicast) jeden adres IP odpowiada dokładnie jednej fizycznej maszynie. Zapytanie do tego adresu trafia zawsze do tej samej maszyny, bez względu na lokalizację pytającego.

W Anycast ten sam adres IP jest ogłoszony przez wiele węzłów jednocześnie w protokole BGP (Border Gateway Protocol). Internet “widzi” wiele ścieżek prowadzących do tego adresu i wybiera najkrótszą. “Najkrótsza” w kontekście BGP oznacza zwykle geograficznie bliższą lub siećowo bliższą (mniej przeskoków – hops).

Anycast nie gwarantuje bezwzględnie najmniejszego opóźnienia – zależy to od topologii sieci danego dostawcy i aktualnego ruchu. Zazwyczaj jednak wyraźnie skraca czas odpowiedzi DNS w porównaniu do pojedynczego serwera.

Zastosowania DNS Anycast

Infrastruktura DNS dostawców CDN i DNS – wielu dostawców DNS oraz CDN wykorzystuje Anycast w części swojej infrastruktury, żeby skrócić czas odpowiedzi i zwiększyć odporność na awarie. Cloudflare korzysta z Anycast m.in. przy swoim publicznym resolwerze 1.1.1.1 oraz usługach DNS dla domen. Google Public DNS działa pod adresami 8.8.8.8 i 8.8.4.4 i również korzysta z Anycast. Artykuł o CDN w WordPress opisuje, jak sieci CDN współpracują ze stroną WordPress.

Rozwiązywanie nazw domen (resolwery DNS) – publiczne serwery DNS jak 1.1.1.1 (Cloudflare), 8.8.8.8 (Google) czy 9.9.9.9 (Quad9) korzystają z Anycast. Dzięki temu te same adresy IP działają niezawodnie z każdego miejsca na świecie.

Ochrona DDoS – Anycast rozdziela ruch ataku między wiele węzłów zamiast kierować go w jedno miejsce. Atakujący, który wysyła ruch na jeden adres IP, w praktyce trafia w rozproszony klaster serwerów, co utrudnia przeciążenie całej usługi.

DNS Anycast a DNS Prefetch – czym się różnią?

Terminy brzmią podobnie, ale opisują zupełnie inne warstwy:

  • DNS Anycast – sposób zorganizowania infrastruktury serwerów DNS. Dotyczy tego, jak zapytania DNS są routowane między serwerami. Nie masz na to bezpośredniego wpływu jako właściciel strony – wybierając dostawcę DNS lub CDN, pośrednio korzystasz (lub nie) z Anycast.

  • DNS Prefetch – technika optymalizacji strony po stronie przeglądarki. Instruujesz przeglądarkę, żeby z wyprzedzeniem rozwiązała nazwy domen zewnętrznych zasobów (np. fontów, CDN), zanim będą potrzebne. Szczegóły opisuje artykuł o prefetch i DNS prefetch.

Oba mają wpływ na czas ładowania strony, ale na różnych poziomach: Anycast optymalizuje infrastrukturę serwerową, DNS Prefetch optymalizuje zachowanie przeglądarki.

Czy właściciel strony WordPress może skonfigurować DNS Anycast?

Nie bezpośrednio. Anycast wymaga własnej infrastruktury serwerowej i relacji BGP z dostawcami internetu – to infrastruktura na poziomie providerów CDN i dostawców DNS.

Pośrednio jednak:

  • Wybierając Cloudflare jako dostawcę DNS dla swojej domeny, automatycznie korzystasz z infrastruktury Anycast Cloudflare do rozwiązywania nazw.
  • Hostując stronę na CDN (Cloudflare, BunnyCDN, Fastly), Twoje zasoby statyczne są serwowane z węzłów Anycast tych dostawców.

Podsumowanie

DNS Anycast to technika, w której wiele serwerów DNS odpowiada pod jednym adresem IP, a ruch trafia do geograficznie najbliższego węzła. Skraca czas odpowiedzi DNS, jest używany przez resolwery publiczne (Cloudflare 1.1.1.1, Google 8.8.8.8) i sieci CDN. Nie mylić z DNS Prefetch – to technika po stronie przeglądarki, nie serwerowej.