Anycast vs Unicast: co lepiej wybrać w każdym przypadku

Wiele osób prawdopodobnie słyszało o Anycast. W tej metodzie adresowania i routingu sieciowego pojedynczy adres IP jest przypisywany wielu serwerom w sieci. Serwery te mogą być nawet zlokalizowane w centrach danych oddalonych od siebie. Ideą Anycast jest to, że w zależności od lokalizacji źródła żądania dane przesyłane są do najbliższego (zgodnie z topologią sieci, a dokładniej protokołu routingu BGP) serwera. W ten sposób można zmniejszyć liczbę przeskoków sieciowych i opóźnień.

Zasadniczo ta sama trasa jest reklamowana w wielu centrach danych na całym świecie. Tym samym klienci będą kierowani do „najlepszych” i „najbliższych” bazujących na trasach BGP centrów danych. Dlaczego Anycast? Dlaczego warto używać Anycast zamiast Unicast?

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Unicast jest naprawdę odpowiedni dla witryny z jednym serwerem internetowym i umiarkowanym ruchem. Jeśli jednak usługa ma miliony subskrybentów, zwykle korzysta z wielu serwerów internetowych, każdy z tym samym adresem IP. Serwery te są rozmieszczone geograficznie, aby optymalnie obsługiwać żądania.

W tym scenariuszu Anycast poprawi wydajność (ruch jest przesyłany do użytkownika z minimalnym opóźnieniem), zapewni niezawodność usługi (dzięki serwerom zapasowym) i równoważenie obciążenia - routing do kilku serwerów skutecznie rozłoży obciążenie między nimi, poprawiając prędkość witryny.

Operatorzy oferują klientom różne rodzaje równoważenia obciążenia w oparciu o Anycast i DNS. Klienci mogą określić adresy IP, na które będą wysyłane żądania, w zależności od położenia geograficznego witryny. Umożliwia to bardziej elastyczną dystrybucję żądań użytkowników.

Załóżmy, że istnieje kilka witryn, pomiędzy którymi trzeba rozłożyć obciążenie (użytkowników), na przykład sklep internetowy ze 100 000 żądań dziennie lub popularny blog. Aby ograniczyć region, z którego użytkownicy uzyskują dostęp do określonej witryny, możesz skorzystać z opcji Społeczność Geo. Umożliwia ograniczenie regionu, w obrębie którego operator będzie reklamował trasę.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Anycast i Unicast: różnice

Anycast jest często używany w aplikacjach takich jak DNS (Domain Name System) i CDN (Content Delivery Networks), umożliwiając podejmowanie decyzji dotyczących routingu, które poprawiają wydajność sieci. Sieci dostarczania treści korzystają z Anycast, ponieważ radzą sobie z dużym natężeniem ruchu, a Anycast zapewnia w tym przypadku szereg korzyści (więcej o nich poniżej). W DNS Anycast pozwala znacznie zwiększyć poziom niezawodności i odporności na awarie usługi.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
W przypadku protokołu Anycast IP podczas korzystania z protokołu BGP istnieje wiele tras do określonego hosta. W rzeczywistości są to kopie hostów w wielu centrach danych, używane do ustanawiania połączeń o niższych opóźnieniach.

Zatem w sieci Anycast ten sam adres IP jest ogłaszany z różnych miejsc, a sieć decyduje, dokąd skierować żądanie użytkownika, na podstawie „kosztu” trasy. Na przykład protokół BGP jest często używany do określenia najkrótszej trasy transmisji danych. Kiedy użytkownik wysyła żądanie Anycast, protokół BGP określa najlepszą trasę dla dostępnych serwerów Anycast w sieci.

Korzyści z Anycast

Zmniejszenie opóźnień
Systemy z funkcją Anycast mogą zmniejszyć opóźnienia podczas przetwarzania żądań użytkowników, ponieważ umożliwiają odbieranie danych z najbliższego serwera. Oznacza to, że użytkownicy zawsze będą łączyć się z „najbliższym” (z punktu widzenia protokołu routingu) serwerem DNS. W rezultacie Anycast skraca czas interakcji, zmniejszając odległość sieciową między klientem a serwerem. To nie tylko zmniejsza opóźnienia, ale także zapewnia równoważenie obciążenia.

prędkość

