Wie wird BGP "AS_SET" verwendet?

11

RFC 1771 definiert einen Pfadattributtyp von AS_PATH wie folgt:

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

Die Verwendung eines AS_PATH-Typs von AS_SEQUENCE ist für mich absolut sinnvoll: Sie erhalten eine umgekehrte Liste der ASNs, die Sie kreuzen, um zu einem bestimmten Präfix zu gelangen.

Ich habe jedoch keine Ahnung, welchen Zweck es hat, eine ungeordnete Liste von Lieferavisen zwischen Ihnen und dem Präfix zu haben, das auftreten würde, wenn Sie ein AS_PATH von AS_SET verwenden würden.

Das obige Zitat stammt aus dem UPDATE-Nachrichtenformat. Vermutlich hat ein Administrator die Möglichkeit, eine geordnete oder eine ungeordnete Liste an BGP-Peers zu senden. Meine Frage ist dann, was wäre der Zweck, eine ungeordnete Liste zu senden ? In welchen Fällen ist es besser, eine ungeordnete Liste als eine geordnete Liste zu senden?

Eddie
quelle

Antworten:

12

Meine Frage ist dann, was wäre der Zweck, eine ungeordnete Liste zu senden? In welchen Fällen ist es besser, eine ungeordnete Liste als eine geordnete Liste zu senden?

as-setwird üblicherweise verwendet, wenn Routen stromabwärts eines autonomen Systems aggregiert werden; Der Anwendungsfall für eine ungeordnete Liste ist also die BGP-Aggregation .

BEISPIEL :

Im folgenden Beispiel aggregiert AS65500 die eBGP-Ankündigungen von AS65000 und AS65001 in 10.1.0.0/23. Nach dem Aggregieren der Ansagen von AS65000 und AS65001 sendet AS65500 NETWORK: 10.1.2.0/23 AS-PATH: 65500und NETWORK: 10.1.0.0/23 AS-PATH: 65500 {65000, 65001}(das Aggregat). In der Regel wird ein AS aggregiert, wenn er Teile eines größeren Adressblocks an Kunden delegiert hat.

Es ist nicht sinnvoll, eine geordnete Liste zu erstellen, wenn Sie Speicherplatz für mehrere Lieferavise zusammenfassen. Ein geordneter AS-PATH für das unten stehende Aggregat wäre beispielsweise entweder 65500 [65000, 65001]oder 65500 [65001, 65000]. Diese beiden geordneten Listen sind jedoch unsinnig, da die Reihenfolge für das Aggregat irrelevant ist (dh beide autonomen Systeme sind direkt mit AS 65500 verbunden). Die Reihenfolge impliziert eine Sequenz, die für das Aggregat bedeutungslos ist.

Ungeordnete Listen (dh mathematische Mengen ) sind für ein AS_SET am sinnvollsten.

          _.------------.
      ,-''               `--.
    ,'                       `.
   (         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
quelle