让不同网段互相通信

路由表和最长前缀匹配

本课问题:存在多条可用路由时,设备最终选择哪一条? 学完你能:读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。

进阶25 分钟作者:课程内容组核验:内容技术审核组 · 2026/8/7
正在读取学习状态...

前置知识

  • VLANIF/SVI:给 VLAN 配置三层网关
课堂开场

本课问题:存在多条可用路由时,设备最终选择哪一条?

学完结果:读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。

预计时间:25 分钟。前置课:VLANIF/SVI:给 VLAN 配置三层网关。

范围控制:本课不调整协议优先级。

今天只记 1:路由表保存目标前缀及其下一跳或出接口。
今天只记 2:最长前缀匹配优先选择最具体的目标范围。
今天只记 3:路由存在只证明控制面知道路径,不证明回程和策略通过。

02基础知识讲解

核心同时有 10.20.0.0/16 和更具体的 10.20.30.0/24,运维员要预测发往 10.20.30.42 的流量走哪个下一跳。

本课最小拓扑或状态图:Core ─ NH-A 10.0.0.2(10.20.0.0/16) / NH-B 10.0.1.2(10.20.30.0/24)

直觉解释:地址像地图:能匹配的范围可能有多个,设备选择描述最精确、范围最小的那一条,而不是先出现或看起来更近的一条。

正式定义:最长前缀匹配是在所有覆盖目标地址的有效路由中,选择前缀长度最大的路由进行转发。协议优先级和 Cost 用于同一前缀的候选比较,不覆盖前缀长度规则。

判断依据:路由存在只证明控制面知道路径,不证明回程和策略通过。

重点你要理解判断依据
重点 1路由表保存目标前缀及其下一跳或出接口。10.20.30.42 同时匹配 /16 和 /24,设备选择 10.20.30.0/24,经 10.0.1.2 转发。
重点 2最长前缀匹配优先选择最具体的目标范围。/24 OSPF 路由覆盖更精确的 10.20.30 网段,字段中的 Cost 20 只用于同前缀候选比较。
重点 3路由存在只证明控制面知道路径,不证明回程和策略通过。先确认目标地址确实落在候选前缀范围。

03正确理解与常见误解

正确示例:10.20.30.42 同时匹配 /16 和 /24,设备选择 10.20.30.0/24,经 10.0.1.2 转发。

错误示例:因为 /16 的 Cost 更小就选择 /16;不同前缀长度先比较匹配精度,再谈同前缀候选。

  • 术语与判断:路由表保存目标前缀及其下一跳或出接口。
  • 术语与判断:最长前缀匹配优先选择最具体的目标范围。
  • 术语与判断:路由存在只证明控制面知道路径,不证明回程和策略通过。

04老师演示

演示环境:设备 SW1,华为 S5735-L24T4X-A,VRP V200R022C00SPC500,当前提示符 <SW1>,隔离课程网络。教师准备执行只读命令:

  1. 前检核对 SW1、目标对象、当前状态、带外路径和变更前业务基线。
  2. 只读核验(查看路由表与匹配结果)display ip routing-table显示 IPv4 路由表及路由来源、优先级、下一跳和出接口
  3. 只读核验(查看路由表与匹配结果)display ip routing-table 192.168.10.10查询目标地址 192.168.10.10 的最优匹配路由
  4. 只读核验(查看路由表与匹配结果)display ip routing-table 192.168.10.10确认存在有效匹配,并核对下一跳和出接口
  5. 只读核验(按目标前缀查询路由)display ip routing-table 10.20.30.40第 1 步:在目标设备上执行并核对命令作用范围
  6. 只读核验(按目标前缀查询路由)display fib 10.20.30.40读取实际状态或计数器,确认“确认具体目标最终匹配的路由、下一跳与出接口”已经满足

安全说明:命令来自“查看路由表与匹配结果”华为实现,用于华为使用 display ip routing-table 查看完整 IPv4 路由表和目标地址的匹配结果。 执行前已确认当前设备、版本、视图、影响对象、停止条件和输出脱敏范围。

脱敏真实输出:

<SW1>display ip routing-table 192.168.10.10
10.20.0.0/16    Static  60  0  RD  10.0.0.2  GE0/0/47
10.20.30.0/24   OSPF    10  20 D   10.0.1.2  GE0/0/48
Destination 10.20.30.42 matched 10.20.30.0/24 via 10.0.1.2

