策略路由概述:为什么需要策略路由?

大家好,我是你们的老朋友。今天我们来聊聊策略路由,也就是 PBR。

说实话,很多刚入行的朋友觉得路由就是查表转发,目标 IP 匹配一下,完事。但现实网络哪有这么简单?你想想看,一个企业出口,既要保证视频会议不卡,又要让下载流量别占满带宽,还得让财务系统走专线。普通路由能搞定吗?搞不定。

这就是为什么我们需要策略路由。

传统路由的局限性

传统路由,说白了就是「目标 IP 驱动」。路由器收到一个包,看一眼目的地址,去路由表里找最长匹配,找到就转发,找不到就丢弃。

这个机制本身没问题,但它太「死板」了。它只关心「你要去哪」,完全不关心「你是谁」、「你从哪来」、「你是什么流量」。

传统路由的决策依据只有一个:目标 IP 地址。

而策略路由的决策依据可以是:源 IP、目的 IP、协议类型、端口号、报文长度、入接口、甚至时间。

我在项目中遇到过这样一个场景:某公司有两条出口,一条电信,一条联通。传统路由只能根据目标 IP 选路,结果联通的用户访问公司网站,流量却走了电信链路,延迟高得离谱。用户投诉不断,运维头疼不已。

用策略路由,一句话就解决了:源 IP 属于联通用户的,走联通出口;源 IP 属于电信用户的,走电信出口。就这么简单。

PBR 与传统路由的区别

我习惯用一个比喻来解释:

  • 传统路由:就像快递只看收件地址。不管你是谁,不管包裹多重,只要地址对,就按固定路线送。
  • 策略路由:就像智能快递员。看到是生鲜,走冷链专线;看到是文件,走航空;看到是易碎品,走陆运且轻拿轻放。

从技术层面看,区别主要在以下几点:

对比维度 传统路由 策略路由 (PBR)
决策依据 仅目标 IP 源 IP、目的 IP、协议、端口、报文长度等
处理位置 路由表查找 入接口或出接口,先于路由表
灵活性 低,固定路径 高,可自定义转发策略
性能开销 相对较高(需额外匹配规则)
适用场景 简单网络,无特殊需求 多出口、负载均衡、流量工程

嗯,这里要注意:策略路由是在路由表查找之前执行的。也就是说,PBR 的优先级高于传统路由。你配置了 PBR,流量就会按照你的策略走,不再看路由表。

避坑指南:我曾经在项目中犯过一个低级错误——配置了 PBR 但忘了写 fallback 路由。结果策略匹配不到的流量,直接丢了。后来我养成了一个习惯:PBR 策略最后一定要加一条「其余流量走路由表」的规则,或者配置一条默认路由兜底。

PBR 的应用场景

说了这么多理论,咱们来看看实际中哪些地方非用 PBR 不可。

1. 多出口选路

这是最常见的场景。企业有两条或多条互联网出口,需要根据流量类型选择不同链路。

  • 视频会议流量走专线(低延迟)
  • 普通上网流量走宽带(低成本)
  • 下载流量走备用链路(不占用主链路带宽)

2. 基于源地址的策略

比如公司内部有研发部和财务部。财务系统必须走专线连接到银行,而研发部可以走普通出口。用 PBR 匹配源 IP 范围,轻松实现。

3. 负载均衡

传统路由只能选一条最优路径,另一条闲置。PBR 可以按比例或按会话将流量分配到多条链路上,实现真正的负载均衡。

小技巧:我建议在做负载均衡时,不要只按报文数量分,最好按会话分。否则同一个 TCP 连接的包走了不同路径,会导致乱序重传,性能反而下降。

4. 服务质量保障 (QoS 联动)

PBR 可以和 QoS 配合使用。比如匹配到语音流量,不仅走优质链路,还可以标记 DSCP 值,让整网设备优先处理。

5. 安全策略

某些敏感流量需要经过安全设备检测。用 PBR 把流量引到防火墙或 IPS 设备,检测完再放行。这个在金融行业很常见。

核心逻辑框架

下面这张图是我自己画的,帮你理清 PBR 的核心逻辑:

策略路由 (PBR) 核心逻辑框架 数据包到达接口 PBR 策略匹配 匹配源IP/目的IP/协议/端口等 匹配成功? 按 PBR 策略转发 指定下一跳/出接口 回退到传统路由表

从这张图可以看得很清楚:数据包到达接口后,先经过 PBR 策略匹配。如果匹配成功,直接按策略指定的下一跳或出接口转发。如果匹配失败,才回退到传统路由表。这个顺序很重要,千万别搞反了。

总结一下

策略路由不是银弹,但它解决了很多传统路由解决不了的问题。我个人觉得,只要你的网络有两条以上的出口,或者有特殊的流量调度需求,PBR 就是必备技能。

记住三个核心点:

  • PBR 先于路由表执行
  • PBR 可以匹配多种条件,不只是目标 IP
  • PBR 一定要有兜底策略,否则流量会丢

下一节我们会深入 PBR 的配置细节,包括 Cisco 和华为设备的具体命令。今天就先到这里,有问题欢迎交流。


公众号:蓝海资料掘金营,微信 deep3321