路由策略和策略路由
策略路由简介
定义
策略路由PBR(Policy-Based Routing)是一种依据用户制定的策略进行路由选择的机制。
- 策略路由与路由策略(Routing Policy)存在以下不同:
- 策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包转发路径。
- 路由策略的操作对象是路由信息。路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。
目的
传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但是目前越来越多的用户希望能够在传统路由转发的基础上根据自己定义的策略进行报文转发和选路。
受益
策略路由具有如下优点:
- 可以根据用户实际需求制定策略进行路由选择,增强路由选择的灵活性和可控性。
- 可以使不同的数据流通过不同的链路进行发送,提高链路的利用效率。
- 在满足业务服务质量的前提下,选择费用较低的链路传输业务数据,从而降低企业数据服务的成本。
路由策略
路由策略是为了改变网络流量所经过的途径而对路由信息采用的方法。
定义
路由策略是通过一系列工具或方法对路由进行各种控制的“策略”。该策略能够影响到路由产生、发布、选择等,进而影响报文的转发路径。工具包括ACL、route-policy、ip-prefix、filter-policy等,方法包括对路由进行过滤,设置路由的属性等。
目的
在IP网络中,路由策略的用途主要包括两个方面:对路由信息进行过滤和修改路由的属性,如表1所示。
作用 | 执行过程 | 结果 |
---|---|---|
对路由信息进行过滤 | 如果某条路由符合某种条件,那么就接收这条路由。 如果某条路由符合某种条件,那么就发布这条路由。 如果某条路由符合某种条件,那么就引入这条路由。 |
要不要这条路由? |
修改路由的属性 | 如果某条路由符合某种条件,那么将这条路由的某个属性值修改为一个特定值。 | 将这条路由的某个属性值修改为一个特定值。 |
通过路由策略对路由信息进行过滤
图1 通过路由策略对路由信息进行过滤
如图1所示,SwitchA属于双上行的组网结构,SwitchA会从SwitchB和SwitchC那里分别接收到路由。如果SwitchA仅希望接收来自SwitchB的路由,而不希望接收来自SwitchC的路由。这种情况下就可以考虑在SwitchA上配置路由策略,允许来自SwitchB的路由,拒绝来自SwitchC的路由。
通过路由策略修改路由的属性
图2 通过路由策略修改路由的属性
如图2所示,SwitchA也是双上行的网络结构,但是,由于SwitchB这边的链路稳定性更好一点,带宽更大一点,因此用户想用SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,当主用链路故障的时候流量自动切换至备用链路。这种场景下,可以使用路由策略,将来自SwitchB这边的路由开销值调小,将来自SwitchC这边的路由开销值调大,这样流量就会自动选取SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,实现路由的主备份。
受益
路由策略具有以下价值:
- 控制路由的接收、发布和引入,提高网络安全性。
- 修改路由属性,对网络数据流量进行合理规划,提高网络性能。
一个策略路由示例,当一个容器配置两张网卡,分别配置两个段的地址,把数据分层。
nsenter -t 3860280 -n -F -- ip route add default via 10.243.39.126 dev eth1 table 16
nsenter -t 3860280 -n -F -- ip rule add from 10.243.39.98/27 lookup 16
一般我们操作的路由表示0号路由表,上面的例子是容器中eth1的数据包都走16号路由表,默认网关是10.243.39.126,eth0走0号路由表默认到自己的网关。这样达到数据分层的目的。可以通过如下命令查看所有的路由表及0号路由表:
ip rule list
ip route list table 0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南