IP 路由缓存管理详解
1. IP 路由基础
在 IP 路由过程中,当需要进一步处理时,会指向第 1662 行的路由条目( dst_entry 对象)。若在内核路由缓存中未找到该路由条目,则会调用 ip_route_input_slow() 函数。
2. 路由缓存定时器
在繁忙的系统或路由器中,每秒会建立大量网络连接,路由缓存条目会不断增加。一个 FIB 中的单个路由表条目可能会产生数百个内核路由缓存条目,每个与远程网络中不同主机的连接都会有一个路由缓存条目。这些内核路由缓存条目可能会长时间闲置,占用系统内存。为了管理这种情况,安装了定时器,按预设时间间隔监控路由缓存条目。
与路由缓存管理相关的系统级定时器有两个:
- rt_periodic_timer
- rt_flush_timer
这两个定时器在系统启动时的 ip_rt_init() 例程中初始化,但只有 rt_periodic_timer 定时器在第 2525 行安装。 rt_periodic_timer 和 rt_flush_timer 的定时器例程分别是 rt_check_expire 和 rt_run_flush 。下面将详细介绍这些定时器。
3. rt_periodic_timer
超级会员免费看
订阅专栏 解锁全文
1605

被折叠的 条评论
为什么被折叠?



