路由表rib fib表 快速转发表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由表是由路由协议生成.
FIB表是路由表中的最优路由条目导入到FIB中的也可以是由ARP生成的,是正真指导数据转发的表。
快速转发表是根据数据流的5元组(源IP、源端口、目地IP、目地端口、协议号)相关信息在高速缓存中生成的转发条目。系统根据5元组信息生相应的快速转发信息缓存的同时还记录了转发时的封装信息及接口信息,后续报文来到后,系统查看报文中的5元组,如果命中了快速缓存,则根据缓存中的封装信息直接进行二层数据帧的封装,然后在中断中直接送到出接口发送。
对一个数据流而言,只有在该数据流进路由器的接口上使能入接口方向的快速转发,在出路由器的接口上使能出接口方向的快速转发,才能实现该数据流的快速转发。
缺省接口的快速转发功能是开启的,
在接口视图下ip fast-forwarding [inbound|outbound]
显示快速转发信息表display ip fast-forwarding cache
FIB(Forward Information Base)
FIB从概念上讲类似于路由表或信息库。它维护着一个IP路由表中包含的转发信息的镜象。当网络中路由或拓朴结构发生了变化时,IP路由表就被更新,而这些变化也反映在FIB中。FIB基于IP路由表中信息,维护着下一网络段的地址信息。
Linux内核中采用了FIB(Forward Information Base)这个名词代替了Routing Database,原因不详。可能是不想和应用层的路由数据库发生概念上的冲突吧。但是Linux内核还是有一个叫做RouteTable的数据结构的,不过,它只是FIB的一份cache而已,其关系如同计算机中内存和CPU cache的关系。系统中路由一般采取的手段是:先到路由缓存中查找表项,如果能查找到,那么就直接将对应的一项取出作为路由的规则;如果查不到,那么就到FIB中根据规则换算出来,并且增加一项新的,在路由缓存中将项目添加进去。所以在研究Linux代码时,应该注意这一点,不能抓着RouteTable不放而忽视了FIB。
和FIB相近的一个概念叫RIB(Route Information Base)。FIB强调的是作为转发的路由表,RIB是用来做路由管理的表。通常有了动态路由协议的参与才能理解这个问题。RIP、OSPF、BGP、ISIS都是动态路由协议,它们学习到的路由首先要通告给RIB表。RIB表把所有路由协议学习到的路由汇总到一起,经过优选,把优选结果的路由加入到FIB表,供转发使用。所以FIB是RIB的一个子集。