Linux 路由系统中主要保存了三种与路由相关的数据,
第一种是在物理上和本机相连接的主机地址信息表——相邻表:neigh_table{ },第二种是保存了
在网络访问中判断一个网络地址应该走什么路由的数据表——路由规则表:fib_table{ },第三种
第一种是在物理上和本机相连接的主机地址信息表——相邻表:neigh_table{ },第二种是保存了
在网络访问中判断一个网络地址应该走什么路由的数据表——路由规则表:fib_table{ },第三种
表是最新使用过的查询路由地址的缓存地址数据表——路由缓存:rtcache,由 rtable{ }节点组成。
要查找路由则必须先搜索 fib_rules 以找到最匹配报文规则,必须同时满足 4 个条件:
1. 报文源地址与规则涵盖的源地址属于同一子网
2. 报文目的地址与规则涵盖的目的地址属于同一子网
3. 报文头设置的 TOS(如果配置了 tos 路由的话)与规则设置的一致
4. 报文始终的网络接口设备(如果指定了接口的话)与规则设置的一致