网络工程师 · 路由表 · 最长前缀匹配

最长前缀匹配怎么判断?

最长前缀匹配是路由题里非常关键的一条规则:多条路由都能匹配同一个目的地址时,选前缀最长、范围最具体的那条。很多同学做错,不是因为不知道这句话,而是不会判断一个地址到底落在哪些网段里。

网络工程师专题 软考题库编辑部 持续更新

先把“最长”理解成“最具体”

/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 能匹配,默认路由就不该被选中。

另一个错法是看命令或表格的书写顺序。考试题通常不会让你靠顺序猜答案。真正要看的是目标地址、掩码、前缀长度和下一跳。

错误判断为什么错正确做法
看到默认路由就选默认路由默认路由只是兜底先找更具体路由
路由表第一条就是答案顺序不是核心判断依据看前缀匹配
只看网段名字像不像相似不等于匹配计算地址范围
忽略更具体路由会选到范围更大的路径选最长前缀
把下一跳当目标地址概念混淆目标网段和下一跳分开看

和下一跳、子网题一起练

最长前缀匹配不是孤立考点。它和子网边界、下一跳判断、默认路由、路由聚合都会放在一起考。你如果子网边界不稳,最长前缀题也很容易错。

建议把这类题按“目的地址 -> 可匹配网段 -> 最长前缀 -> 下一跳”四步写在草稿纸上。练熟以后,路由表题会比单纯背定义稳定得多。