Ponieważ ruch jest kierowany do najbliższego węzła, a opóźnienia między klientem a węzłem są zmniejszone, efektem jest zoptymalizowana prędkość dostarczania, niezależnie od tego, skąd klient żąda informacji.

Zwiększona stabilność i odporność na błędy

Jeśli kilka serwerów na całym świecie korzysta z tego samego adresu IP, wówczas w przypadku awarii jednego z serwerów lub jego rozłączenia, ruch zostanie przekierowany do najbliższego serwera. W rezultacie Anycast zwiększa odporność usługi i zapewnia lepszy dostęp do sieci/opóźnienie/szybkość. 

Dzięki temu, że na przykład wiele serwerów jest stale dostępnych dla użytkowników, Anycast poprawia stabilność DNS. Jeśli węzeł ulegnie awarii, żądania użytkowników zostaną przekierowane na inny serwer DNS bez konieczności ręcznej interwencji lub rekonfiguracji. Anycast zapewnia praktycznie przejrzyste przełączanie do innych witryn poprzez proste usunięcie tras problematycznej witryny. 

Równoważenie obciążenia

W Anycast ruch sieciowy jest rozdzielany na różne serwery. Oznacza to, że działa jako moduł równoważenia obciążenia, uniemożliwiając dowolnemu serwerowi odbieranie większości ruchu. Równoważenie obciążenia można zastosować na przykład wtedy, gdy wiele węzłów sieci znajduje się w tej samej odległości geograficznej od źródła żądania. W tym przypadku obciążenie rozkłada się pomiędzy węzły.

Zmniejsz wpływ ataków DoS 

Kolejną cechą Anycast jest odporność na ataki DDoS. Jest mało prawdopodobne, aby ataki DDoS spowodowały awarię systemu Anycast, ponieważ musiałyby przeciążyć wszystkie serwery w takiej sieci lawiną żądań. 

W atakach DDoS często wykorzystywane są botnety, które mogą generować tak duży ruch, że powoduje on przeciążenie atakowanego serwera. Zaletą korzystania z Anycast w tej sytuacji jest to, że każdy serwer jest w stanie „wchłonąć” część ataku, co zmniejsza obciążenie tego konkretnego serwera. Atak typu „odmowa usługi” najprawdopodobniej zostanie zlokalizowany na serwerze i nie będzie miał wpływu na całą usługę.

Wysoka skalowalność pozioma

Systemy Anycast doskonale nadają się do usług o dużym natężeniu ruchu. Jeśli usługa korzystająca z Anycast wymaga nowych serwerów do obsługi zwiększonego ruchu, do sieci można dodać nowe serwery, aby obsłużyć ten ruch. Można je umieszczać na nowych lub istniejących witrynach. 

Jeśli w określonej lokalizacji występuje duży wzrost ruchu, dodanie serwera pomoże zrównoważyć obciążenie tej witryny. Dodanie serwera w nowej lokalizacji pomoże skrócić czas oczekiwania, tworząc nową, najkrótszą trasę dla niektórych użytkowników. Obie metody pomagają również poprawić stabilność usługi w miarę pojawiania się nowych serwerów w sieci. W ten sposób, jeśli serwer jest przeciążony, można po prostu wdrożyć inny w lokalizacji, która pozwoli mu przyjąć część żądań przeciążonego serwera. Nie wymaga to żadnej konfiguracji ze strony klientów. 

Tylko w ten sposób można obsłużyć terabity ruchu i bardzo dużą liczbę użytkowników, gdy serwer ma tylko kilka portów 10 lub 25 Gb/s. 100 hostów z jednym adresem IP umożliwi obsługę terabitowego wolumenu ruchu.

Łatwe zarządzanie konfiguracją

Jak wspomniano powyżej, interesującym zastosowaniem Anycast jest DNS. Możesz umieścić kilka różnych serwerów DNS w węzłach sieci, ale użyj jednego adresu DNS. W zależności od tego, gdzie znajduje się źródło, żądania kierowane są do najbliższego węzła. Zapewnia to pewne równoważenie ruchu i redundancję w przypadku awarii serwera DNS. W ten sposób zamiast konfigurować różne serwery DNS w zależności od ich lokalizacji, konfigurację jednego serwera DNS można rozpropagować na wszystkie węzły.