异常输出:

10.20.30.0/24   OSPF    10  20     10.0.1.2  Inactive
目标退回匹配 10.20.0.0/16,实际下一跳与规划不一致
差异说明:更具体的 /24 处于 Inactive,设备只能退回 /16,导致路径偏离规划;下一步检查该 /24 的下一跳可达性和 OSPF 路由安装状态。
此时不能套用正常结论;先保存采集时间,再执行“按目标前缀查询路由”对应的最小只读检查。

05逐行读懂输出

结论:当前输出可以支持“读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。”中的基础判断,但仍要完成跟做任务和业务验收,不能把单份输出当作全部证明。

  • 第 1 行“10.20.0.0/16 Static 60 0 RD 10.0.0.2 GE0/0/47”:/16 静态路由覆盖较大的 10.20 网段,下一跳是 10.0.0.2;它是候选,不是本目标的最终选择。
  • 第 2 行“10.20.30.0/24 OSPF 10 20 D 10.0.1.2 GE0/0/48”:/24 OSPF 路由覆盖更精确的 10.20.30 网段,字段中的 Cost 20 只用于同前缀候选比较。
  • 第 3 行“Destination 10.20.30.42 matched 10.20.30.0/24 via 10.0.1.2”:目标 .42 命中 /24 并经 10.0.1.2,直接证明最长前缀匹配结果。

06学员跟做

起始状态:使用隔离课程环境,SW1 当前配置保持阶段基线,学员已登录但尚未执行本课检查。目标状态:读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。

操作步骤:①列出路由表中所有能覆盖 10.20.30.42 的前缀;②比较每条前缀长度并圈出最长者;③写出所选下一跳和出接口,再执行 display fib 10.20.30.42;④更换目标为 10.20.40.42,重新预测并保存差异;⑤进入“引导:读取路由表”独立完成相同目标。

成功标准:输出与规划一致,立即闯关全部目标通过,并能用自己的话说明三个重点。失败检查顺序:①先确认目标地址确实落在候选前缀范围;②若具体路由未选中,检查它是否 Active 及下一跳是否可达;③只在前缀相同时再比较协议优先级和 Cost。

  • 保存教师演示命令和本次学员输出,文件名含设备、日期和课次。
  • 步骤标题只提示检查对象,不复制最终答案。
  • 失败时一次只验证一个假设,不连续粘贴未知命令。

07安全、验证与回滚

本课以只读观察为主。只读命令仍可能暴露资产信息,保存输出前要替换序列号、真实公网地址、账号和其他敏感字段;任何清表、重启、删除或配置动作都不属于本课。

验证必须同时回答:配置或输入是否正确、设备状态是否符合预期、真实任务“读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。”是否完成。

08本课关联资源

按顺序完成:先看命令 → 立即闯关 → 可选加练 → 案例步骤 → 返回本页复盘。

  • 必学命令:查看路由表与匹配结果打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
  • 必学命令:按目标前缀查询路由打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
  • 立即闯关:引导:读取路由表打开资源 →目标:独立完成“读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。”对应的最小任务|完成标准:规则引擎全部目标通过并保存关键输出。

09自测一:概念判断

先判断对错,再写出为什么。

  • 判断 1:以下做法是正确的——因为 /16 的 Cost 更小就选择 /16;不同前缀长度先比较匹配精度,再谈同前缀候选。
  • 判断 2:以下做法是正确的——10.20.30.42 同时匹配 /16 和 /24,设备选择 10.20.30.0/24,经 10.0.1.2 转发。

10自测二:输出解读

重新阅读老师演示的第 2 行输出:它能直接证明什么?还不能证明“读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。”中的哪一部分?请写出下一条最小验证证据。

11自测三:小型操作

在隔离环境或纸面拓扑中完成:读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。 保存关键输出,按“现象—证据—结论—下一步”写四行记录;不得复制本页最终结论。

答案与复盘

13下一课

下一课:静态路由和默认路由分别解决什么。你已经能“读取目的前缀、下一跳、出接口,并按最长前缀匹配选路。”,下一课将用这项能力继续回答“什么时候写具体静态路由,什么时候使用默认路由?”。