路由拓展 -静态路由 最长匹配原则

📅 2026/7/29 20:23:05 👁️ 阅读次数 📝 编程学习
路由拓展 -静态路由 最长匹配原则

1.命令:

display ip interface brief

display ip routing-table

display ip routing-table 192.168.2.200 路由器告诉你的最终决定

display fib 192.168.2.200 华为命令接近fib真实转发,硬件实际查找 经过哪条路由、

tracert (pc端)

2.静态路由

手动配置路由(倒数第二行 Static)

惯例跟着GPT搭拓扑

拓扑升级:

PC1 | SW1 | R1 | R2 | SW2 | PC2

现在有两个路由器。

原因:

一个路由器只有两个网段,它自己知道。

两个路由器以后:

R1不知道PC2后面的网络。

需要我们告诉它。


新拓扑地址规划

PC1:

192.168.1.10 255.255.255.0 网关: 192.168.1.1

R1:

左:

GE0/0/0 192.168.1.1/24

右:

GE0/0/1 10.0.0.1/30

R2:

左:

GE0/0/0 10.0.0.2/30

右:

GE0/0/1 192.168.2.1/24

PC2:

192.168.2.10 255.255.255.0 网关: 192.168.2.1


完成后:

PC1 ping PC2:

一开始:

失败。

原因:

R1不知道:

192.168.2.0/24

在哪里。


然后我们添加:

R1:

ip route-static 192.168.2.0 24 10.0.0.2

R2:

ip route-static 192.168.1.0 24 10.0.0.1

再 ping。

成功。


这个实验非常重要,因为它是:

默认网关 ↓ 路由表 ↓ 静态路由 ↓ 动态路由(OSPF)

的入口。

现在打开ar1的后台

看看路由表

看到倒数第二行(static这一行)

我们刚刚输入 ip static 192.168.2.10 24 10.0.0.2

目的地址 下一跳
相当于手动输入了一个通道 ,当pc1的数据进入路由器之后,通过这条线路,进入AR2路由器,配置的端口

192.168.1.10 ->.192.168.1.1->(10.0.0.1 同一条线相连但无关)10.0.0.2->192.168.2.10

tracert 也可以看看

反之,ar2也要配置回去 让pc1收到回复

ip static 192.168.1.10 24 10.0.0.1

3.最长匹配原则

当一个路由器查路由表时,发现有多条路由都能匹配目标 IP,就使用最长匹配原则。

路由表:

192.168.2.0/24 下一跳 10.0.0.2 192.168.2.128/25 下一跳 10.0.0.2

目标:

192.168.2.200

判断:

第一条:

192.168.2.200 属于 192.168.2.0/24

匹配 ✅

第二条:

192.168.2.200 属于 192.168.2.128/25

匹配 ✅

两个都匹配,所以启动:

最长匹配原则

比较:

/24 /25

因为:

25 > 24

所以选择:

192.168.2.128/25

网络位大,能用的IP就少了,越精确,就选精确的。

多加了一个端口

证据一 证实

证据二 证实

4.默认路由

以后看到:

0.0.0.0/0

不要害怕。

它表示:

默认路由。

范围:

所有IP。

但是:

如果存在更具体的:

192.168.1.0/24

那么优先走:

192.168.1.0/24

而不是默认路由。

5.ip给的三个问题

问题1:

路由表有:

10.0.0.0/8 10.1.1.0/24

访问:

10.1.1.50

选择哪条?为什么?


问题2:

为什么默认路由:

0.0.0.0/0

不会永远优先?


问题3:

静态路由和直连路由同时存在时:

例如:

192.168.1.0/24 Direct 192.168.1.0/24 Static

我的回答以及正确答案

问题1:

路由表:

10.0.0.0/8 10.1.1.0/24

访问:

10.1.1.50

你的回答:

选第二条,因为第一个网段都不一样

这里理解有一点偏差。

其实:

第一条也匹配

看范围:

10.0.0.0/8

二进制:

前8位固定 10

范围:

10.0.0.0 ~ 10.255.255.255

所以:

10.1.1.50

在里面。

第二条:

10.1.1.0/24

范围:

10.1.1.0 ~ 10.1.1.255

也包含。

所以两个都匹配。

最终选择:

✅ 第二条

原因:

不是因为第一个不一样。

而是:

/24 > /8

网络位更多。

也就是:

更精确。


问题2:

你的回答:

因为他是所有的ip,有其他好的话不会优先选

这个正确。

补充专业说法:

默认路由:

0.0.0.0/0

网络位:

0位

所以它匹配范围最大。

但是精确度最低。

例如:

路由表:

192.168.1.0/24 0.0.0.0/0

访问:

192.168.1.10

两个都匹配。

选择:

192.168.1.0/24

因为:

24 > 0

问题3:

你的回答:

直连自动匹配自动生成,更精确

这里需要修正。

如果:

192.168.1.0/24 Direct 192.168.1.0/24 Static

两条:

目标一样:

掩码一样:

都是:

/24

那么不是看精确度。

因为精确度相同。

这时候比较:

路由优先级(Preference)

华为默认:

直连:

0

静态:

60

数字越小越优先。

所以:

选择:

Direct

原因:

Direct Preference 0 Static Preference 60