fib系统的分析(关于Linux网络协议栈的笔记)
发布时间
阅读量:
阅读量
FIB系统初始化
Linux路由系统中存储了三种关键的路由数据。其中第一种数据是物理连接到本地主机的设备列表——邻接表:neigh\_table{}。第二种数据用于根据网络访问情况确定如何转发流量——FIB路径规划表:fib\_table{}。第三种数据结构用于缓存最近使用的路径信息以加速后续查询——动态路由缓存(RTCache): rtcache; 该缓存由rtable节点构建。它们三者之间的关系如下图:

在示意图中,FIB主要与用户层进行交互;相比之下,RT缓存主要与协议栈交互;除非出于维护的需要,在一个基本稳定的系统中;红线箭头代表用户的操作流程;而蓝线箭头则表示底层报文的路由查询过程;只有在特殊情况下;报文路由才会进入FIB系统查询;这一原理类似于CPU在访问未命中Cache时才转向内存查找的过程;
现在回顾一下ip_init函数的行为;
它首先执行的是ip_rt_init函数的初始化操作;
// 路由缓存内存量指定办法:
// 1.通过启动参数rhash_entries指定hash表bucket
全部评论 (0)
还没有任何评论哟~