Sieci Anycast można skonfigurować tak, aby kierowały żądania nie tylko na podstawie odległości, ale także na podstawie parametrów takich jak obecność serwera, liczba nawiązanych połączeń. lub czas reakcji.

Do korzystania z technologii Anycast nie są wymagane żadne specjalne serwery, sieci ani specjalne komponenty po stronie klienta. Ale Anycast ma również swoje wady. Uważa się, że jego realizacja jest zadaniem złożonym, wymagającym dodatkowego sprzętu, niezawodnych dostawców i odpowiedniego poprowadzenia ruchu.

Daleko od czystego źródła do piękna

Chociaż Anycast kieruje użytkowników na podstawie najmniejszej liczby przeskoków, niekoniecznie oznacza to najniższe opóźnienie. Opóźnienie jest bardziej złożoną miarą, ponieważ może być większe w przypadku jednego przejścia niż w przypadku dziesięciu.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Przykład: Komunikacja międzykontynentalna może obejmować pojedynczy przeskok z bardzo dużym opóźnieniem.

Anycast jest używany głównie w usługach opartych na UDP, takich jak DNS. Żądania użytkowników są kierowane do „najlepszego” i „najbliższego” centrum danych w oparciu o trasy BGP.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Przykład: Stacja robocza klienta DNS z adresem IP Anycast DNS 123.10.10.10 wykonuje rozpoznawanie DNS do najbliższego z trzech serwerów nazw DNS wdrożonych przy użyciu tego samego adresu IP Anycast. Jeśli router R1 lub serwer A ulegnie awarii, pakiety klienta DNS zostaną automatycznie przesłane do najbliższego serwera DNS za pośrednictwem routerów R2 i R3. Dodatkowo trasa do naszego serwera A zostanie usunięta z tablic routingu, uniemożliwiając dalsze korzystanie z tego serwera nazw.

Scenariusze wdrożeń

Istnieją dwa ogólne schematy używane do określenia, z którym serwerem łączy się użytkownik:

  • Warstwa sieciowa Anycast. Łączy użytkownika z najbliższym serwerem. Ważna jest tutaj ścieżka sieciowa od użytkownika do serwera.
  • Anycast na poziomie aplikacji. Ten schemat ma więcej obliczonych wskaźników, w tym dostępność serwera, czas odpowiedzi, liczbę połączeń itp. Zależy to od zewnętrznego monitora, który zapewnia statystyki sieci.

CDN oparty na Anycast

Wróćmy teraz do korzystania z Anycast w sieciach dostarczania treści. Anycast to z pewnością interesująca koncepcja sieciowa, która zyskuje coraz większą akceptację wśród dostawców CDN nowej generacji.

CDN to rozproszona sieć serwerów dostarczających treści użytkownikom końcowym z wysoką dostępnością i niskimi opóźnieniami. Sieci dostarczania treści odgrywają dziś ważną rolę jako szkielet wielu internetowych usług medialnych, a konsumenci są coraz mniej tolerancyjni wobec małych prędkości pobierania. Aplikacje wideo i głosowe są szczególnie wrażliwe na drgania i opóźnienia sieci.

CDN łączy wszystkie serwery w jedną sieć i zapewnia szybsze ładowanie treści. Czasem udaje się skrócić czas oczekiwania użytkownika o 5-6 sekund. Celem sieci CDN jest optymalizacja dostarczania poprzez udostępnianie treści z serwera znajdującego się najbliżej użytkownika końcowego. Jest to bardzo podobne do Anycast, gdzie najbliższy serwer jest wybierany na podstawie lokalizacji użytkownika końcowego. Wydawałoby się, że każdy dostawca usług CDN domyślnie korzystałby z Anycast, ale w rzeczywistości tak nie jest.

Aplikacje korzystające z protokołów takich jak HTTP/TCP polegają na nawiązaniu połączenia. Jeśli zostanie wybrany nowy węzeł Anycast (na przykład z powodu awarii serwera), usługa może zostać przerwana. Z tego powodu Anycast był wcześniej zalecany w przypadku usług bezpołączeniowych, takich jak UDP i DNS. Jednak Anycast działa również dobrze w przypadku protokołów zorientowanych na połączenie, na przykład TCP działa dobrze w trybie Anycast.

