Anycast to technika sieciowa, w której ten sam prefiks IP jest reklamowany z wielu lokalizacji. Następnie sieć decyduje, do której lokalizacji kierować żądanie użytkownika, w oparciu o koszty protokołu routingu i ewentualnie „kondycję” serwerów reklamowych.
Anycast ma kilka zalet. Po pierwsze, w stanie ustalonym użytkownicy usługi anycast (DNS jest doskonałym przykładem) zawsze będą łączyć się z „najbliższym” (z punktu widzenia protokołu routingu) serwerem DNS. Zmniejsza to opóźnienia, a także zapewnia poziom równoważenia obciążenia (przy założeniu, że klienci są równomiernie rozmieszczeni w całej sieci).
Kolejną zaletą jest łatwość zarządzania konfiguracją. Zamiast konfigurować różne serwery DNS w zależności od miejsca wdrożenia serwera / stacji roboczej (Azja, Ameryka, Europa), masz jeden adres IP skonfigurowany w każdej lokalizacji.
W zależności od sposobu implementacji anycast może również zapewnić poziom wysokiej dostępności. Jeśli ogłoszenie trasy anycast jest uwarunkowane pewnego rodzaju sprawdzeniem kondycji (np. Zapytanie DNS dla dobrze znanej domeny, w tym przykładzie), to gdy tylko serwer zawiedzie, jego trasa może zostać usunięta. Po ponownym połączeniu sieci żądania użytkowników będą bezproblemowo przekazywane do następnej najbliższej instancji DNS, bez potrzeby jakiejkolwiek ręcznej interwencji lub rekonfiguracji.
Ostatnią zaletą jest skalowanie w poziomie; jeśli stwierdzisz, że jeden serwer jest przeciążony, po prostu zainstaluj inny w miejscu, które pozwoli mu przyjąć pewną część żądań przeciążonego serwera. Ponownie, ponieważ nie jest wymagana konfiguracja klienta, można to zrobić bardzo szybko.
Jedną z rzeczy, które często mylą mnie w rozumieniu „anycast” jest to, że chociaż jest to termin na wysokim poziomie, w praktycznej realizacji zwykle sprowadza się do dwóch przykładów:
Routery używające protokołu BGP do reklamowania tego samego bloku IP za pośrednictwem wielu ścieżek AS jako szorstki sposób przekierowywania użytkowników do „bliższej” strony. Jednocześnie zapewnia prawie przezroczyste przełączanie awaryjne na inne witryny, po prostu wycofując trasy z niespokojnej witryny. Może to być przydatne w prawie każdym protokole, choć oczywiście rodzi wiele problemów z synchronizacją danych zaplecza.
Reklama tego samego adresu IP usługi z wielu punktów we własnej sieci (poprzez routing statyczny , OSPF , EIGRP lub cokolwiek innego). Jeśli trasy są różnie ważone , działa to jako mechanizm przełączania awaryjnego. Jeśli trasy są równomiernie ważone , może skorzystać z możliwości równoważenia obciążenia na pakiet lub na przepływ w większości routerów znanych marek. Musisz uważać, aby protokół warstwy aplikacji był z tym wygodny, dlatego prawie zawsze słyszysz o tym w połączeniu z DNSgdzie żądanie jest zawsze jednym pakietem, a wszystko jest bezstanowe. Osobiście uważam to za hackerskie wtargnięcie obaw warstwy aplikacji do warstwy sieciowej, gdy połączenie DNS i odpowiednich mechanizmów równoważenia obciążenia prawie zawsze będzie lepszym rozwiązaniem.
źródło
Używany głównie do usług opartych na UDP, takich jak DNS. Zasadniczo ogłaszasz tę samą trasę z wielu centrów danych na całym świecie. W ten sposób klienci zostaną wysłani do „najlepszego” i „najbliższego” centrum danych w oparciu o trasy BGP. W cudzysłowie umieszczam słowa „najlepszy” i „najbliższy”, ponieważ dostawcy sieci mogą inaczej grać w gry i kierować ruchem z niektórych sieci. Ogólnie rzecz biorąc, wszystko działa dobrze z anycast, ale nie jest to gwarancją.
Przykładem może być lista serwerów DNS jako 1.2.3.4 i 1.2.3.5. Twoje routery ogłosiłyby trasę dla 1.2.3 / 24 z wielu centrów danych. Jeśli jesteś w Japonii i masz tam centrum danych, istnieje prawdopodobieństwo, że tam znajdziesz. Jeśli jesteś w USA, zostaniesz wysłany do centrum danych w USA. Ponownie opiera się na routingu BGP, a nie na faktycznym routingu geograficznym, ale zwykle tak się psuje.
źródło
Zgodnie z moją pierwotną odpowiedzią, właśnie opublikowałem dwa kolejne artykuły na moim blogu: Anycast DNS - część 3, Korzystanie z RIP i Anycast DNS - część 3, Korzystanie z RIP (ciąg dalszy). Ten ostatni zawiera więcej szczegółów, ale na stronie www.netlinxinc.com/netlinx-blog.html znajdziesz aktualne przepisy dotyczące konfiguracji routerów Cisco i opartego na hoście oprogramowania Open Source Quagga dla Anycast DNS przy użyciu protokołu RIP.
Obecnie pracuję nad napisaniem czwartego artykułu z serii. Zapewni to przepisy dotyczące wdrażania usługi Anycast DNS przy użyciu protokołu OSPF. Na koniec serii pokażę przepisy na wdrażanie Anycast DNS przy użyciu BGP.
Anycast DNS - część 1, przegląd
Anycast DNS - część 2, przy użyciu tras statycznych
Anycast DNS - Część 3, Korzystanie z RIP
Anycast DNS - Część 3, Korzystanie z RIP (ciąg dalszy)
źródło
Biorąc pod uwagę, że w tej chwili jest to głównie DNS ...
Nieformalnie sprawia, że twoja usługa jest bardziej odporna i ma lepszy dostęp do sieci / opóźnienie / szybkość, umożliwiając skonfigurowanie tej samej usługi w wielu lokalizacjach na całym świecie za pomocą tego samego adresu. Gdy ktoś pyta o ten adres, podaje najbliższą / najlepszą trasę.
Z perspektywy serwera:
Jeśli emisja pojedyncza jest skierowana do jednej osoby, a transmisja grupowa do kilku osób, a transmisja skierowana jest do wszystkich ludzi, to anycast jest schitzofreniczny i ma wiele osobowości, w których osobowość najlepiej dopasowana do każdej osoby łączy się z nimi. Hmm Nie najlepsza analogia.
źródło
Naprawdę interesującym zastosowaniem anycast jest DNS. Możesz umieścić 5 różnych serwerów DNS w różnych lokalizacjach fizycznych i sieciowych, ale współużytkować jeden (lub czasem zarówno główny, jak i dodatkowy adres DNS). W zależności od tego, gdzie znajduje się źródło, są one kierowane do ich najbliższego węzła. Zapewnia to równoważenie ruchu oraz zapewnia redundancję w przypadku śmierci serwera DNS.
źródło
Według jednego z moich kolegów jest również przydatny jako technika ograniczania ataków DoS, ponieważ ludzie mogą atakować tylko „najbliższy” anycastowy adres IP, więc jeśli jest dużo zombie w, powiedzmy, w USA, twoja strona Euro byłaby w większości bez wpływu, ponieważ w rzeczywistości nie mogą wysyłać do niego pakietów.
Może być również możliwe użycie go jako sposobu (nieco naiwnego) filtrowania sfałszowanych pakietów, jeśli oczywiście pochodzą one z miejsca, w którym prawdopodobnie nie będzie reklamowane w BGP jako poprawna trasa (np. Pakiety przychodzące do Europy, gdy ASN wskazuje na Amerykę Północną blok).
źródło
Warto również zauważyć, że Anycast nie jest dobry ani niezawodny w przypadku niektórych połączeń TCP, które nie mogą przetrwać resetu ani długiej rozmowy.
Anycast IP, używając BGP, informują internet, że istnieją 2, 3 lub więcej ścieżek do konkretnego HOSTA , jednak w rzeczywistości NIE są to ten sam host , są to dokładne repliki hostów reklamowanych w wielu centrach danych w celu uzyskania połączeń o niższych opóźnieniach.
Na przykład mam 3 serwery dokonujące przekierowania 301 poza www dla 198.251.86.133, jeśli pingujesz tego hosta, możesz czasami uzyskać DUPLIKATNE odpowiedzi, a nawet spada w zależności od tego, gdzie się znajdujesz, ponieważ moje serwery to US-East, US -Zachód i EUR. w przypadku połączeń o krótkim czasie (takich jak 301, które są buforowane w przeglądarce) daje to szybką odpowiedź lokalnego serwera w najbliższym centrum danych.
Z punktu widzenia redundancji nie ma wbudowanej anycast, nadal potrzebujesz niezależnej redundancji w każdej lokacji, ponieważ ten adres IP (w typowych scenariuszach) zawsze wskazuje na te centra danych.
źródło