1、PBR (policy-based-route,策略路由)
是一种依据用户制定的策略进行路由选择的机制
与单纯依照IP报文的目的地查找路由表进行转发不同。PBR可基于到达报文的源地址、长度等信息灵活地进行路由选择。
PBR可实现根据报文源地址不同来进行不同数据不同链路转发,如下图:
2、PBR组成
PBR中包含若干个节点,节点中包含了子句
一个PBR可以由多个带有编号的节点(node)构成,每个节点是匹配检查的一个单元,在匹配过程中,系统按节点编号升序依次检查各个节点。
每个节点可以由一组if-match和apply子句组成。if-match子句定义节点的匹配规则,匹配对象是报文的特征,如源ip地址、报文承载的协议、端口号,报文的长度等。apply子句定义通过该节点过滤后进行的动作
3、PBR匹配流程
”或“ 关系意味着只要通过了任意一节点的过滤,就意味着通过该PBR的过滤,不会再对其他节点进行匹配。
如果节点的匹配模式为允许模式(permit),则每一个节点中的if-match子句之间的过滤关系是“与” 的关系,意思就是经过该处的报文必须满足该节点下的所有的if-match子句才能够继续执行该节点的apply子句。
如果节点的匹配模式为拒绝模式(deny),则当IP报文满足该节点所有if-match子句时,将拒绝通过该节点,不进入下一个节点的匹配;如果报文不满足该节点的if-match子句,将进入下一个节点继续匹配。
通过一个节点所定义的策略的报文将不在参与其他节点策略的过滤和处理。如果报文不能通过一个PBR所有节点的匹配,则认为没有通过该PBR,该报文按正常转发流程处理。
4、PBR配置与查看
一般情况下,使用接口策略路由。如果要使用系统策略路由,则需要在系统视图下开启,配置为:ip local policy-based-route policy-name
在配置出接口和下一跳时,可以同时配置两个发送接口或两个下一跳,这两个发送接口或下一跳同时有效,可以起到负载分担的作用。
仅当报文目的ip地址在路由表中没有查找到相应的路由,路由器才会使用PBR所配置的缺省下一跳或者出接口(命令为apply default-output-interface 和 apply default-next-hop)进行ip报文转发
5、PBR的应用
根据源地址的不同,在出接口实现负载分担
PBR被广泛应用在源地址路由、负载分担等场合中
如下:
调用acl 3102 进行匹配
如果匹配,则执行将数据以S2/1为出接口发送的动作
调用acl 3101 进行匹配
如果匹配,则执行将数据以S2/0为出接口发送的动作
创建一个名为 aaa ,允许模式,节点5 的策略路由
创建一个名为 aaa ,允许模式,节点10 的策略路由
对接口G0/0转发的报文应用策略 aaa
注:
Serial口是点对点连接(P2P),所以此接口可以用PBR指定下一跳。
G口(千兆以太口)是以太网口,无法确定下一跳是哪里,不能用指定出接口的方式指定路径,所以需要用next-hop(下一跳)
策略路由的优先级高于普通路由,所以在数据转发的过程中会优先匹配策略路由而后匹配普通路由
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4737.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~