路由表(RIB)与转发表(FIB)
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的查看