Si les adresses IP publiques sont épinglées sur un seul AS, comment fonctionne BGP anycast?


11

Je crois comprendre que les blocs IP publics sont attribués à partir de l' IANA , qui attribue des sous-blocs aux RIR , qui attribue des sous-blocs aux FAI, qui attribue des sous-blocs aux AS individuels comme indiqué dans cette question: Comment les adresses IP sont-elles réellement attribuées?

Cela (et des ressources comme cette page ) semble impliquer un mappage de 1 IP publique à 1 AS.

Cependant, anycast semble fonctionner en annonçant la même adresse IP publique à partir de plusieurs emplacements, fournissant des chemins différents vers cette IP. Par exemple:

Si les IPS publiques sont censées se résoudre en un seul AS, comment fonctionne anycast?

  • Est-ce un hack par lequel vous faites semblant de faire du multi-homing / multi-pathing BGP et saisissez simplement le trafic lorsqu'il passe par un AS (comme cela semble être sous-entendu ici: /server//a/728609/148476 )?
  • Est-ce juste une exception à la "règle" de 1 IP par AS?
  • Ou peut-être que je manque juste quelque chose ...

2
Il n'y a pas non plus de règle stricte pour «1 AS par adresse» - il suffit de regarder 192.88.99.0/24 utilisé par 6to4. (Bien que cela devienne certainement problématique ...)
user1686

2
Avez-vous une référence pour l'affirmation selon laquelle les IP sont attribuées aux AS? Cela fait quelques années, mais je n'ai vu que des blocs d'adresses IP attribués aux organisations. (Les mappages auxquels vous faites référence vous indiquent probablement simplement quel (s) AS (s) font de la publicité pour un bloc particulier qui observe ce qui se passe réellement, pas l'attribution.)
David Schwartz

La façon dont les adresses sont attribuées à une entité n'a vraiment rien à voir avec la façon dont les itinéraires vers les adresses sont annoncés sur Internet. Il est possible que chaque FAI comprenant Internet puisse annoncer qu'il a une route vers un préfixe particulier, et il se peut que chacun d'eux ait appris une route vers un préfixe d'un autre FAI. Le routage n'est qu'un routeur qui dit à un autre qu'il sait comment transférer le trafic vers un réseau, et chaque routeur Internet pourrait légitimement croire qu'il en connaît un. Les routeurs recevant plusieurs itinéraires vers un réseau choisiront l'un de ces itinéraires à utiliser.
Ron Maupin

@DavidSchwartz nope aucune référence pour l'attribution IP à AS. Après avoir lu certaines de ces réponses et quelques autres articles, je ne pense pas que ce soit juste du tout, cela semblait juste être impliqué dans beaucoup de ressources (peut-être puisque c'est le cas le plus courant).
turtlemonvh

@RonMaupin Je comprends la séparation du routage et de l'attribution des blocs ip. Cependant, les annonces de route BGP comportent une section AS_PATH qui est utilisée pour les décisions de routage (voir: tools.ietf.org/html/rfc4271#section-4.3 ). Ma question porte vraiment sur le comportement lorsque ces annonces d'itinéraire sont faites à partir de nombreux AS et que chaque AS dit que c'est le seul AS sur le chemin, c'est-à-dire qu'ils ont un chemin direct vers l'adresse IP sans aucun routage externe supplémentaire.
turtlemonvh

Réponses:


5

Il n'est pas nécessaire que les adresses IP ou les routes Internet pour un préfixe proviennent d'un seul AS. Les ASN sont attribués aux organisations et les adresses sont également attribuées aux organisations. Les bureaux d'enregistrement comme ARIN ne lient pas mon allocation d'adresse à mon allocation ASN. Même dans de nouveaux systèmes comme l'infrastructure de clé publique de ressource, il permet toujours à plusieurs AS de créer une route vers un réseau. La page Team Cymru le dit dans la FAQ:

Dans certains cas, un préfixe de réseau sera annoncé par des réseaux ou des systèmes autonomes multiples mais disparates. La raison la plus probable à cela est ce que l'on appelle le "multihébergement". C'est parfaitement normal. Selon votre vision de la topologie Internet et des stratégies du réseau d'origine, l'un de ces réseaux d'origine sera le chemin préféré pour l'envoi et la réception de trafic avec le netblock en question.

Voici une (longue) liste de réseaux qui sont actuellement annoncés à partir de plusieurs AS.

Quant à la façon dont il arrive là où il va: les itinéraires sont sélectionnés à l'aide d'un algorithme de sélection de chemin BGP qui choisit un chemin en fonction des informations que chaque routeur que le trafic traverse connaît. Chaque routeur sur Internet a sa propre vue de la table de routage, de sorte que le trafic dans une partie d'Internet peut se retrouver à un endroit et dans un AS différents du trafic dans une autre partie d'Internet. Il n'y a même pas d'exigence pour que chaque paquet d'un flux aille au même endroit, ce qui peut évidemment rendre les choses intéressantes dans le cas de la diffusion ou du multihébergement.


