路由表 (RIB) 与转发表 (FIB)

参见
http://aftabsiddiqui.com/index.php/ip-routing-table-rib-and-forwarding-table-fib/


路由表 (Routing Table, Routing Info Base) 和转发表 (Forwarding Info Base) 是两种不同的表。它们共享相同的信息,但是用于不同的目的。

路由表 (RIB) 与转发表 (FIB)_第1张图片

RIB 路由表

RIB 存储所有的路由信息。它与具体的路由协议无关。所有的路由协议都在这里保存它们的路由。只要路由器上运行的路由协议学到了新路由,就都会放到路由表中。

当目标地址不可达时,对应的路由条目先被标记为 Unreachable,然后就从 RIB 中删除。

注意:RIB 不是用来进行 IP 包转发的,也不会被宣告到网络中。

总之,RIB 中:

有所有通过动态路由协议学到了路由条目
有所有的直连网络
有另外配置的路由条目,如静态路由

理想状态下,我们应用 RIB 来转发 IP 包。但实际上,路由表中的一些条目,比如静态和 BGP 路由,它们的下一跳并不是一个直连的网络。

为了找到有效的下一跳,路由器必须进行递归查找,找到实际直连出口。

FIB 转发表

Forwarding Information Base 转发表 (FIB) 用于判断基于 IP 包的网络前缀,如何进行转发。

对于每一条可达的目标网络前缀,FIB 包含接口标识符和下一跳信息。 FIB 概念上类似于路由表。它维护一份 RIB 表中的转发信息镜像。

当 IP 路由从 RIB 拷贝到 FIB 时,它们的下一跳信息被明确地分析出来,包括下一跳的具体端口,以及如果到下一跳有多条路径时,每条路径的具体端口。

FIB 表中的条目数也是影响路由器性能的重要因素。通常来讲,FIB 条目越多,查找花费的时间越长。但由于基于 ASIC 芯片的转发技术日臻成熟,目前的查找转发几乎能达到线速。

了解路由器 FIB 最大条目数十分重要,但厂商一般不会在产品指标说明中提供 FIB 的大小限制。

路由器构建 FIB 需要一定的时间。它需要先接收路由信息包,建立路由表,选路,建立转发表并把转发表的适当的子集推送到一些线卡上,只减少路由器 CPU 到线卡的压力。

对于特别大的 FIB 整个过程会需要大约几分钟。如 RFC 3222 所提及。

这种 RIB 加 FIB 的结构,使用控制平面的 RIB 和转发平面的 FIB 分离。这种分离使路由器的性能更加有连续性。

因此,以后再衡量路由器或三层交换机时,一定要检查路由表和 FIB 表的大小。

你可能感兴趣的:(Network)