
当路由器收到一个数据包,需要立刻判断该从哪个接口转发、下一跳地址是什么,这个处理动作必须在微秒级完成。但路由信息从何而来?路由器又是如何得知去往特定网段应当选择哪条路径?
答案藏在两个核心概念里:RIB和FIB。二者分别归属控制平面与转发平面,分工清晰明确。
一、控制平面:路由的“决策大脑”控制平面负责运行各类路由协议,例如OSPF、BGP、IS-IS。这些协议通过和邻居路由器交换信息,计算出到达各个目标网段的最佳路径。
所有计算生成的路由条目,都存储在RIB(Routing Information Base,路由信息库)中。RIB包含多种来源的路由:直连路由、静态路由,以及动态协议学习到的路由。针对同一个目标网段,RIB可能存储多条路径,分别来自不同协议、拥有不同下一跳和不同度量值。
RIB是路由信息的“全集”,但并不直接参与数据包转发,它仅作为一个数据库,记录“有哪些路径可用”。
二、转发平面:数据包的“执行通道”转发平面负责完成实际的数据包处理工作。当数据包到达路由器,转发引擎需要快速查询转发表,确定转发接口。
这张被查询的表就是FIB(Forwarding Information Base,转发信息库)。FIB是从RIB中优选得到的结果:对于每个目标网段,仅保留一条最佳路由。FIB的结构经过高度优化,通常以ASIC、TCAM等硬件形式实现,支持线速转发。
简单来说:RIB是候选池,FIB是最终生效名单。控制平面负责“选路”,转发平面负责“执行”。

RIB中的多条路由,会经过路由优选算法(例如先比较管理距离,再比较度量值)选出最佳路径,这条路径会被下发到FIB,作为转发的依据。
当网络拓扑发生变化时,控制平面会重新计算RIB,优选结果变更后,FIB也会同步更新。这个过程需要消耗一定时间,路由收敛期间,数据包可能出现短暂丢失或走错路径的情况。
在分布式架构的路由器中,控制平面一般部署在主控板,FIB则会下发到各个线卡的转发芯片。由主控板负责“决策计算”,线卡负责“数据转发”。
排查路由故障时,运维人员除了查看RIB和FIB,有时还需要通过IP查询https://ipdatacloud.com/?utm-source=Lying&utm-keyword=?5544确认下一跳地址的实际归属和网络类型,辅助判断路径是否合理。
四、为什么要把控制平面和转发平面分开分离设计带来三个核心优势。
一是提升性能。控制平面运行复杂协议,依赖CPU和内存资源,而转发平面必须支持线速处理,不能受协议计算过程干扰。分离后,转发芯片可以专注完成查表转发工作,不受控制平面的波动影响。
二是增强冗余可靠性。控制平面发生故障时,FIB仍然保留在转发芯片中,数据包可以按照原有路径正常转发,业务不会中断,为协议重启争取了时间。
三是提升架构灵活性。控制平面可以独立完成升级、调试,不会影响转发业务。SDN架构进一步将控制平面抽离到集中控制器,转发设备仅保留FIB,实现了集中式管控。

可以把路由器想象成快递分拣中心:控制平面是调度室,根据交通状况、路线优先级制定分拣规则;RIB是调度室中的路线台账,记录所有可行路线;FIB是分拣线上的扫描枪,每个包裹经过扫描就能立刻确定对应的分拣格口。调度室可以从容优化路线方案,但分拣线必须持续高速运转,不能中断。
六、结语RIB和FIB,一个负责路由决策,一个负责报文转发。理解二者的区别,是掌握路由器工作原理的基础。排查路由问题时,先检查RIB中是否存在正确路由,再确认FIB中是否成功下发,这个排查顺序正好符合从控制平面到转发平面的逻辑。