Merci dk1. L'idée que le mappage IP public vers AS est 1: N et non 1: 1 était le point clé pour moi. Cet article était également utile: serverfault.com/questions/137257/… , tout comme des articles supplémentaires sur le peering AS, comme: umbrella.cisco.com/blog/blog/2013/01/10/… . Cet article OpenDNS montre également que leur AS est distribué mondialement.
turtlemonvh

11

Un AS ne doit pas nécessairement être contraint à un seul emplacement physique.

Lors de la diffusion, vous exécutez des routeurs dans de nombreux emplacements physiques, chacun scrutant avec différents FAI comme le même AS, annonçant un itinéraire vers les adresses IP anycast.

Du point de vue de BGP, ce n'est pas très différent de ce que vous feriez pour la redondance avec plusieurs FAI d'un AS sur un site; dans la situation "un site, plusieurs FAI", l'envoi d'un routeur "Je suis AS X, et j'ai la plage IP Y!" à plusieurs FAI; dans anycast, vous demandez simplement aux routeurs géographiquement disparates de tous annoncer leur propre "Je suis AS X, et j'ai la plage IP Y!" message à leurs propres FAI, réclamant votre AS et votre plage anycast et laissant BGP sélectionner le meilleur FAI auquel envoyer le trafic.

Les FAI ne connaissent pas de différence; Internet n'a aucun sens que les différents chemins disponibles ne mènent pas seulement au même site hautement redondant.


Ou en d'autres termes, Internet ne sait pas qu'il ne parle pas au même serveur via votre réseau secret de fibre souterraine de plusieurs milliards de dollars.
user253751

@immibis C'est une bonne façon de voir les choses, mais un petit coup d'œil: dans ce cas (routage vers un serveur central via votre propre réseau interne), nous ne serions techniquement plus soumis à la définition d'anycast, car la demande ne serait pas effectivement être manipulé dans les sites géographiquement disparates. Dans le cas que je décris, vous auriez des serveurs presque identiques sur chaque site, au lieu du réseau backend secret pour vous amener au bon serveur.
Shane Madden

Ce n'est pas une mince affaire, c'est le point. Il est parfaitement valable d'avoir un réseau privé entre des sites distincts. Et les protocoles de routage Internet ne peuvent pas faire la différence entre avoir un réseau privé et prétendre en avoir un et utiliser anycast à la place.
user253751

Il est certainement valide d'avoir un réseau privé entre les sites, je disais simplement que vous ne voudriez pas réellement déployer anycast de cette façon (même serveur), car il serait voué à l'échec. Mais je suis d'accord avec votre point: du point de vue d'Internet, ils auraient la même apparence.
Shane Madden

C'est une excellente réponse. Pouvez-vous ajouter des liens vers des documents sur les normes ou d'autres ressources externes pour montrer que ce que vous avez dit est vrai? (c'est-à-dire que anycast et multi-homing sont fondamentalement la même chose)
turtlemonvh

2

Cela (et des ressources comme cette page) semble impliquer un mappage de 1 IP publique à 1 AS.

Oui. C'est vrai.

Cependant, anycast semble fonctionner en annonçant la même adresse IP publique à partir de plusieurs emplacements,

Tout simplement en "faisant juste". Un AS est l'entité qui définit son propre routage au niveau international. Il peut connecter la même adresse IP à plusieurs emplacements - tant que le routage ne change pas au milieu d'une connexion, c'est correct.

Soyez juste ignorant pendant un moment (car ici l'ignorance fonctionne).

Si vous demandez IP x aux États-Unis, vous vous rendez dans un centre de données aux États-Unis conformément aux règles AS BGP. Si vous le faites en Australie, vous vous retrouvez dans un centre de données en Australie. Fini. Rien ne dit qu'une adresse IP ne peut pas être réutilisée tant que le routage est stable.

Ce n'est pas un hack BGP autant qu'une utilisation normale de BGP.


1
BGP n'utilise pas de divisions géopolitiques pour décider où envoyer un paquet, et il n'est pas vrai que les adresses appartiennent à un seul AS.
dk1

Vous mentionnez "tant que le routage ne change pas au milieu d'une connexion, c'est ok". Je pensais que de tels changements de routage étaient un problème connu dans les configurations anycast, et cela fait partie de la raison pour laquelle anycast est usu. réservé aux protocoles sans connexion comme udp? Voir: blog.cloudflare.com/…
turtlemonvh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.