3.2. 路由信息库
3.2. 路由信息库 (Routing Information Base)
BGP 系统 (speaker) 内部的路由信息库 (Routing Information Base, RIB) 由三个不同部分组成:
a) Adj-RIBs-In: Adj-RIBs-In 存储从其他 BGP 系统接收的传入 (incoming) UPDATE 消息中学到的路由信息 (routing information). 其内容表示可作为决策过程 (Decision Process) 输入的路由 (route).
b) Loc-RIB: Loc-RIB 包含 BGP 系统通过将其本地策略 (local policy) 应用于 Adj-RIBs-In 中包含的路由信息而选择的本地路由信息. 这些是本地 BGP 系统 (local BGP speaker) 使用的路由. 每条此类路由的下一跳 (Next-Hop) MUST 可通过本地 BGP 系统的路由表 (Routing Table) 解析.
c) Adj-RIBs-Out: Adj-RIBs-Out 存储本地 BGP 系统已选择用于向其对等体 (peer) 通告的信息. 存储在 Adj-RIBs-Out 中的路由信息在本地 BGP 系统的 UPDATE 消息中携带, 并通告给其对等体.
概括而言: Adj-RIBs-In 包含由对等体向本地 BGP 系统通告的未处理路由信息; Loc-RIB 包含由本地 BGP 系统的决策过程选择的路由; Adj-RIBs-Out 组织将通告给特定对等体的路由 (通过本地系统的 UPDATE 消息).
虽然概念模型区分 Adj-RIBs-In, Loc-RIB 和 Adj-RIBs-Out, 但这既不暗示也不要求实现必须保留三份独立的路由信息副本. 实现的选择 (例如 3 份信息副本 vs. 1 份带指针的副本) 不受协议 (protocol) 限制.
BGP 系统用于转发数据包 (packet, 或构造用于数据包转发的转发表) 的路由信息在路由表中维护. 路由表累积到直连网络 (directly connected network) 的路由, 静态路由 (static route), 从 IGP 协议学到的路由, 以及从 BGP 学到的路由. 某条特定 BGP 路由是否应安装到路由表中, 以及某条 BGP 路由是否应覆盖另一来源安装的到同一目的地 (destination) 的路由, 是本地策略决策 (local policy decision), 本文档不作规定. 除实际数据包转发之外, 路由表还用于解析 BGP 更新中指定的下一跳地址 (见 5.1.3 节).