《笔记》关于网络运维那些事---(路由策略与PBR)

路由策略(Routing Policy)是一套用于对路由信息进行过滤、属性设置等操作的方法,通过对路由的控制,可以影响数据流量转发操作。

路由-策略(Route-Policy)是路由策略技术专题中一个重要工具,它既可以被用来执行路由过滤,又可以用于修改路由的属性。

路由-策略(Route-Policy)是一个非常重要的路由工具,可以把它想象成拥有一个或多个节点的列表,每一个节点都可以是一系列语句及执行语句的集合,这些节点按照编号从小到大的顺序排列。在每个节点中,用户可以定义条件语句及执行语句。在Route-Policy被执行的时候,设备从编号最小的节点开始进行路由匹配,如果被匹配的对象满足所有的条件,则执行该节点的执行语句,并且不会再继续向下一个节点进行匹配。如果当前节点不满足匹配条件,则前往下一个节点进行匹配,以此类推。

例子:      route-policy  {策略名称}  permit node {节点序号}

                  if-match  x1(条件语句)

                  if-match x2

                  apply(执行语句)

                  route-policy  {策略名称}  deny node {节点序号}

                  if-match  x1(条件语句)

                  apply(执行语句)

permit:指定节点的匹配模式为允许。如果路由匹配的结果是满足该节点的所有if-match语句,则该路由被视为允许通过,该节点的apply语句将被执行,且不再进入下一个节点进行匹配;如果该节点中有if-match语句不满足,则进入下一个节点继续匹配。

deny:指定节点的匹配模式为拒绝。如果节点的匹配模式为拒绝,则该节点的apply语句将不被执行。如果路由匹配的结果满足该节点所有if-match语句,那么Route-Policy的匹配过程立即结束,不会再进入下一个节点,而且满足该节点条件的路由被视为拒绝通过。如果该节点有if-match语句不满足,则进入下一个节点继续匹配。

如果某条路由没有被Route-Policy的任何节点匹配,则该路由被视为拒绝通过该Route-Policy,也就是说,Route-Policy的末尾隐含一个类似拒绝所有的节点。

if-match:可定义匹配条件,所匹配的对象可以是“网络地址或掩码长度”“度量值”“标记”“下一跳IP”“ACL”等。

一个节点中可以包含多条if-match语句,这些if-match语句之间是“与”的关系,但是有一些特殊的例如“if-match route-type”和“if-match interface”等除外,它们之间是“或”的关系。

一个节点中可以不包含任何if-match语句,这种情况则被视为匹配所有,也就是任何的被匹配对象都满足该节点的条件。

apply:可指定执行动作,这些动作主要是对所匹配的路由的某些属性进行修改,如“度量值”“优先级值”“标记”等。

一个节点中可以不包含任何apply语句,此时该节点只被用于执行路由过滤,而不用于设置路由属性。


Filter-Poliicy(过滤-策略):是一款用于路由过滤的工具,可以将其视为一种路由过滤器。

Filter-Policy只能够对路由信息进行过滤,而无法对LSA进行过滤。

例如:filer-policy {ACL} export {接口}                            filer-policy {ACL} import

export:对该路由器发出的流量进行过滤

import:对该路由器接收的流量进行过滤

一个接口只能配置一个Filter-Policy,如果不指定接口,则被视为全局策略,也就是说,该过滤器对所有接口生效。


IP前缀列表:

IP前缀列表是一个列表形态的工具。它所匹配的对象是IP前缀地址,也就是路由条目。一个路由条目由目的网络地址及掩码长度共同标识。

IP前缀列表可以包含一条或多条语句,每条语句都是用一个十进制的序号进行标识。

例如:ip ip-prifix {列表名称} index {序号} permit {IP地址}{掩码长度} greater-equal 24 less-equal 32

IP前缀列表可以作为路由过滤器被应用与各种场景,比如Route-Policy调用,Filter-Policy调用,BGP路由协议中被直接用于路由过滤。

1.ip ip-prefix aa index 10 permit 172.16.0.0 24

上述语句要求路由的目的网络地址的前24个比特位需与172.16.0.0的前24个比特位相同,并且路由的网络掩码长度必须为24。

2.ip ip-prefix bb index 10 permit 172.16.0.0 less-equal 24

上述语句要求路由的目的网络地址的前16比特位需与172.16.0.0的前16比特位相同,并且路由的网络掩码长度必须大于或等于16,且小于或等于24.

3.ip ip-prefix cc index 10 permit 172.16.0.0 16 greater-equal 24

上述语句要求路由的目的网络地址的前16比特位需与172.16.0.0的前16比特位相同,并且路由的目的网络掩码长度必须大于或等于24(且小于或等于32,系统会自动在该命令后添加less-equal 32)

4.ip ip-prefix dd index 10 permit 172.16.0.0 16 greater-equal 24 less-equal 30

上述语句要求路由的目的网络地址前16比特位需与172.16.0.0的前16比特位相同,并且路由的目的网络掩码长度必须大于或等于24,且小于或等于30.

5.ip ip-prefix ee index 10 deny 172.16.0.0 30

  ip ip-prefix ee index 20 permit 172.16.0.0 24

上述IP前缀列表的名称为ee,它拥有两条语句。序号为10的语句要求路由的目的网络地址的前30比特位需与172.16.0.0的前30个比特位相同,并且路由的目的网络掩码长度必须为30,而且该语句的匹配模式为deny。另外,序号为20的语句要求路由的目的网络地址的前24个比特位需与172.16.0.0的前24个比特位相同,并且路由的目的网络掩码长度必须为24。

6.ip ip-prefix ff index 10 permit 0.0.0.0 0 less-equal 32

上述语句中,IP地址为0.0.0.0,这种形式的IP地址被称为通配地址,也即该地址能匹配任意的目的网络地址。因此该语句不关心被匹配路由的目的网络地址,但是要求路由目的网络掩码长度必须大于或等于0,且小于或等于32。实际上所有路由都满足该条件。

7.ip ip-prefix gg index 10 deny 172.16.0.0 30

  ip ip-prefix gg index 20 permit 0.0.0.0 0 less-equal 32

上述语句中,序号为10的语句拒绝了路由的目的网络地址前30个比特位与172.16.0.0的前30个比特位相同且路由的掩码长度为30的地址。而序号20语句则为允许所有路由。

8.ip ip-prefix hh index 10 permit 0.0.0.0 0 greater-equal 32 less-equal 32

上述IP前缀列表将匹配网络掩码长度为32的任意路由,也就是匹配所有的主机路由。

9.ip ip-prefix ii index 10 permit 0.0.0.0 0

这是一个特殊的语句,该语句允许的是默认路由0.0.0.0/0。


PBR(Policy-Based Routing,策略路由)

路由策略:操作的对象是路由信息,是一套用于对路由信息进行过滤、属性设置等操作的方法,通过对路由的操作或控制,来影响数据报文的转发路径。

策略路由:操作的对象是数据报文,直接对数据报文进行操作,通过多种手段匹配感兴趣的报文,然后执行丢弃或强制转发路径等操作。

PBR是通过MQC(Modular QoS Command-Line Interface,模块化QoS命令行)来实现的。

MQC包含三个要素:流分类(Traffic Classifier)、流行为(Traffic Behavior)、流策略(Traffic Policy),基本的思路是,使用流分类来匹配具有共同特征的流量,使用流行为定义所要执行的动作,然后通过流策略将前面定义好的流分类和流行为进行绑定,最后将流策略应用到设备上,从而实现“针对特定的流量执行特定的动作”这一目标。












最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容