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


    原文:

    https://blog.csdn.net/ginkov/article/details/51803949

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

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

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

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

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

    总之,RIB 中:

    有所有通过动态路由协议学到了路由条目
    有所有的直连网络
    有另外配置的路由条目,如静态路由
    1
    2
    3
    理想状态下,我们应用 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 表的大小。
    ————————————————
    版权声明:本文为CSDN博主「ginkov」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ginkov/article/details/51803949

  • 相关阅读:
    SpringCloud : yml文件配置 获取系统环境变量的值
    SpringCloud : 多个 @FeignClient 注解 value 设置为同一个应用的解决方案
    SpringCloud : Feign 不捆绑远程应用名称, 实现服务应用名称传入,调用通用自动化
    SpringCloud : Feign 使用 FastJson 解析数据
    Mybatis中在log日志或控制台打印执行的sql
    iOS 基于 itemServices 进行本地安装 ipa 应用安装包
    MySQL5.5 数据热备份
    如何在 Fiddler Script 中 自定义 修改 Request 、 Response
    Dubbo 分布式 日志 追踪
    shell脚本并发执行
  • 原文地址:https://www.cnblogs.com/itfat/p/15698140.html
Copyright © 2020-2023  润新知