开篇

  • 本文聚焦 RIB 与 FIB 的分离架构,梳理了 IGP/EGP 协议分类及路由策略 (Route-Policy) 与策略路由 (PBR) 的核心差异,构建完整的网络转发思维导图。

DV & LS & PV

  • DV:Distance Vector(距离矢量),代表协议 RIP,靠邻居指路、传跳数(Hop),旧版遗留协议。
  • LS:Link State(链路状态),代表协议 OSPF/IS-IS,靠全网拓扑、传链路状态(LSA),运行 SPF 算法。
  • PV:Path Vector(路径矢量),代表协议 BGP,靠路径属性(AS-Path)防环、传路径轨迹,唯一 EGP 协议。

FIB & RIB

  • RIBFIB 都位于路由器内部

  • RIB (路由表):存在于路由器的主控板/CPU/内存中。它负责“思考”,通过跑 OSPF、BGP 协议来算路,选出最优路径。

  • FIB (转发库):被推送到路由器的接口板/硬件芯片 (ASIC/NP) / 内核缓存中。它负责“干活”,数据包进来后,直接查硬件里的 FIB 瞬间转发。

  • RIB运行在控制面,用于路由计算选择

  • FIB运行在转发面,用于消息包的转发

  • RIB:Routing Information Board / Table,路由表。运行在控制面 (Control Plane)。

    • 来源:由各种路由协议 (OSPF, BGP, RIP) 和静态路由共同汇总而成
    • 任务:存储所有的路由条目,并根据优先级和开销选出最优路径 (Best Route)。
    • 特点:它是全量的、复杂的,就像是一本厚厚的全国地图索引,不负责直接搬运数据。
  • FIB:Forwarding Information Base,转发信息库。运行在转发面 (Data Plane / Hardware)。

    • 来源:由 RIB 生成,并将最优路径下刷 (Push) 到线卡硬件或内核。
    • 任务:直接指导数据包的硬件转发。当包进入接口时,CPU 或 ASIC 芯片直接查 FIB 决定从哪个口丢出去。
    • 特点:它是精简的、扁平化的,追求极致的查找速度。即使 RIB 挂了,FIB 在短时间内依然能根据最后的映射关系完成物理转发。

IGP & EGP

协议名称协议分类运行层级传输协议适用规模
RIPIGP (内部)应用层UDP 520小型 (15跳限制)
OSPFIGP (内部)网络层IP 89中大型 (区域划分)
IS-ISIGP (内部)数据链路层直接封装在二层极大型 (运营商骨干)
BGPEGP (外部)应用层TCP 179互联网级 (全球 AS 间)
  • IGP (Interior Gateway Protocol):包含 OSPF、IS-IS、RIP。运行于 局域网 / AS 自治系统之间。核心任务是自动探测拓扑并寻找最短路径,侧重于收敛速度与内部信息的完全同步。
  • EGP (Exterior Gateway Protocol):包含 BGP (目前唯一协议)。运行于 广域网 / AS 自治系统之间。核心任务是进行路径外交与策略选路,侧重于路由的可控性、稳定性和跨国/跨运营商的流量调度。

路由选择策略 & 包转发策略

维度路由选择策略 (Selection)包分发策略 (Distribution)
核心组件Filter-Policy / Route-PolicyACL / PBR (策略路由)
操作对象路由信息 (Routing Updates)业务数据包 (Data Packets)
工作平面控制面 (Control Plane)转发面 (Data Plane)
主要任务修改地图:决定哪些路准进路由表,或者改改路的 Cost 值(整改调优)。指挥交通:不看路由表,直接根据 IP、协议或端口号强行指定包裹去向。
生效时刻路由协议运行、生成路由表时。数据包真正通过接口转发时。

Filter-Policy / Route-Policy

  • Filter-Policy (路由过滤):

    • 核心功能:只有二元选择。基于 ACL 或 IP-Prefix 对路由进行 Pass(允许进/出路由表)或 Discard(丢弃/拦截)。

    • 局限性:无法修改属性。它只能决定这条路由“存在”或“消失”,不能改变它的 Cost 值、Tag 或优先级。

    • 应用场景:纯粹的路由黑名单/白名单过滤。

  • Route-Policy (路由策略):

    • 核心功能:强大的“加工厂”。不仅包含 if-match(匹配条件),还包含 apply(执行动作)。

    • 属性修改:除了 Pass/Discard,它可以修改路由的所有属性(如:OSPF 的 Cost、BGP 的 Local-Preference、AS-Path、Community 等)。

    • 逻辑结构:支持多节点的 if-then-else 链式逻辑,灵活性远超 Filter-Policy。

ACL & PBR

  • ACL (访问控制列表):
    • 核心功能:流量安检员。仅负责识别流量并给出 Permit(允许通过)或 Deny(丢弃报文)的指令。
    • 转发逻辑:ACL 本身不改变转发路径。被 Permit 的包依然按照目的地 IP 去查常规路由表 (RIB/FIB) 来转发。
    • 应用场景:防火墙过滤、简单的数据包放行。
  • PBR (策略路由):
    • 核心功能:流量导航仪。它利用 ACL 识别出流量后,强制执行 next-hop(下一跳)或 output-interface(出接口)的重定向。
    • 转发逻辑:跳过路由表,可以指定包的路径
      • permit:匹配成功的包直接按 PBR 指定的路径走
      • deny只有匹配失败的包才会回去查 FIB 表
    • 应用场景:多链路负载均衡(例如:192.168.1.0 网段强制走电信,其他走联通)。

路由器 - 控制面 (路由选择 - RIB路由计算, 然后刷新FIB)

核心协议·生态处理区

EGP 外部网关协议

IGP 内部网关协议

Reject

Accept

Accept

Accept

Accept

邻居路由协议报文输入

入向策略过滤器
Filter/Route-Policy

丢弃信息

链路状态数据库
OSPF/IS-IS

RIP 路由表
旧版/遗留协议

BGP 路由表
BGP Table

运行 SPF 算法

运行 距离矢量算法

运行 BGP 选路策略

生成最优路径

主路由表 RIB

下刷至硬件转发库 FIB

出向策略过滤器
Filter/Route-Policy

发送路由更新给邻居

路由器 - 转发面 (消息包转发 - FIB直接查表)

Match: 强制改路

Mismatch

Deny

Permit

Limit/Remark

Redirect

No Route

Has Route

Deny

Permit

Shaping/PQ/WFQ

数据包到达入接口

是否有 PBR 策略?

直接拉走: 重定向转发

入向 ACL 检查

丢弃报文

入向 MQC 策略?

查找 FIB 硬件转发库

出向 ACL 检查

出向 MQC 队列调度?

从出接口发送

结语

  • 网络架构博大精深,文中梳理难免有疏漏或片面之处。若有纰漏,恳请各位同行指正
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