路由子系统之概述

这篇笔记开始介绍linux系统中路由子系统的代码实现,路由子系统可以分为三部分:

  1. 路由数据库;
  2. 路由缓存;
  3. 策略路由;

后面会分别详细介绍这三部分的代码实现,这篇笔记从整体框架上介绍下着三者之间的关系。

路由数据库

我们常说的路由表组成了路由数据库,内核可以维护多张路由表。每张路由表中保存的是一条条的基于目的地址的路由,每条路由的基本含义是:要想去XX地址(目的地址)的XX数据包(除目的地址外其它的匹配条件),要通过XX网络设备接口。

路由缓存

对路由数据库执行的最频繁的操作非查询路由莫属了,为了提高查询效率,引入了缓存机制,就是将最近的一些查询结果先缓存下来,在查询路由时,先查缓存,如果缓存没有命中,再向路由数据库查询,并根据需要更新路由缓存。这种设计思想实际上非常好理解。

策略路由

基本的路由数据库中的路由都是基于目的地址的,为了能够支持更加灵活的路由查询,比如要求某个源IP地址的数据包必须按照指定的路由查询,或者要求某个目的端口的数据包要按照指定的路由查询,类似这种查询要求,基本的路由数据库就很难完成,所以引入了策略路由数据库(RPDB,即Routing Policy Database)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值