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