RIB entry BGP属性如何根据RFC6396(MRT Routing Information Export Format)表示

网络工程 BGP 标准化
2022-02-11 00:19:28

RFC6396为 RIB-entry mrt-records 指定标头,如下所示

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer Index            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Originated Time                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      Attribute Length         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Attributes... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

但是文本解释(链接)没有指定 BGP 属性必须出现的方式和顺序。假设它们表示BGP-4 标准的路径属性。

要表示的 BGP 属性如何以及以何种顺序与 RFC6396(多线程路由工具包(MRT)路由信息导出格式)一致?

2个回答

事实证明,这些属性的编码方式与RFC4271(BGP-4)指定它们的方式相同。在之前的草案中,它甚至被明确说明,但它在最终版本中以某种方式被删除:

... BGP 路径属性长度和编码为 BGP 更新消息中提供的属性。

因此,每个路径属性都是<attribute type, attribute length, attribute value>可变长度的三元组,并且可以在相应的 RFC中读取其确切的布局/规范。

我猜它会从包含 2 字节路径属性部分的更新消息中获取该信息。