路由表原理与最长前缀匹配
路由器是互联网的"GPS"——收到每个 IP 包,查路由表,决定从哪个接口转发出去。理解最长前缀匹配(Longest Prefix Match)是理解路由决策、排查路由故障的核心。
路由表结构
# Linux 查看路由表
ip route show
# 输出示例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.0.0.0/8 via 10.100.0.1 dev eth1 proto static
10.0.10.0/24 dev eth1 proto kernel scope link src 10.0.10.100
172.16.0.0/12 via 10.100.0.1 dev eth1 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
路由表字段解读:
目标网络 下一跳 接口 来源 度量值
──────────────────────────────────────────────────────────────
default via 192.168.1.1 eth0 dhcp 100 ← 默认路由(0.0.0.0/0)
10.0.10.0/24 (直连) eth1 kernel — ← 直连路由
10.0.0.0/8 via 10.100.0.1 eth1 static — ← 静态路由
最长前缀匹配(LPM)
路由器对每个目标 IP,选择前缀长度最长(最具体)的路由条目:
路由表:
A: 0.0.0.0/0 → 默认路由(via 192.168.1.1)
B: 10.0.0.0/8 → via 10.100.0.1
C: 10.0.10.0/24 → via 10.0.10.1(直连)
D: 10.0.10.0/26 → via 10.0.10.5(更具体)
目标 IP:10.0.10.50
匹配计算:
A: 0.0.0.0/0 → 匹配(所有IP都匹配,/0最短)
B: 10.0.0.0/8 → 匹配(/8)
C: 10.0.10.0/24 → 匹配(/24)
D: 10.0.10.0/26 → 匹配(.50在.0-.63范围内,/26)
选择 D(/26,最长前缀)→ 发往 10.0.10.5
直觉理解:精确地图优先于模糊地图
/32 = 精确到单台主机
/0 = 默认路由(兜底)
路由条目来源
来源标识 含义 管理距离(AD)
──────────────────────────────────────────────────────
C / kernel 直连网络(接口本身) 0
S / static 手动配置的静态路由 1
D / EIGRP EIGRP 动态路由 90 (内部) / 170 (外部)
O / OSPF OSPF 动态路由 110
R / RIP RIP 动态路由 120
B / BGP BGP 路由 20 (eBGP) / 200 (iBGP)
dhcp DHCP 分配 —
管理距离(Administrative Distance):值越小优先级越高
同一目标有多种来源时,选管理距离最小的
路由决策流程
flowchart TD
A[收到 IP 包\n目标: 10.0.10.50] --> B{查路由表\n最长前缀匹配}
B -->|找到具体路由| C{是否有下一跳?}
B -->|只匹配默认路由| D[转发到默认网关]
B -->|无匹配路由| E[丢弃包\n返回 ICMP 不可达]
C -->|有下一跳 IP| F[ARP 解析下一跳 MAC]
C -->|直连网络| G[ARP 解析目标 MAC]
F --> H[封装新以太网帧\n转发到下一跳]
G --> H
关键概念:TTL 与路由环路
IP 头中的 TTL(Time To Live):
- 每经过一个路由器(L3 跳),TTL 减 1
- TTL 减到 0 时,路由器丢弃包,发送 ICMP Time Exceeded
- 防止包在路由环路中无限循环
常见初始 TTL 值:
Linux/Mac: 64
Windows: 128
网络设备: 255
利用 TTL 进行路由追踪(traceroute 原理):
发送 TTL=1 的包 → 第1跳路由器返回 ICMP Time Exceeded
发送 TTL=2 的包 → 第2跳路由器返回 ICMP Time Exceeded
依次增加 TTL → 逐步揭示路径上每一跳
CCNA 对应考点
考纲位置:Domain 3.1 — Interpret the components of routing table
高频考题: - 最长前缀匹配规则(给定路由表和目标IP,选择哪条路由) - 管理距离数值(直连=0, 静态=1, OSPF=110, RIP=120) - 路由表中
O,S,C等标识的含义
下一节:静态路由配置实战——理解了路由表原理,下一步动手配置:如何手动添加静态路由,解决两个网段不通的问题。