先把“最长”理解成“最具体”
/16、/24、/25 同时能匹配一个地址时,不是看谁写在路由表前面,也不是看谁看起来更熟,而是看前缀长度。前缀越长,网络范围越小,描述越具体,所以优先级越高。
默认路由 0.0.0.0/0 是最宽的兜底路线。它不是优先路由,只有没有更具体匹配时才会用。考试常用默认路由做干扰项,专门看你是否真正理解“最长”。
| 路由条目 | 范围大小 | 匹配优先感觉 |
|---|---|---|
| 10.0.0.0/8 | 很大 | 比较粗 |
| 10.1.0.0/16 | 较大 | 比 /8 具体 |
| 10.1.2.0/24 | 较小 | 比 /16 具体 |
| 10.1.2.128/25 | 更小 | 比 /24 更具体 |
| 0.0.0.0/0 | 最大 | 兜底,不是优先 |
判断步骤:先找能匹配的,再选前缀最长的
做题时不要直接看选项。先把目的地址拿出来,逐条判断它是否落在路由条目的网段范围内。能匹配的条目可能不止一条。然后在这些能匹配的条目里,选前缀长度最大的那条。
比如目的地址 10.1.2.130,如果路由表里有 10.1.0.0/16、10.1.2.0/24、10.1.2.128/25,它同时落在三条路由范围内。但 /25 范围最小、最具体,所以选择 /25 对应的下一跳。
路由选择小例子
目的地址:10.1.2.130
10.1.0.0/16:能匹配。
10.1.2.0/24:能匹配。
10.1.2.128/25:能匹配,范围是 128 到 255。
结论:三条都匹配时,选 /25。
常见错法:只看默认路由,或者只看路由表顺序
默认路由经常放在题目里当干扰项。它的意思是“没有其他更具体路由时走这里”,不是“所有流量都优先走这里”。如果已经有 /24 或 /25 能匹配,默认路由就不该被选中。
另一个错法是看命令或表格的书写顺序。考试题通常不会让你靠顺序猜答案。真正要看的是目标地址、掩码、前缀长度和下一跳。
| 错误判断 | 为什么错 | 正确做法 |
|---|---|---|
| 看到默认路由就选默认路由 | 默认路由只是兜底 | 先找更具体路由 |
| 路由表第一条就是答案 | 顺序不是核心判断依据 | 看前缀匹配 |
| 只看网段名字像不像 | 相似不等于匹配 | 计算地址范围 |
| 忽略更具体路由 | 会选到范围更大的路径 | 选最长前缀 |
| 把下一跳当目标地址 | 概念混淆 | 目标网段和下一跳分开看 |
和下一跳、子网题一起练
最长前缀匹配不是孤立考点。它和子网边界、下一跳判断、默认路由、路由聚合都会放在一起考。你如果子网边界不稳,最长前缀题也很容易错。
建议把这类题按“目的地址 -> 可匹配网段 -> 最长前缀 -> 下一跳”四步写在草稿纸上。练熟以后,路由表题会比单纯背定义稳定得多。