从 RIB/FIB 到 MQC:深度拆解高性能路由器的转发灵魂与控制策略
开篇
- 本文聚焦 RIB 与 FIB 的分离架构,梳理了 IGP/EGP 协议分类及路由策略 (Route-Policy) 与策略路由 (PBR) 的核心差异,构建完整的网络转发思维导图。
DV & LS & PV
- DV:Distance Vector(距离矢量),代表协议 RIP,靠邻居指路、传跳数(Hop),旧版遗留协议。
- LS:Link State(链路状态),代表协议 OSPF/IS-IS,靠全网拓扑、传链路状态(LSA),运行 SPF 算法。
- PV:Path Vector(路径矢量),代表协议 BGP,靠路径属性(AS-Path)防环、传路径轨迹,唯一 EGP 协议。
FIB & RIB
-
RIB 和 FIB 都位于路由器内部
-
RIB (路由表):存在于路由器的主控板/CPU/内存中。它负责“思考”,通过跑 OSPF、BGP 协议来算路,选出最优路径。
-
FIB (转发库):被推送到路由器的接口板/硬件芯片 (ASIC/NP) / 内核缓存中。它负责“干活”,数据包进来后,直接查硬件里的 FIB 瞬间转发。
-
RIB运行在控制面,用于路由计算选择
-
FIB运行在转发面,用于消息包的转发
-
RIB:Routing Information Board / Table,路由表。运行在控制面 (Control Plane)。
- 来源:由各种路由协议 (OSPF, BGP, RIP) 和静态路由共同汇总而成。
- 任务:存储所有的路由条目,并根据优先级和开销选出最优路径 (Best Route)。
- 特点:它是全量的、复杂的,就像是一本厚厚的全国地图索引,不负责直接搬运数据。
-
FIB:Forwarding Information Base,转发信息库。运行在转发面 (Data Plane / Hardware)。
- 来源:由 RIB 生成,并将最优路径下刷 (Push) 到线卡硬件或内核。
- 任务:直接指导数据包的硬件转发。当包进入接口时,CPU 或 ASIC 芯片直接查 FIB 决定从哪个口丢出去。
- 特点:它是精简的、扁平化的,追求极致的查找速度。即使 RIB 挂了,FIB 在短时间内依然能根据最后的映射关系完成物理转发。
IGP & EGP
| 协议名称 | 协议分类 | 运行层级 | 传输协议 | 适用规模 |
|---|---|---|---|---|
| RIP | IGP (内部) | 应用层 | UDP 520 | 小型 (15跳限制) |
| OSPF | IGP (内部) | 网络层 | IP 89 | 中大型 (区域划分) |
| IS-IS | IGP (内部) | 数据链路层 | 直接封装在二层 | 极大型 (运营商骨干) |
| BGP | EGP (外部) | 应用层 | TCP 179 | 互联网级 (全球 AS 间) |
- IGP (Interior Gateway Protocol):包含 OSPF、IS-IS、RIP。运行于 局域网 / AS 自治系统之间。核心任务是自动探测拓扑并寻找最短路径,侧重于收敛速度与内部信息的完全同步。
- EGP (Exterior Gateway Protocol):包含 BGP (目前唯一协议)。运行于 广域网 / AS 自治系统之间。核心任务是进行路径外交与策略选路,侧重于路由的可控性、稳定性和跨国/跨运营商的流量调度。
路由选择策略 & 包转发策略
| 维度 | 路由选择策略 (Selection) | 包分发策略 (Distribution) |
|---|---|---|
| 核心组件 | Filter-Policy / Route-Policy | ACL / PBR (策略路由) |
| 操作对象 | 路由信息 (Routing Updates) | 业务数据包 (Data Packets) |
| 工作平面 | 控制面 (Control Plane) | 转发面 (Data Plane) |
| 主要任务 | 修改地图:决定哪些路准进路由表,或者改改路的 Cost 值(整改调优)。 | 指挥交通:不看路由表,直接根据 IP、协议或端口号强行指定包裹去向。 |
| 生效时刻 | 路由协议运行、生成路由表时。 | 数据包真正通过接口转发时。 |
Filter-Policy / Route-Policy
-
Filter-Policy (路由过滤):
-
核心功能:只有二元选择。基于 ACL 或 IP-Prefix 对路由进行 Pass(允许进/出路由表)或 Discard(丢弃/拦截)。
-
局限性:无法修改属性。它只能决定这条路由“存在”或“消失”,不能改变它的 Cost 值、Tag 或优先级。
-
应用场景:纯粹的路由黑名单/白名单过滤。
-
-
Route-Policy (路由策略):
-
核心功能:强大的“加工厂”。不仅包含 if-match(匹配条件),还包含 apply(执行动作)。
-
属性修改:除了 Pass/Discard,它可以修改路由的所有属性(如:OSPF 的 Cost、BGP 的 Local-Preference、AS-Path、Community 等)。
-
逻辑结构:支持多节点的 if-then-else 链式逻辑,灵活性远超 Filter-Policy。
-
ACL & PBR
- ACL (访问控制列表):
- 核心功能:流量安检员。仅负责识别流量并给出 Permit(允许通过)或 Deny(丢弃报文)的指令。
- 转发逻辑:ACL 本身不改变转发路径。被 Permit 的包依然按照目的地 IP 去查常规路由表 (RIB/FIB) 来转发。
- 应用场景:防火墙过滤、简单的数据包放行。
- PBR (策略路由):
- 核心功能:流量导航仪。它利用 ACL 识别出流量后,强制执行 next-hop(下一跳)或 output-interface(出接口)的重定向。
- 转发逻辑:跳过路由表,可以指定包的路径
permit:匹配成功的包直接按 PBR 指定的路径走deny:只有匹配失败的包才会回去查 FIB 表
- 应用场景:多链路负载均衡(例如:192.168.1.0 网段强制走电信,其他走联通)。
路由器 - 控制面 (路由选择 - RIB路由计算, 然后刷新FIB)
路由器 - 转发面 (消息包转发 - FIB直接查表)
结语
- 网络架构博大精深,文中梳理难免有疏漏或片面之处。若有纰漏,恳请各位同行指正
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)