1. Policy-based-Routing(策略路由 PBR)特征
- PBR 操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而根据需要,依照某种策略改变数据包的转发路径
- 基于源地址、数据应用、数据包长度等,这样转发数据包更灵活
- 根据数据包的特征修改其相关 QoS 项,进行为 QoS 服务
- 用于提高网络的安全性能和负载分担
- ACL 和流行为中,只要有一个 deny,那么最终报文处理结果就是 deny
- PBR 优于路由表操作(策略路由 > 默认路由 > 动态路由 Match)
- PBR 影响的只是本地的行为,可能会引起 “不对称路由” 形式的流量
- PBR 一般针对的是接口 “入方向” 的数据包,但也可在启用相关配置的情况下对本地所发出的数据包也进行策略路由
2. Routing-Policy and Policy-based-Routing 的区别
策略路由是在路由表之前起作用,如果报文匹配了策略路由,那么这个报文就不会再去查路由表了,而是直接按照策略路由的 “指引” 进行转发(策略路由更加灵活)
- 路由策略
- 路由策略的操作对象是路由信息
- 路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径
- 策略路由
- 策略路由的操作对象是数据包
- 在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包转发路径
| 不同点 | 路由策略 | 策略路由 |
| :—-: | :—-: | :—-: |
| 作用对象 | 路由信息 | 数据包 |
| 实现主体 |
- 控制平面
- 实现路由的过滤和属性值的修改
|
- 转发平面
- 保证数据包按指定的路径转发
| | 是否改变转发流程 | 不改变转发流程 | 改变转发流程 | | 过滤机制 |
- 基于 ACL 过滤
- 基于 IP-perfix List 过滤
- 基于 AS-Path-Filter 过滤
- 基于 Community-Filter 过滤
- 基于 Extcommunity Filter 过滤
- 基于 Route Distinguisher-Filter 过滤
- 基于 Route-Policy 过滤(路由属性、路由类型)
…… |
- 基于ACL
- 基于流分类
- 基于流行为
- 基于流策略
| | 应用主体 | 路由协议 |
- 全局
- VLAN
- 接口下
|
3. 应用方式
1)本地 PBR
仅对本机下发的报文进行处理,对转发的报文不起作用
- 可以配置多个策略点,且这些策略点具有不同的优先级,本机下发报文优先匹配优先级高的策略点,进行依次匹配规则
- 查看用户是否设置了报文的优先级
- 查看用户是否设置了本地策略路由的出接口
- 查看用户是否设置了本地策略路由的下一跳
- 查看用户是否设置了本地策略路由的缺省出接口
- 查看用户是否设置了本地策略路由的缺省下一跳
- 丢弃报文,产生ICMP_UNREACH消息
如果没有找到匹配的本地策略路由节点,按照发送 IP 报文的一般流程,根据目的地址查找路由
2)接口 PBR(流策略)
只对转发的报文起作用,对本机下发的报文不起作用(比如 ping)
通过在流行为中配置重定向实现,只对接口入方向的报文生效
- 如果配置了接口策略路由,设备会按照接口策略路由指定的下一跳进行转发
4. Policy Based Routing工具