Niektórzy dostawcy CDN korzystają z routingu opartego na Anycast, inni wolą routing oparty na DNS: najbliższy serwer jest wybierany na podstawie lokalizacji serwera DNS użytkownika.

Infrastruktura hybrydowa i obejmująca wiele centrów danych to kolejny przykład wykorzystania Anycast. Adres IP Load Balancing otrzymany od dostawcy umożliwia rozłożenie obciążenia pomiędzy adresami IP różnych usług klienckich w centrum danych dostawcy. Dzięki technologii dowolnego urządzenia zapewnia lepszą wydajność przy dużym natężeniu ruchu, odporność na awarie i pomaga zoptymalizować czas reakcji w przypadku dużej liczby użytkowników.

W hybrydowych infrastrukturach obejmujących wiele centrów danych można dystrybuować ruch pomiędzy serwerami, a nawet maszynami wirtualnymi na serwerach dedykowanych.

Tym samym istnieje ogromny wybór rozwiązań technicznych dla infrastruktury budowlanej. Można także skonfigurować równoważenie obciążenia między adresami IP w wielu centrach danych, kierując reklamy na dowolne urządzenie w grupie w celu optymalizacji wydajności witryny.

Możesz dystrybuować ruch według własnych zasad, określając „wagę” każdego z rozproszonych serwerów w każdym centrum danych. Taka konfiguracja jest szczególnie przydatna, gdy park serwerów jest rozproszony, a wydajność usług jest nierówna. Umożliwi to częstszą dystrybucję ruchu w celu poprawy wydajności serwera.

Aby utworzyć system monitorowania za pomocą polecenia ping, istnieje możliwość skonfigurowania sond. Umożliwia to administratorowi zdefiniowanie własnych procedur monitorowania i uzyskanie wyraźniejszego obrazu stanu każdego komponentu infrastruktury. W ten sposób można zdefiniować kryteria dostępności.

Możliwe jest zbudowanie infrastruktury hybrydowej: czasami wygodnie jest zostawić back office w sieci korporacyjnej, a część interfejsu zlecić dostawcy.

Możliwe jest dodanie certyfikatów SSL w celu równoważenia obciążenia, szyfrowania przesyłanych danych i bezpieczeństwa komunikacji pomiędzy osobami odwiedzającymi witrynę a infrastrukturą korporacyjną. W przypadku równoważenia obciążenia pomiędzy centrami danych można również zastosować SSL.

Usługę anycast z równoważeniem obciążenia adresów można uzyskać od swojego dostawcy. Ta funkcja pomoże ulepszyć interakcję użytkowników z aplikacjami na podstawie lokalizacji. Wystarczy ogłosić, jakie usługi są dostępne w centrum danych, a ruch zostanie przekierowany do najbliższej infrastruktury. Jeżeli istnieją serwery dedykowane np. we Francji czy Ameryce Północnej to klienci będą kierowani do najbliższego serwera w sieci.

Jedną z możliwości wykorzystania Anycast jest optymalny wybór punktu obecności operatora (PoP). Dajmy przykład. LinkedIn (zablokowany w Rosji) stara się nie tylko poprawiać wydajność i szybkość swoich produktów – aplikacji mobilnych i internetowych, ale także ulepszać swoją infrastrukturę sieciową w celu szybszego dostarczania treści. Do dynamicznego dostarczania treści LinkedIn aktywnie wykorzystuje PoP – punkty obecności. Anycast służy do kierowania użytkowników do najbliższego PoP.

Powodem jest to, że w przypadku Unycast każdy LinkedIn PoP ma unikalny adres IP. Użytkownicy są następnie przydzielani do PoP na podstawie ich lokalizacji geograficznej za pomocą DNS. Problem w tym, że podczas korzystania z DNS około 30% użytkowników w Stanach Zjednoczonych zostało przekierowanych na nieoptymalny PoP. Dzięki etapowemu wdrażaniu Anycast suboptymalne przydzielanie PoP spadło z 31% do 10%.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Wyniki testu pilotażowego przedstawiono na wykresie, gdzie oś Y przedstawia procent optymalnego przypisania PoP. Wraz ze wzrostem Anycast wiele stanów USA odnotowało poprawę odsetka ruchu w kierunku optymalnego PoP.

