从 RouteViews 了解 RIB 和更新数据

网络工程 bgp
2021-07-26 09:42:00

有人可以从 RouteViews 向我介绍一些 RIB 数据吗?我无法理解如何理解它。我需要弄清楚的主要事情是 RIB 条目的哪一部分可用于找出广告的起源(例如,哪个 AS 起源了广告),尽管我仍然想了解所有其他字段的含义(两者都是用于 RIB 和更新)。

例如,这是一个 RIB 条目:

TIME: 06/30/17 18:00:09
TYPE: TABLE_DUMP_V2/IPV4_UNICAST
PREFIX: 198.45.50.0/24
SEQUENCE: 536126
FROM: 195.66.226.74 AS41695
ORIGINATED: 06/12/17 15:51:18
ORIGIN: IGP
ASPATH: 41695 174 174 3356 2906
NEXT_HOP: 195.66.226.74
AGGREGATOR: AS2906 198.45.50.1
COMMUNITY: 174:21000 174:22013 41695:1000 41695:1003 41695:1103

这是一个更新条目:

TIME: 01/27/11 21:05:54
TYPE: BGP4MP/MESSAGE/Update
FROM: 195.66.224.114 AS6667
TO: 195.66.225.222 AS6447
ORIGIN: IGP
ASPATH: 6667 3216 9198 29061 8511
NEXT_HOP: 195.66.224.205
MULTI_EXIT_DISC: 0
COMMUNITY: 6667:3001 6667:4004 6667:5209
ANNOUNCE
  195.38.180.0/24

我也很好奇为什么 RIB 条目和更新条目中的字段不同。

1个回答

我敢打赌你现在已经想通了,但我看到它仍然没有答案。(我会尽可能回答)。

问:“我需要弄清楚的主要事情是 RIB 条目的哪一部分可用于找出广告的来源(例如,哪个 AS 发起了广告),尽管我仍然想了解所有其他字段是什么意思是(对于 RIB 和更新)。”

A:格式有点混乱,但是原始AS实际上是AS_PATH字段中最右边的AS号。因此,始发 AS 是 2906。虽然不太可能,但应该注意没有安全机制来验证 BGP 公告,并且路径上的任何 AS 都可以修改公告。

(在 AS Path 的不同部分添加数字以更好地解释):

ASPATH:41695{3} 174{2} 174 3356 2906{1}

1:这是始发AS

2:在这里你可以看到一个叫做“AS Path Prepending”的东西。BGP 协议是一种基于路径成本的协议。因此,在此示例中,在此示例中,路径上的一些 AS 选择将此前缀表示为成本为 5,而不是我们人类可以看到的成本为 4,如果您不复制路径。AS 运营商可能会这样做的原因有很多,我不会在这里描述原因。

3:这是相邻的AS

我将解释其他一些领域:

“前缀:198.45.50.0/24”

这真的是 BGP 的核心。这是公告所通告的 IP 地址。我会以最简单的形式阅读此 BGP 公告,因为“AS 2906 想要通告前缀 198.45.50.0/24。如果您在 AS 41695 旁边,那么您的流量将必须遍历(从左到右阅读)现在)41695 174 174 3356 2906 到达此 IP 范围”。

“来自:195.66.226.74 AS41695”

这是将通知发送到您拥有的任何有利位置的 AS 和 IP 地址(也称为“对等点”)。因此,'From' 公告可以读作“AS41695 正在从它的 IP 195.66.226.74 传递这个前缀公告”

社区:174:21000 174:22013 41695:1000 41695:1003 41695:1103

BGP 社区字段基本上允许 AS 运营商在路由流量和确定策略方面进行更细粒度的控制。它是一个由“:”字符分割的 32 位字段。这些值在两个 AS 之间达成一致,因此如果 AS 不公开披露其含义,则很难知道每个 AS 的含义。作为一般规则,前 16 位代表发出通知的 AS,后 16 位代表某些信号或动作。因此,我们可以将“174:21000”读作“AS 174 请求操作‘21000’对此前缀发生”或“AS 174 用信号‘21000’标记此前缀”(无论它是什么操作/信号)。一些 AS 实际上确实发布了此信息。AT&T 有。

一般而言,我强烈建议您阅读 RFC 等 RFC 4271。尽管根据您的理解水平,它们可能会很密集,但它们拥有了解所有内容的大部分信息。https://www.rfc-editor.org/rfc/rfc4271#section-5.1