1. 路由策略简介

  路由策略是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。路由策略可以用来控制路由的发布、控制路由的接收、管理引入的路由和设置路由的属性。

2. 路由策略的实现

  路由策略的实现步骤如下:

  1)首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以灵活使用过滤器来定义各种匹配规则。

  2) 然后再将匹配规则应用于路由的发布、接收和引入等过程的路由策略中。

3. 过滤器

  过滤器可以看作是路由策略过滤路由的工具,单独配置的过滤器没有任何过滤效果,只有在路由协议的相关命令中应用这些过滤器,才能够达到预期的过滤效果。

  1)访问控制列表

  访问控制列表可以指定IP地址和子网范围,用于匹配路由信息的目的网段地址或下一跳地址。

  2)地址前缀列表

  地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于用户理解。使用地址前缀列表过滤路由信息时,其匹配对象为路由信息的目的地址。

  一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了在地址前缀列表中进行匹配检查的顺序。

  每个表项之间是“或”的关系,在匹配的过程中,路由器按升序依次检查由索引号标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不再对下一个表项进行匹配)。

3. AS路径访问列表(as-path)

  as-path仅用于BGP路由的过滤。BGP路由的AS_PATH属性记录了从本地到目的地址所要经过的所有AS号。as-path就是针对AS_PATH属性指定匹配条件。

4. 团体属性列表(community-list)

  community-list仅用于BGP路由的过滤。BGP路由中包含团体(COMMUNITY)属性,该属性用来标识路由所属的组。community-list就是针对团体属性指定匹配条件。

5. 扩展团体属性列表(extcommunity-list)

  extcommunity-list仅用于BGP路由的过滤。BGP扩展团体属性有两种,一种是用于VPN的RT(Route Target,路由目标)扩展团体,另一种则是SoO(Site of Origin,源站点)扩展团体。扩展团体属性列表就是针对这两种属性指定匹配条件。

6. RD属性列表(rd-list)

  RD属性列表是针对RD属性信息的匹配条件,仅用于VPN路由的过滤。每个RD属性列表可以包含多个表项,每一个表项会指定一个RD号的范围,并用一个index-number来标识,index-number指明了在RD属性列表中进行匹配检查的顺序。

7. 路由策略

  路由策略是一种比较复杂的过滤器,它不仅可以匹配路由信息的某些属性,还可以在条件满足时改变路由信息的属性。路由策略可以使用前面几种过滤器定义自己的匹配规则。

  一个路由策略可以由多个节点构成,每个节点是匹配检查的一个单元。在匹配过程中,系统按节点序号升序依次检查各个节点。不同节点间是“或”的关系,如果通过了其中一个节点,就意味着通过该路由策略,

  不再对其他节点进行匹配(配置了continue子句的情况除外)。

  每个节点对路由信息的处理方式由匹配模式决定。匹配模式分为permit和deny两种。

  · permit:指定节点的匹配模式为允许模式。当路由信息通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点的匹配(配置了continue子句的情况除外);如果路由信息没有通过该节点过滤,将进入下一个节点继续匹配。

  · deny:指定节点的匹配模式为拒绝模式(此模式下apply子句和continue子句不会被执行)。当路由信息通过该节点的过滤后,将被拒绝通过该节点,不进入下一个节点的匹配;

  如果路由信息没有通过该节点的过滤,将进入下一个节点继续匹配。

  每个节点可以由一组if-match、apply和continue子句组成。

  · if-match子句:定义匹配规则,匹配对象是路由信息的一些属性。同一节点中不同类型的if-match子句是“与”的关系,相同类型的if-match子句是“或”的关系,只有满足节点内所有类型if-match子句指定的匹配条件,才能通过该节点的匹配。

  · apply子句:指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。

  · continue子句:用来配置下一个执行节点。当路由成功匹配当前路由策略节点(必须是permit节点)时,可以指定路由继续匹配同一路由策略内的下一个节点,这样可以组合路由策略各个节点的if-match子句和apply子句,

  增强路由策略的灵活性。配置了continue子句后,路由即使未通过下一个执行节点的匹配,也会通过该路由策略的过滤。如果需要拒绝该路由通过,则需要在下一个执行节点之后添加一个没有子句的deny节点。

  if-match、apply和continue子句可以根据应用进行设置,都是可选的。

  · 如果只过滤路由,不设置路由的属性,则不需要使用apply子句。

  · 如果某个permit节点未配置任何if-match子句,则该节点匹配所有的路由。

  · 通常在多个deny节点后设置一个不含if-match子句和apply子句的permit节点,用于允许其它的路由通过。

8.路由策略显示和维护

  

 

posted on 2022-04-06 16:22  星痕1216  阅读(459)  评论(0编辑  收藏  举报