Monitorowanie sieci Anycast

Sieci anycast są w teorii proste: wiele serwerów fizycznych ma przypisany ten sam adres IP, którego BGP używa do określenia trasy. Jednak wdrażanie i projektowanie platform Anycast jest złożone, a odporne na awarie sieci Anycast są z tego szczególnie znane. Jeszcze większym wyzwaniem jest skuteczne monitorowanie sieci Anycast w celu szybkiego identyfikowania i izolowania usterek.

Jeśli usługi korzystają z zewnętrznego dostawcy CDN do udostępniania swoich treści, bardzo ważne jest dla nich monitorowanie i weryfikacja wydajności sieci. Monitorowanie CDN oparte na technologii Anycast koncentruje się na pomiarze opóźnień od końca do końca i wydajności przedostatnich przeskoków, aby zrozumieć, które centrum danych obsługuje zawartość. Analizowanie nagłówków serwera HTTP to kolejny sposób na określenie, skąd pochodzą dane.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Przykład: nagłówki odpowiedzi HTTP wskazujące lokalizację serwera CDN.

Na przykład CloudFlare używa własnego nagłówka CF-Ray w wiadomościach odpowiedzi HTTP, które zawierają wskazanie centrum danych, do którego wysłano żądanie. W przypadku Zendesk nagłówek CF-Ray dla regionu Seattle to CF-RAY: 2a21675e65fd2a3d-SEA, a dla Amsterdamu jest to CF-RAY: 2a216896b93a0c71-AMS. Możesz także użyć nagłówków HTTP-X z odpowiedzi HTTP, aby określić, gdzie znajduje się treść.

Inne metody adresowania

Istnieją inne metody adresowania służące do kierowania żądań użytkowników do określonego punktu końcowego sieci:

Unicast

Większość współczesnego Internetu korzysta z tej metody. Unicast - transmisja unicast, adres IP jest powiązany tylko z jednym konkretnym węzłem w sieci. Nazywa się to dopasowaniem jeden do jednego. 

Multicast

Multicast wykorzystuje relację jeden do wielu lub wiele do wielu. Multicast umożliwia jednoczesne wysłanie żądania od nadawcy do różnych wybranych punktów końcowych. Daje to klientowi możliwość pobrania pliku w fragmentach z wielu hostów jednocześnie (co jest przydatne przy przesyłaniu strumieniowym audio lub wideo). Multicast jest często mylony z Anycast, jednak główna różnica polega na tym, że Anycast kieruje nadawcę do jednego konkretnego węzła, nawet jeśli dostępnych jest wiele węzłów.

Nadawanie

Datagram od jednego nadawcy jest przekazywany do wszystkich punktów końcowych powiązanych z adresem rozgłoszeniowym. Sieć automatycznie replikuje datagramy, aby móc dotrzeć do wszystkich odbiorców transmisji (zwykle w tej samej podsieci).

Geocast

Geocast jest nieco podobny do Multicast: żądania od nadawcy są wysyłane jednocześnie do wielu punktów końcowych. Różnica polega jednak na tym, że o adresacie decyduje jego położenie geograficzne. Jest to wyspecjalizowana forma multiemisji używana przez niektóre protokoły routingu w mobilnych sieciach ad hoc.

Router geograficzny oblicza swój obszar usług i przybliża go. Georoutery wymieniają obszary usług, budują tablice routingu. System georouter ma strukturę hierarchiczną.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Unicast, Multicast i Broadcast.

Korzystanie z technologii Anycast zwiększa poziom niezawodności, odporności na awarie i bezpieczeństwa DNS. Korzystając z tej technologii, operatorzy oferują swoim klientom usługi różnego rodzaju równoważenia obciążenia w oparciu o DNS. W panelu sterowania możesz określić adresy IP, na które będą wysyłane żądania w zależności od lokalizacji geograficznej. Dzięki temu klienci będą mogli bardziej elastycznie dystrybuować żądania użytkowników.

Niektórzy operatorzy wdrażają funkcje monitorowania tras w każdym punkcie obecności (POP): system automatycznie analizuje najkrótsze trasy lokalne i globalne pod kątem punktów obecności i wyznacza trasy przez lokalizacje geograficzne o najniższym opóźnieniu, bez przestojów.

