转发表(FIB)和路由表(RIB)是网络设备中两个核心的数据结构,主要区别如下:
1. 功能定位
路由表(RIB) | 转发表(FIB) |
---|
控制平面:负责路径决策, 通过路由协议(如OSPF、BGP)生成。 | 数据平面:负责实际转发, 基于路由表生成最优路径。 |
作用:回答“数据包应该走哪条路?” | 作用:回答“数据包从哪个接口发出去?” |
2. 内容结构
路由表 | 转发表 |
---|
包含所有可能的路径(如多条等价路由)。 | 仅保留最优路径条目。 |
字段:目的网络、下一跳IP、度量值、路由来源(静态/动态)。 | 字段:目的网络、出接口、下一跳MAC地址(或标签,如MPLS)。 |
示例: 10.0.0.0/24 via 192.168.1.1, cost 10 。 | 示例: 10.0.0.0/24 → eth0, MAC: 00:11:22:33:44:55 。 |
3. 存储与性能
路由表 | 转发表 |
---|
存储在内存中(由CPU处理),更新较慢。 | 存储在硬件芯片(如TCAM),支持微秒级转发。 |
查找方式:软件算法(如最长前缀匹配)。 | 查找方式:硬件并行查询(直接查表)。 |
4. 更新机制
路由表 | 转发表 |
---|
动态更新(如OSPF路由变化时)。 | 从路由表同步最优路径,更新需实时(如FIB Push)。 |
可能包含冗余或备份路径。 | 仅保留当前生效的路径。 |
5. 实际应用场景
路由表 | 转发表 |
---|
用于路由协议计算、策略路由、负载均衡。 | 用于高速数据转发(如核心路由器)、MPLS标签交换。 |
示例:BGP选路时参考路由表条目。 | 示例:交换机根据转发表直接转发数据帧。 |
类比解释
- 路由表像是一张地图,标记了所有可能的路线(包括绕路和备选路径)。
- 转发表像是导航指令,只告诉你当前最快的出口在哪,直接执行。
总结
路由表是“决策大脑”,负责规划路径;转发表是“执行工具”,负责以最快速度转发数据包。两者协同工作,实现网络的高效控制与转发分离(如SDN中的核心思想)。