路由器数据转发原理,路由表、FIB、快速转发表的关系
-
路由的控制平面与转发平面
-
控制平面:负责路由计算,维护;路由协议运行在控制平面
-
转发平面:进行数据包的封装,报文转发,路由表,FIB表,快速转发表等
-
控制平面与转发平面相互独立又协同工作
-
-
路由器检查数据包的目的 IP 地址,用数据包的目的 IP 地址查询路由表,在路由表中对所有路由条目遍历,最终按照能匹配的掩码最长的路由进行转发
-
基于最长匹配机制,路由表规模太大后,将会大幅降低查表速度,从而影响转发效率。同时为了做到控制平面与转发平面完全隔离,构建了FIB表,所以设计了 FIB 表,FIB 表来自于路由表中 Active 状态的路由和 ARP表,FIB 表规模大幅小于路由表,所以数据转发查询 FIB 表,速度会更快
-
FIB 表和路由表一样都属于最长匹配的表项,所以能够提升的查询速度也较有限。所以引入了快速转发表
-
快速转发表是针对数据五元组信息的精确匹配表项。当一组五元组相同的数据流的首包进入路由器,路由器会通过查 FIB 表来完成转发,并根据转发结果来产生该五元组的快速转发表项。后续五元组相同的数据包再进入路由器,就查询到快速转发表,按照快速转发表来完成转发;由于快速转发表项是精确匹配,无需遍历整个表项,所以查表速度可以大幅提升;(源IP地址,源端口号,目的IP地址,目的端口号,协议号)
路由备份与路由负载
-
路由备份指的当一台路由器上有多条路径到达目的网段,配置不同来源的路由走不同路径,按照路由写表规则,会选择优先级数字最小的路由成为 Active 路由,其他路由成为 Inactive 路由。当 Active 路由故障后,路由器会在 Inactive 路由中选择优先级数字最小的成为新的 Active 路由
-
路由负载则是在路由器上配置同一来源的路由,如果 Cost.相等,就会在多条路径上产生等价路由,从而实现到达目的网段流量的负载分担
-
实际使用中,如果不同路径的带宽相差太大