Advertisement

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)

还没有任何评论哟~