RIB与FIB概述
路由表被称为路由信息库(Routing Information Base,简称RIB),转发表被称为转发信息库(Forwarding Information base,简称FIB)。
具备路由功能的华为数通产品(如路由器、三层交换机等),都维护着两种重要的数据表:RIB与FIB。
每台路由器都维护着一张全局路由表,另外路由器所运行的每种路由协议也维护着该协议自己的路由表。所谓全局路由表,就是通过display ip routing-table命令输出的表格。
RIB与FIB平面视图
路由表 RIB
路由表指的就是全局路由表,我们将路由表视为路由器的控制平面。路由表通常存储在设备的动态内存中,如(Random Access Memory ,RAM)随机存储器中。
路由表获取
路由器可以通过多种途径获取路由信息,它可以运行多种动态路由协议,而每一种通过动态路由协议所获知的路由信息首先存储于该协议自己的路由表中,然后路由器根据路由优先级和度量值等信息来进行路由的优选,并将优选路由加载到全局路由表中。
路由表实际意义
路由表实际上并不直接指导数据转发,也就是说,路由器在执行路由查询时,并不是在路由表中进行报文目的地址的查询,真正指导数据转发的是FIB表。
路由器将路由表中的活跃路由下载到FIB表,此后如果路由表中的相关表项发生变化,FIB表也将同步。
由于两张表的一致性,在绝大多数场合中,我们阐述路由器转发数据过程时,会用“路由器查询路由表来决定数据转发的路径”这一说法,但需要注意的是,路由器查询的是FIB表,位于控制层面的路由表只是提供了路由信息而已。
转发表 FIB
FIB表是位于路由器数据平面的表格,实际上它外观上与路由表非常相似,FIB的表项被称为转发表项,每条转发表项都指定要到达的某个目的地,所需要通过的出接口及下一跳IP地址等信息。
路由器将优选的路由存储在路由表中,而将路由表中活跃的路由下载到FIB表,并使用FIB表转发数据。
FIB表中数据往往被存储在一个ASIC专用集成电路中,这使得设备在FIB表中进行数据查询时,可以实现相当高的速度。当然,FIB表空间是有限的,因此,大型网络中要关注设备的路由表规模,在保证数据可达的前提下,通过各种机制及手段来减小设备路由表的规模。
使用display fib命令可以进行FIB的查看