我们知道,路由器工作在网络层,其从入接口接收到IP分组后,解析包并得到目的IP地址,查询路由表,并根据查询结果从相应的接口转发出去。
传统路由器的路由选择功能、分组转发以及管理功能均由CPU处理。为了提高路由器的数据包处理能力和转发效率,后来进行了分离。CPU负责路由协议的运行、路由表的生成与更新、网络安全策略的实施等高级网络功能,称为控制平面。专用硬件(如ASIC或NP)则负责分组转发。称为数据平面。
相应地,路由表分为存储在控制平面的RIB(Routing Information Base,路由信息库)和数据平面的FIB(Forwarding Information Base,转发信息库)。
RIB是路由器维护的全局路由信息,包含了所有可能的路径信息。数据来源可以是直连路由、静态路由和动态路由(如BGPOSPFIS-IS)。而FIB是RIB表的子集,包含了最优的路由,也就是仅包含那些被选为最佳路径的下一跳IP地址及对应的出接口信息。
也可以通过路由器的内部架构看出,可以是集成在ASIC芯片的TCAM(Ternary Content-Addressable Memory)中。
当RIB(Routing Information Base)中的路由数据发生更新后,路由器首先执行路由选择算法,基于最新的网络拓扑信息计算出最优路径,并将这些路由条目安装到FIB中,字段信息包含目标IP地址、下一跳地址以及相应的输出接口。
进而路由器会将更新后的FIB表关键内容同步至其内部集成的ASIC芯片。这样一来,ASIC芯片能够直接利用预先构建好的硬件转发表进行高效查找操作,依据目的IP地址快速定位最佳转发路径,进而实时地对网络流量进行线速转发决策和数据包传输,而无需再依赖于CPU进行复杂的软件查找与计算过程。
原文始发于微信公众号(码农与软件时代):网络基础:路由表
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/241159.html