W tej chwili Anycast jest najbardziej stabilnym i niezawodnym rozwiązaniem do budowania usług DNS o dużym obciążeniu, które mają wysokie wymagania dotyczące stabilności i niezawodności.

Domena .ru obsługuje 35 serwerów DNS Anycast, pogrupowanych w 20 węzłów, rozproszonych w pięciu chmurach Anycast. W tym przypadku stosowana jest zasada konstrukcji opartej na cechach geograficznych, tj. Geocast. Przy rozmieszczaniu węzłów DNS przewiduje się, że zostaną one przeniesione do rozproszonych geograficznie lokalizacji w pobliżu najaktywniejszych użytkowników, maksymalnej koncentracji rosyjskich dostawców w miejscu lokalizacji węzła, a także dostępności wolnych mocy i łatwości interakcja z witryną.

Jak zbudować CDN?

CDN to sieć serwerów przyspieszająca dostarczanie treści użytkownikom. Sieć dostarczania treści łączy wszystkie serwery w jedną sieć i zapewnia szybsze ładowanie treści. Odległość serwera od użytkownika odgrywa ważną rolę w szybkości ładowania.

CDN pozwala na korzystanie z serwerów znajdujących się najbliżej grupy docelowej. Skraca to czas oczekiwania i pomaga przyspieszyć ładowanie zawartości witryny dla wszystkich odwiedzających, co jest szczególnie istotne w przypadku witryn zawierających duże pliki lub usługi multimedialne. Typowe zastosowania CDN to handel elektroniczny i rozrywka.

Sieć dodatkowych serwerów stworzona w infrastrukturze CDN, które są zlokalizowane jak najbliżej użytkowników, przyczynia się do stabilniejszego i szybszego dostarczania danych. Według statystyk korzystanie z CDN zmniejsza opóźnienia podczas uzyskiwania dostępu do witryny o ponad 70% w porównaniu do witryn bez CDN.

jak utwórz CDN za pomocą DNS? Konfiguracja CDN przy użyciu własnego rozwiązania Anycast może być dość kosztownym projektem, ale istnieją tańsze opcje. Na przykład możesz używać GeoDNS i zwykłych serwerów z unikalnymi adresami IP. Korzystając z usług GeoDNS, możesz utworzyć sieć CDN z możliwością geolokalizacji, w której decyzje podejmowane są na podstawie rzeczywistej lokalizacji odwiedzającego, a nie lokalizacji modułu rozpoznawania nazw DNS. Możesz skonfigurować swoją strefę DNS tak, aby wyświetlała adresy IP serwerów w USA odwiedzającym z USA, ale odwiedzający z Europy będą widzieć europejski adres IP.

Dzięki GeoDNS możesz zwracać różne odpowiedzi DNS w zależności od adresu IP użytkownika. W tym celu serwer DNS jest skonfigurowany tak, aby zwracał różne adresy IP w zależności od źródłowego adresu IP w żądaniu. Zwykle do określenia regionu, z którego pochodzi żądanie, używana jest baza danych GeoIP. Geolokalizacja za pomocą DNS umożliwia wysyłanie treści do użytkowników z pobliskiej witryny.

GeoDNS określa adres IP klienta, który wysłał żądanie DNS, lub adres IP rekurencyjnego serwera DNS dostawcy, który jest używany podczas przetwarzania żądania klienta. Kraj/region jest określany na podstawie bazy danych IP i GeoIP klienta. Klient uzyskuje wówczas adres IP najbliższego serwera CDN. Możesz przeczytać więcej o konfigurowaniu GeoDNS tutaj.

Anycast czy GeoDNS?

Chociaż Anycast to świetny sposób na dostarczanie treści na skalę globalną, brakuje mu specyfiki. Tutaj na ratunek przychodzi GeoDNS. Ta usługa umożliwia tworzenie reguł wysyłających użytkowników do unikalnych punktów końcowych na podstawie ich lokalizacji.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku
Przykład: Użytkownicy z Europy są kierowani do innego punktu końcowego.

Możesz także odmówić dostępu do domen, odrzucając wszystkie żądania. Jest to w szczególności szybki sposób na odcięcie intruzów.

