Comment BGP "AS_SET" est-il utilisé?

11

La RFC 1771 définit un type d'attribut de chemin AS_PATH comme suit:

AS_PATH (Type Code 2):

AS_PATH is a well-known mandatory attribute that is composed
of a sequence of AS path segments. Each AS path segment is
represented by a triple <path segment type, path segment
length, path segment value>.

The path segment type is a 1-octet long field with the
following values defined:

Value Segment Type
1 AS_SET:      unordered set of ASs a route in the
               UPDATE message has traversed
2 AS_SEQUENCE: ordered set of ASs a route in
               the UPDATE message has traversed

L'utilisation d'un type AS_PATH d'AS_SEQUENCE est parfaitement logique pour moi: vous vous retrouvez avec une liste inversée des ASN que vous croisez pour obtenir un préfixe particulier.

Cependant, je n'ai aucune idée de l'utilité d'avoir une liste non ordonnée d'ASN entre vous et le préfixe qui se produirait si vous choisissiez d'utiliser un AS_PATH d'AS_SET.

La citation ci-dessus provient du format de message UPDATE, donc vraisemblablement, un administrateur a la possibilité d'envoyer aux homologues BGP une liste ordonnée ou une liste non ordonnée. Ma question est alors: quel serait le but d'envoyer une liste non ordonnée ? Dans quels cas feriez-vous mieux d'envoyer une liste non ordonnée plutôt qu'une liste ordonnée?

Eddie
la source

Réponses:

12

Ma question est alors: quel serait le but d'envoyer une liste non ordonnée? Dans quels cas feriez-vous mieux d'envoyer une liste non ordonnée plutôt qu'une liste ordonnée?

as-setest couramment utilisé lors de l'agrégation de routes en aval d'un système autonome; le cas d'utilisation d'une liste non ordonnée est donc l'agrégation bgp .

EXEMPLE :

Dans l'exemple ci-dessous, AS65500 regroupe les annonces eBGP d'AS65000 et AS65001 dans 10.1.0.0/23. Après avoir agrégé les annonces de AS65000 et AS65001, AS65500 envoie NETWORK: 10.1.2.0/23 AS-PATH: 65500et NETWORK: 10.1.0.0/23 AS-PATH: 65500 {65000, 65001}(l'agrégat). En règle générale, un AS est agrégé lorsqu'il a délégué des parties d'un bloc d'adresses plus important aux clients.

Il n'est pas logique de créer une liste ordonnée lorsque vous agrégez de l'espace pour plusieurs ASN; par exemple, un AS-PATH ordonné pour l'agrégat ci-dessous serait soit 65500 [65000, 65001]ou 65500 [65001, 65000]. Cependant, ces deux listes ordonnées n'ont pas de sens, car la commande n'a pas d'importance pour l'agrégat (c'est-à-dire que les deux systèmes autonomes sont directement connectés à l'AS 65500). L'ordre implique une séquence qui n'a pas de sens pour l'agrégat.

Les listes non ordonnées (c'est-à-dire les ensembles mathématiques ) ont le plus de sens pour un AS_SET.

          _.------------.
      ,-''               `--.
    ,'                       `.
   (         AS65000           )
    `.       10.1.0.0/24     ,'
      `--.               _.-'
          `------------''
                    \          ------> NETWORK: 10.1.2.0/23   AS-PATH: 65500
                     \         ------> NETWORK: 10.1.0.0/23   AS-PATH: 65500 {65000, 65001}
           _.--------------.        router bgp 65500
       ,-''                 `--.     no sync
     ,'                         `.   no auto-summary
    (          AS65500             ) neighbor 10.1.0.2 remote-as 65000
     `.        10.1.2.0/23      ,'   neighbor 10.1.1.2 remote-as 65001
       --.                 _.-'      network 10.1.2.0 mask 255.255.254.0
           `--------------''         aggregate-add 10.1.0.0 255.255.254.0 summary-only as-set
                    /
                   /
          _.--------------.
      ,-''                 `--.
   ,'                         `.
  (           AS65001           )
   `.         10.1.1.0/24     ,'
     `--.                 _.-'
         `--------------''
Mike Pennington
la source