PBR(Policy Based Routing)是路由策略中的内容,全称为基于策略的路由。
所谓策略路由,顾名思义,即是根据一定的策略进行报文转发,因此策略路由是一种比目的路由更灵活的路由机制。
在路由器转发一个数据报文时,首先根据配置的规则对报文进行过滤,匹配成功则按照一定的转发策略进行报文转发。
这种规则可以是基于标准和扩展访问控制列表,也可以基于报文的长度;而转发策略则是控制报文按照指定的策略路由表进行转发,也可以修改报文的IP优先字段。
因此,策略路由是对传统IP路由机制的有效增强。PBR的好处在于PBR能够根据源来选择路由,而普通的方法只能根据目的去选择路由。
基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力。
传统上,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。
基于策略的路由比传统路由能力更强,使用更灵活,它使网络管理者不仅能够根据目的地址而且能够根据协议类型、报文大小、应用或I P源地址来选择转发路径。
策略可以定义为通过多路由器的负载平衡或根据总流量在各线上进行报文转发的服务质量(QoS)。
可以根据数据包的如下特性,来设置策略路由:
-
802.1p优先级
-
VLAN ID
-
源/目的MAC地址
-
源/目的的IP地址(包括IP MASK部分)
-
TCP/UDP源/目的端口号
-
IP优先级
-
DSCP的优先级
-
IP的协议类型字段
当在接收报文的接口设定了策略路由后,交换机在该接口,检测到来的数据报文,当检测到有匹配相应流分类特征的数据数据报文经过时,就查找相应的策略路由表项,按照策略路由表项所指定的下一跳IP地址或是缺省路由IP地址,来选择转发路径。
策略路由影响的只是本地的行为,所以可能会引起“不对称路由”形式的流量。比如一个单位有两条上行链路A与B,该单位想把所有HTTP流量分担到A链路,FTP流量分担到B链路,这是没有问题的,但在其上行设备上,无法保证下行的HTTP流量分担到A链路,FTP流量分担到B链路。
例如:
路由器通过两条不同的链路连接至两ISP,对于从f0/1接口进入的流量,在没有“精确路由”匹配的情况下,把源地址为1.1.1.1的数据包使用策略路由转发至6.6.6.6, 源地址为2.2.2.2的数据包转发至7.7.7.7,其它数据全部丢弃。
access-list 1 permit ip 1.1.1.1 access-list 2 permit ip 2.2.2.2 interface f0/1 ip policy route-map equal-access route-map equal-access permit 10 match ip address 1 set ip default next-hop 6.6.6.6 route-map equal-access permit 20 match ip address 2 set ip default next-hop 7.7.7.7 route-map equal-access permit 30 set default interface null0
优点:
1.基于源的路由可以使不同的用户选择不同的ISP
2.通过设置IP Precedence或Tos来实现QOS
3.实现负载均衡
注意:
1、PBR只能用于in一个方向,因为route-map是凌驾于路由表之上的,流量进入接口后如果检测到有route-map的配置的话就不会去查找路由表了,而是先按照route-map策略配置的进行转发。
2、PBR受到CEF特性的影响,如果实验不出效果可以尝试在设备no ip cef