当前位置: 首页 > news >正文

47、Linux内核路由表与缓存的实现及管理

Linux内核路由表与缓存的实现及管理

1. 路由查找与源IP选择

当路由查找没有返回结果时,会在第1180行直接调用inet_select_addr()函数,以找到具有通用范围的源IP(同时也会使用该路由的网关信息)。这是因为出于管理原因,接口可能配置了不同的源IP。最后在第1182行,将识别出的源地址复制并返回给调用者。

2. Linux内核路由表与缓存的维护流程

我们先来了解内核是如何维护路由表和路由缓存的。下面会绘制一个图,展示路由表如何更新、如何访问,以及Linux内核中的不同路径,同时也会解释路由表和路由缓存之间的关系。

3. 路由缓存实现概述

路由缓存是查找路由最快的缓存方法。虽然FIB(转发信息库)也提供了查找路由的方法,但查找时间较长,并且对每个单独的数据包运行FIB查询会影响性能,而路由缓存则减少了查找路由信息的时间。

当为策略路由配置多个路由表时,会共享一个路由缓存。路由缓存将正在使用或最近使用过的每个路由保存在一个哈希表中,同时还维护定时器和计数器,以移除不再使用的路由。

路由缓存是一个包含缓存条目的单一哈希表。路由缓存哈希表是一个rt_hash_bucket结构的数组。每个rt_hash_bucket结构包含链元素和读写自旋锁。链元素包含表示缓存条目的rtable结构列表。

当IP层想要查找路由时,会根据哈希值找到合适的hash_bucket,并搜索缓存路由链以查找匹配项。如果未找到匹配项,则访问

http://www.jsqmd.com/news/93060/

相关文章:

  • 51、IP路由关键函数解析
  • 【Java毕设全套源码+文档】基于springboot的高校门诊管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Java毕设全套源码+文档】基于springboot的高校社团管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 52、IP路由与FIB查找详解
  • 2025年12月承装修试资质代办,安全生产许可证资质代办,工程劳务资质代办公司推荐,全流程服务解析! - 品牌鉴赏师
  • 53、Linux网络中的IP路由与服务质量管理
  • 一个github的proxy url
  • Zeus IoT:构建百万级设备连接的工业级分布式物联网平台
  • 使用preg_match正则书写正确,但匹配不到的解决办法
  • LC.297 | 二叉树的序列化与反序列化 | 树 | 定长编码传递信息
  • 信息化项目管理和制度规范文件
  • 毕设开源 深度学习语义分割实现弹幕防遮(源码分享)
  • 44、TCP状态处理与Netlink套接字详解
  • 【Java毕设全套源码+文档】基于springboot的高校失物招领平台设计与实现(丰富项目+远程调试+讲解+定制)
  • AI大模型入门到精通:制造业应用实践,一篇搞定,建议收藏!
  • 毕设项目 yolo葡萄采摘护理定位辅助系统(源码+论文)
  • 你的 QQ 藏着多少 “隐形价值”?这款评估工具太会玩了!
  • 毕设项目 深度学习YOLOv5车辆颜色识别检测
  • 62、lkcd与TCP/IP栈调试全解析
  • UE5 材质-38-节点:
  • 【Java毕设全套源码+文档】基于springboot的研究生志愿填报辅助系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 客户一聊就放松!3句“舒服话术”让成交水到渠成
  • 国内优质酒店设计施工一体化公司推荐 - 品牌排行榜
  • 56、IP 过滤与防火墙技术解析
  • 好写作AI:别卷了,这算法能一键生成你憋了仨月的论文
  • 鸿蒙 Electron 进阶实战:分布式数据同步与多设备协同开发指南
  • 好写作AI:给你的键盘装上“三头六臂”
  • 【2025权威发布】高精度|高性能|进口光互联纳米制造设备解决方案,头部品牌企业推荐TOP3 - 品牌推荐大师1
  • 好写作AI:别让你的论文逻辑再“左右横跳”了!
  • 鸿蒙 Electron 实战:集成鸿蒙推送服务与 Electron 应用消息通知全方案