4. 路由核心概念

在中央网关中,路由决策并不是“看到目的地址就转发”这么简单。网关收到一个报文后,会提取目的 IP,依次查询路由表、执行最长前缀匹配、比较管理距离与度量值,最终选出最优下一跳。理解这条决策链,是排查“为什么走了这条链路而不是那条链路”的基础。

一、路由表:网关的转发决策数据库

路由表是网关进行三层转发的核心数据结构。每条路由至少包含目的网络/前缀长度、下一跳、出接口、管理距离、度量值等字段。中央网关通常同时维护多张表:主路由表、策略路由表、VPN 实例路由表,以及直连、静态、动态协议产生的条目。

Destination/Mask      Proto  Pre  Cost   NextHop        Interface
0.0.0.0/0             Static 60   0      10.10.1.254    GE0/0/1
10.10.1.0/24          Direct 0    0      10.10.1.1      GE0/0/1
10.20.0.0/16          OSPF   10   20     10.10.1.2      GE0/0/1
10.20.5.0/24          Static 60   0      10.10.1.3      GE0/0/1
192.168.0.0/16        BGP    255  100    10.10.1.4      GE0/0/1

表中 Pre 是管理距离(优先级),Cost 是度量值。注意:不同厂商字段名可能不同,但语义一致——先比前缀长度,再比管理距离,最后比度量值。

二、最长前缀匹配:先看“谁更具体”

最长前缀匹配(Longest Prefix Match,LPM)是路由查找的第一原则。当多个路由条目都能匹配同一个目的 IP 时,网关选择掩码最长、即最具体的那一条。例如目的地址 10.20.5.8 同时匹配 10.20.0.0/16 和 10.20.5.0/24,网关会选择 /24,因为它的前缀更长、范围更精确。

LPM 的优先级高于管理距离和度量值。也就是说,即使一条 /24 静态路由的管理距离是 60,而一条 /16 OSPF 路由的管理距离是 10,网关仍然优先选择 /24。这一点在排障时极易被忽略:管理员看到 OSPF 优先级更低,却忽略了前缀长度差异。

记忆口诀:先比长度,再比优先级,最后比度量。长度是“谁更具体”,优先级是“谁更可信”,度量是“谁更优”。

三、管理距离与度量值:可信度与优劣度

管理距离(Administrative Distance,AD)衡量路由来源的可信程度,取值越小越可信。它只在不同路由协议之间比较,用于决定“听谁的”。常见默认值如下表所示。

路由来源管理距离(默认)说明
直连路由0接口 UP 即产生,最可信
静态路由1 或 60厂商差异,通常优于动态路由
OSPF10链路状态,收敛快
IS-IS15运营商常用
BGP(EBGP)20域间路由
BGP(IBGP)200域内 BGP

度量值(Metric)则在同一协议内部比较,用于选择“同来源中哪条更优”。不同协议的度量值不可直接比较:OSPF 用开销(Cost),RIP 用跳数,BGP 用路径属性。因此,管理距离解决“跨协议选谁”,度量值解决“同协议选哪条”。

四、静态路由与动态路由的基本原理

静态路由由管理员手工配置,不占用协议开销,适合小型网络、默认路由、末梢网络和精确控制场景。它的缺点是拓扑变化后不会自动收敛,需要人工维护。动态路由通过协议自动学习、计算和更新路由,适合中大型网络,但会带来协议报文、CPU 和内存开销。

# 静态路由示例
ip route-static 10.20.5.0 255.255.255.0 10.10.1.3

# 默认路由示例
ip route-static 0.0.0.0 0.0.0.0 10.10.1.254

# OSPF 动态路由示例
ospf 1 router-id 1.1.1.1
 area 0
  network 10.10.1.0 0.0.0.255

静态路由与动态路由并非互斥。工程中常见做法是:核心互联用 OSPF 或 BGP 动态学习,末梢和默认出口用静态路由兜底;同时通过管理距离调整,让静态路由作为备份,动态路由作为主用,或反之。

五、案例:一次“绕路”故障的复盘

某中央网关到 10.20.5.0/24 有两条路径:一条 OSPF 学习到的 /24,度量值 20;一条静态 /16,管理距离 60。管理员发现流量走了 OSPF 路径,但期望走静态路径。原因不是管理距离,而是静态路由写成了 /16,前缀比 OSPF 的 /24 短,在 LPM 阶段就已落败。修正方法是将静态路由改为 /24,或调整 OSPF 的度量值使其不再优选。

常见误区:只盯管理距离,忽略最长前缀匹配;或把不同协议的度量值直接比较。排障时应按“前缀长度 → 管理距离 → 度量值”的顺序逐层核对。
中央网关路由决策链 前缀长度 → 管理距离 → 度量值 ① 提取目的 IP 10.20.5.8 查路由表候选集 ② 最长前缀匹配 /24 优于 /16 最具体者胜出 ③ 比较管理距离 直连0 < 静态60 < OSPF10 跨协议选可信来源 ④ 比较度量值 同协议内选最优 OSPF Cost / RIP Hop / BGP 属性 ⑤ 生成最优路由 下一跳 + 出接口 写入转发表 ⑥ 报文转发 按转发表送出 完成路由闭环 静态路由 vs 动态路由 静态路由 手工配置 · 无协议开销 · 不自动收敛 适用:默认路由、末梢、精确控制 动态路由 自动学习 · 协议开销 · 自动收敛 适用:中大型网络、冗余拓扑

掌握这条决策链后,再看到路由表里“多条路由同时存在”就不会困惑:它们可能分别来自直连、静态和动态协议,最终只有一条会被安装进转发表。工程上建议定期核对路由表与预期路径,尤其在双出口、双协议并存的中央网关场景中,避免因前缀长度或管理距离配置不当导致流量绕行。