GeoDNS daje dokładniejsze odpowiedzi niż Anycast. Jeżeli w przypadku Anycast najkrótszą trasę wyznacza liczba przeskoków, to w GeoDNS routing dla użytkowników końcowych następuje w zależności od ich fizycznej lokalizacji. Zmniejsza to opóźnienia i poprawia dokładność podczas tworzenia szczegółowych reguł routingu.

Podczas nawigacji do domeny przeglądarka kontaktuje się z najbliższym serwerem DNS, który w zależności od domeny przydziela adres IP w celu załadowania witryny. Załóżmy, że sklep internetowy jest popularny w USA i Europie, ale serwery DNS dla niego są dostępne tylko w Europie. Wówczas użytkownicy z USA chcący skorzystać z usług sklepu będą zmuszeni wysłać zapytanie do najbliższego serwera, a ponieważ jest on bardzo daleko, na odpowiedź będą musieli długo czekać – strona nie będzie się szybko ładować.

Gdy serwer GeoDNS znajduje się w USA, użytkownicy będą już mieli do niego dostęp. Odpowiedź będzie szybka, co wpłynie na szybkość ładowania strony.

W sytuacji, gdy w Stanach Zjednoczonych istnieje serwer DNS, gdy użytkownik ze Stanów Zjednoczonych przejdzie do danej domeny, skontaktuje się z najbliższym serwerem, który udostępni wymagane IP. Użytkownik zostanie przekierowany do serwera zawierającego treść witryny, jednak ponieważ serwery z treścią są daleko, nie otrzyma jej szybko.

Jeśli hostujesz serwery CDN w USA z danymi w pamięci podręcznej, po załadowaniu przeglądarka klienta wyśle ​​żądanie do najbliższego serwera DNS, który odeśle wymagany adres IP. Przeglądarka z otrzymanym adresem IP kontaktuje się z najbliższym serwerem CDN i serwerem głównym, a serwer CDN udostępnia przeglądarce zawartość buforowaną. Podczas ładowania zawartości z pamięci podręcznej z głównego serwera odbierane są pliki brakujące do załadowania całej witryny. W rezultacie czas ładowania witryny ulega skróceniu, ponieważ z głównego serwera wysyłanych jest znacznie mniej plików.

Określenie dokładnej lokalizacji konkretnego adresu IP nie zawsze jest łatwym zadaniem: na grę wpływa wiele czynników, a właściciele zakresu adresów IP mogą zdecydować się na zareklamowanie go na drugim końcu świata (wtedy trzeba będzie poczekaj na aktualizację bazy danych, aby uzyskać poprawną lokalizację). Czasami dostawcy VPS przypisują adresy rzekomo zlokalizowane w USA VPS w Singapurze.

W przeciwieństwie do adresów Anycast, dystrybucja odbywa się podczas rozpoznawania nazw, a nie podczas łączenia się z serwerem buforującym. Jeśli serwer rekurencyjny nie obsługuje podsieci klientów EDNS, używana jest lokalizacja tego serwera rekurencyjnego, a nie użytkownik, który połączy się z serwerem buforującym.

Podsieci klienta w DNS to rozszerzenie DNS (RFC7871), które definiuje, w jaki sposób rekurencyjne serwery DNS mogą wysyłać informacje o kliencie do serwera DNS, w szczególności informacje o sieci, których serwer GeoDNS może użyć do dokładniejszego określenia lokalizacji klienta.

Większość korzysta z serwerów DNS swojego dostawcy usług internetowych lub serwerów DNS, które są blisko niego geograficznie, ale jeśli ktoś w USA z jakiegoś powodu zdecyduje się skorzystać z narzędzia do rozpoznawania nazw DNS zlokalizowanego w Australii, prawdopodobnie otrzyma adres serwera IP najbliższy Australii.

Jeśli chcesz korzystać z GeoDNS, ważne jest, aby znać te funkcje, ponieważ w niektórych przypadkach może to zwiększyć odległość między serwerami buforującymi a klientem.

Podsumowanie: jeśli chcesz połączyć kilka VPS w CDN, najlepszą opcją wdrożenia jest użycie pakietu serwera DNS z gotową funkcją GeoDNS + Anycast.

Anycast vs Unicast: co lepiej wybrać w każdym przypadku

Źródło: www.habr.com

Dodaj komentarz