AS_PATH BGP 属性中的意外字节

网络工程 BGP 协议论
2022-02-17 15:09:25

我正在从几个 AS_PATHS 中解析出 ASN。我遇到的大多数属性看起来像这样:

[64, 1, 1, 0, 64, 2, 10, 2, 2, 0, 0, 23, 169, 0, 0, 50, 156, 64, 3, 4, 200, 40, 162, 202] 

在哪里:

64, 1, 1, 0, -> Type Code 1, ORIGIN: IGP

64, 2, 10, 2, 2, 0, 0, 23, 169, 0, 0, 50, 156, ->
    64 - Length of attribute length: 1 byte (5th bit is NOT flipped)
     2 - Type Code 2: AS_PATH
    10 - Attribute length: 10 bytes
     2 - AS_SEQUENCE (ASNs in this attribute are ordered)
     2 - Number of ASNs in the AS_PATH (2)
     0, 0, 23, 169 - ASN 1: 6057
     0, 0, 50, 156 - ASN 2: 12956

64, 3, 4, 200, 40, 162, 202 -> Type Code 3: NEXT HOP, 200.40.162.202

这一切都说得通。但是我遇到了这个 AS_PATH 属性字节流,我无法理解 AS_PATH:

[64, 2, 48, 2, 6, 0, 0, 18, 169, 0, 0, 27, 27, 0, 0, 81, 28, 0, 0, 34, 201, 0, 0, 34, 201, 0, 0, 34, 201, 2, 5, 0, 0, 164, 148, 0, 0, 221, 203, 0, 0, 221, 203, 0, 0, 221, 203, 0, 0, 221, 203]

跳过海峡到 AS_PATH 属性...

 64 - Length of attribute length: 1 byte (5th bit is NOT flipped)
  2 - Type Code 2: AS_PATH    
 48 - Attribute length: 48 bytes
  2 - AS_SEQUENCE (ASNs in this attribute are ordered)
  6 - Number of ASNs in the AS_PATH (6)
  0, 0, 18, 169 - ASN 1: 4777
  0, 0, 27, 27  - ASN 2: 6939
  0, 0, 81, 28  - ASN 3: 20764
  0, 0, 34, 201 - ASN 4: 8905
  0, 0, 34, 201 - ASN 4: 8905
  0, 0, 34, 201 - ASN 4: 8905
  2, 5,         - What is this??????
  0, 0, 164, 148 - ASN 5: 42132
  0, 0, 221, 203 - ASN 6: 56779
  0, 0, 221, 203 - ASN 6: 56779
  0, 0, 221, 203 - ASN 6: 56779
  0, 0, 221, 203 - ASN 6: 56779

我的问题是:

  1. 2,5AS_PATH 属性中的字节是什么?
  2. 为什么重复 ASN 4 和 6?

提前致谢。

1个回答

回答 #2:为什么重复 ASN 56779 和 ASN 8905。

AS 跃点数是决定流量采用哪条路径的关键因素。假设您正在运行具有 10-gig ISP 连接和 1-gig ISP 连接的双宿主企业。您希望大多数入口流量通过 10-gig 连接进入。实现这一目标的一种简单方法是在 1-gig 连接上“预先添加 AS 路径”(将您自己的 AS# 添加到 BGP 广告中)。这样,互联网通过您的 10-gig 连接看到更短的 AS 路径,并且流量以这种方式流动。但是,如果 10-gig 连接出现故障,则该路由将被删除,并且流量将通过备用 1-gig 连接重新路由。

当 AS-path 前置时,通常/推荐的做法是前置您自己的 AS#。所以 AS 56779 看起来有 3 个额外的前置,而 AS 8905 有 2 个额外的前置。

对问题 #1 的评论(不是答案):

这是您从 BGP 观察镜中的飓风电(AS6939,您的列表中的第 2 位)中的另一种路线:

route-server> show ip bgp 31.40.96.0/21 
BGP routing table entry for 31.40.96.0/21
Paths: (23 available, best #5, table Default-IP-Routing-Table)
  Not advertised to any peer
  20764 8905 8905 8905 42132 56779 56779 56779 56779
    216.218.252.174 from 216.218.252.174 (216.218.252.174)
      Origin IGP, metric 1, localpref 140, valid, internal
      Last update: Sun Mar  1 19:59:03 2020

(2,5) 在这里不显示。我的评论是 AS 数字曾经是 16 位,但大约十年前改为 32 位。我想知道 (2,5) 是否是 AS 517 "KPN Eurorings BV" 运行旧软件?只是一个猜测。

更新:查看 BGP 路径,我认为 AS 517 不在 AS8905 和 AS42132 之间。lg.rascom.ru 的镜子有一个很好的图形表示这条路径:

在此处输入图像描述

Router: msk-3v-cr1 
Command: show bgp ipv4 unicast 77.247.136.0/21
Wed Mar  4 10:19:11.256 MSK
BGP routing table entry for 77.247.136.0/21
Last Modified: Jan 10 12:01:16.515 for 7w4d
Paths: (1 available, best #1)
  8905 8905 8905 42132
    80.64.96.147 (metric 8) from 80.64.96.147 (80.64.96.147)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
      Received Path ID 0, Local Path ID 1, version 291944684
      Community: 8905:2001 20764:1201 20764:1502 20764:3002(Customer) 20764:3011(Moscow PoP) 20764:3021(Russian source)

您的 (2,5) “异常”在 AS8905 和 AS42132 之间,它们都归“Digit One LLC, RU”所有。