Jeśli publiczne adresy IP są przypięte do jednego systemu AS, jak działa anycast BGP?

11

Rozumiem, że publiczne bloki IP są przypisywane z IANA , która przypisuje podbloki RIR , która przypisuje podbloki ISP, która przypisuje podbloki poszczególnym AS, jak opisano w tym pytaniu: W jaki sposób adresy IP są faktycznie przypisywane?

Ta (i zasoby takie jak ta strona ) wydaje się sugerować mapowanie 1 publicznego adresu IP na 1 AS.

Wydaje się jednak, że anycast działa, reklamując ten sam publiczny adres IP z wielu lokalizacji, zapewniając różne ścieżki do tego adresu IP. Na przykład:

Jeśli publiczne IP mają być rozpoznawane jako pojedynczy AS, jak działa anycast?

  • Czy to hack, w którym udajesz, że robisz BGP multi-homing / multi-pathing i po prostu łapiesz ruch, gdy przechodzi on przez AS (jak się wydaje tutaj: /server//a/728609/148476 )?
  • Czy to tylko wyjątek od „reguły” 1 IP na AS?
  • A może po prostu coś mi brakuje ...
turtlemonvh
źródło
2
Nie ma też ścisłej zasady dla „1 AS na adres” - wystarczy spojrzeć na 192.88.99.0/24 używanego przez 6to4. (Chociaż na pewno staje się to problematyczne ...)
user1686
2
Czy masz odniesienie do twierdzenia, że ​​adresy IP są przypisane do AS? Minęło kilka lat, ale widziałem tylko bloki adresów IP przypisane organizacjom. (Odwołania, do których się odwołujesz, prawdopodobnie po prostu mówią ci, jakie AS (y) reklamują konkretny blok, który obserwuje to, co się faktycznie dzieje, a nie przypisuje).
David Schwartz
To, w jaki sposób adresy są przypisywane do jednostki, nie ma tak naprawdę nic wspólnego z reklamowaniem tras do adresów w Internecie. Możliwe, że każdy usługodawca internetowy składający się z Internetu może reklamować, że ma trasę do określonego prefiksu, i może być tak, że każdy z nich nauczył się trasy do prefiksu od innego usługodawcy internetowego. Routing to tylko jeden router, który mówi drugiemu, że wie, jak przekazywać ruch do sieci, i każdy router internetowy może słusznie wierzyć, że go zna. Routery odbierające wiele tras do sieci wybiorą jedną z tych tras.
Ron Maupin
@DavidSchwartz nie ma odniesienia do przypisania IP do AS. Po przeczytaniu niektórych z tych odpowiedzi i kilku innych artykułów wydaje mi się, że nie jest to wcale słuszne, po prostu wydawało się, że zawiera wiele zasobów (być może dlatego, że jest to najczęstszy przypadek).
turtlemonvh
@RonMaupin Rozumiem rozdzielenie routingu i przypisanie bloku ip. Jednak ogłoszenia trasy BGP zawierają sekcję AS_PATH, która służy do podejmowania decyzji o routingu (patrz: tools.ietf.org/html/rfc4271#section-4.3 ). Moje pytanie naprawdę dotyczy zachowania, gdy te ogłoszenia trasy są tworzone z wielu AS i każdy AS mówi, że jest to jedyny AS na ścieżce, tj. Mają one bezpośrednią ścieżkę do adresu IP bez dodatkowego zewnętrznego routingu.
turtlemonvh

Odpowiedzi:

5

Nie ma wymogu, aby adresy IP lub trasy internetowe dla prefiksu pochodziły z jednego AS. ASN są przypisane do organizacji, a adresy są również przypisane do organizacji. Rejestratorzy tacy jak ARIN nie łączą mojej alokacji adresu z alokacją ASN. Nawet w nowych systemach, takich jak infrastruktura klucza publicznego zasobów , nadal pozwala wielu systemom zewnętrznym na utworzenie trasy do sieci. Strona Team Cymru mówi to w często zadawanych pytaniach:

W niektórych przypadkach prefiks sieci zostanie ogłoszony przez wiele, ale odmiennych sieci lub systemów autonomicznych. Najbardziej prawdopodobną przyczyną tego jest coś takiego jak „multihoming”. To jest całkowicie normalne. W zależności od twojego widoku topologii Internetu i zasad sieci inicjującej, jedna z tych sieci inicjujących będzie preferowaną ścieżką do wysyłania i odbierania ruchu z danym blokiem sieci.

Oto (długa) lista sieci, które są obecnie reklamowane z wielu AS.

Co do tego, jak dociera do celu: Trasy są wybierane za pomocą algorytmu wyboru ścieżki BGP, który wybiera ścieżkę na podstawie informacji, o których wie każdy router, przez który przechodzi ruch. Każdy router w Internecie ma własny widok tabeli routingu, więc ruch w jednej części Internetu może skończyć się w innym miejscu i AS niż ruch w innej części Internetu. Nie ma nawet wymogu, aby każdy pakiet w przepływie znajdował się w tym samym miejscu, co oczywiście może uczynić rzeczy interesującymi w przypadku anycastingu lub multihomingu.

dk1
źródło
Dzięki dk1. Idea, że ​​publiczne mapowanie IP na AS to 1: N, a nie 1: 1, była dla mnie kluczowa. Ten artykuł był również pomocne: serverfault.com/questions/137257/... , podobnie jak innych artykułów na temat AS spoglądając, jak: umbrella.cisco.com/blog/blog/2013/01/10/... . Artykuł OpenDNS pokazuje również, że ich AS jest dystrybuowany globalnie.
turtlemonvh
11

AS nie musi być koniecznie ograniczony do jednej fizycznej lokalizacji.

Podczas anycastowania uruchamiasz routery w wielu fizycznych lokalizacjach, z których każdy korzysta z różnych dostawców usług internetowych jako tego samego AS, reklamując trasę do anycastowanych adresów IP.

Z punktu widzenia BGP nie jest strasznie odmienne od tego, co zrobiłbyś w celu nadmiarowości z wieloma dostawcami usług internetowych z AS w jednej witrynie; w sytuacji „jedna witryna, wielu dostawców usług internetowych” jeden router wysyła komunikat „Jestem AS X i mam zakres adresów IP Y!” do wielu dostawców usług internetowych; w anycast po prostu instruujesz geograficznie odmienne routery, aby wszystkie reklamowały swoje własne prawie identyczne „Jestem AS X i mam zakres adresów IP Y!” wiadomość do ich własnych dostawców usług internetowych, podając AS i zasięg anycast oraz umożliwiając BGP wybranie najlepszego dostawcy usług internetowych, do którego ma być wysyłany ruch.

Dostawcy usług internetowych nie znają niczego innego; Internet nie ma sensu, że różne dostępne ścieżki nie prowadzą tylko do tej samej wysoce redundantnej witryny.

Shane Madden
źródło
Innymi słowy, Internet nie wie, że nie rozmawia z tym samym serwerem za pośrednictwem tajnej podziemnej sieci światłowodowej o wartości wielu miliardów dolarów.
user253751
@immibis To dobry sposób, aby na to spojrzeć, ale jeden nitpick: w takim przypadku (routing z powrotem do jednego serwera centralnego za pośrednictwem własnej sieci wewnętrznej) technicznie nie podlegalibyśmy definicji anycast, ponieważ żądanie nie faktycznie obsługiwane w różnych lokalizacjach geograficznych. W przypadku, który opisuję, będziesz mieć prawie identyczne serwery w każdej witrynie, zamiast tajnej sieci zaplecza, aby dostać się na właściwy serwer.
Shane Madden
To nie jest dupek, o to chodzi. To jest całkowicie poprawne, aby mieć prywatną sieć między oddzielnymi stronami. A internetowe protokoły routingu nie potrafią odróżnić posiadania sieci prywatnej od tego, że udajesz, że masz taką sieć i używasz anycast.
user253751
Zdecydowanie ważne jest posiadanie prywatnej sieci między witrynami, mówiłem tylko, że nie chcesz faktycznie wdrażać anycastu w ten sposób (ten sam serwer), ponieważ byłoby to samo-porażką. Ale zgadzam się z twoim punktem widzenia: z perspektywy Internetu wyglądałyby tak samo.
Shane Madden
To świetna odpowiedź. Czy możesz dodać linki do dokumentów standardów lub innych zasobów zewnętrznych, aby pokazać, że to, co powiedziałeś, jest prawdą? (tzn. że anycast i multi-homing to w zasadzie to samo)
turtlemonvh
2

Ta (i zasoby takie jak ta strona) wydaje się sugerować mapowanie 1 publicznego adresu IP na 1 AS.

Tak. To prawda.

Wydaje się jednak, że anycast działa, reklamując ten sam publiczny adres IP z wielu lokalizacji,

Po prostu dokładnie „po prostu to robiąc”. AS to jednostka, która definiuje swój własny routing międzynarodowy. Może łączyć ten sam adres IP z wieloma lokalizacjami - tak długo, jak routing nie zmienia się w trakcie połączenia, jest w porządku.

Po prostu bądź przez chwilę ignorantem (ponieważ tutaj ignorancja działa).

Jeśli poprosisz o IP x w USA, idziesz do centrum danych w USA zgodnie z regułami AS BGP. Jeśli zrobisz to w Australii, trafisz do centrum danych w Australii. Skończone. Nic nie wskazuje na to, że adresu IP nie można ponownie użyć, JEŚLI TRASA JEST TRWAŁA.

To nie jest hack BGP, ale normalne użycie BGP.

TomTom
źródło
1
BGP nie używa podziałów geopolitycznych, aby zdecydować, gdzie wysłać pakiet, i nie jest prawdą, że adresy należą do jednego AS.
dk1
Wspominasz „dopóki routing nie zmienia się w trakcie połączenia, to jest w porządku”. Myślałem, że takie zmiany routingu są znanym problemem w konfiguracjach anycast, i to jest jeden z powodów, dla których anycast jest zwykle używany. zarezerwowane dla protokołów bezpołączeniowych, takich jak udp? Zobacz: blog.cloudflare.com/…
turtlemonvh