BGP“AS_SET”是如何使用的?

网络工程 路由 bgp 协议理论 射频卡
2021-07-27 17:47:26

RFC 1771 定义了AS_PATH的路径属性类型如下:

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

使用 AS_SEQUENCE 的 AS_PATH 类型对我来说非常有意义:您最终会得到一个 ASN 的反向列表,以获取特定前缀。

但是,我不知道在您和选择使用 AS_SET 的 AS_PATH 时会出现的前缀之间使用无序列表 ASN 的目的是什么。

上面的引用来自 UPDATE 消息格式,因此据推测,管理员可以选择向 BGP 对等方发送有序列表或无序列表。我的问题是,发送无序列表的目的是什么在什么情况下你最好发送一个无序列表而不是一个有序列表?

1个回答

我的问题是,发送无序列表的目的是什么?在什么情况下你最好发送一个无序列表而不是一个有序列表?

as-set通常用于聚合自治系统下游的路由;所以无序列表的用例是bgp 聚合

示例

在下面的示例中,AS65500 将来自 AS65000 和 AS65001 的 eBGP 公告聚合到 10.1.0.0/23。聚合AS65000和AS65001的公告后,AS65500发送NETWORK: 10.1.2.0/23 AS-PATH: 65500NETWORK: 10.1.0.0/23 AS-PATH: 65500 {65000, 65001}(聚合)。通常,AS 将在将较大地址块的一部分委托给客户时进行聚合。

当您为多个 ASN 聚合空间时,构建有序列表没有意义;例如,下面聚合的有序 AS-PATH 将是65500 [65000, 65001]65500 [65001, 65000]然而,这两个有序列表都是无意义的,因为排序与聚合无关(即两个自治系统都直接连接到 AS 65500)。排序意味着一个对聚合没有意义的序列。

无序列表(即数学集合)对 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     ,'
     `--.                 _.-'
         `--------------''