48小时系统班试听入口

【网工技术分享】路由策略与策略路由

发布作者:新盟教育 发布日期:2023-03-09 浏览人数:1256人

网工技术分享

一、路由策略


路由策略是通过修改路由表的路由条目来控制数据流量的可达性。即对接受和发布的路由进过滤。这种方式称为路由策略。


图片


对于路由策略的实现中,首先要进行路由信息特征的提取,可以使用过滤去进行数据的过滤,当然过滤的属性可以是各种属性,例如源目地址等等,然后根据这些属性进行数据的分流后,应用于路由的发布、接受、引入。


1、路由信息特征提取工具


①访问控制列表ACL(Access Control List):由permit或deny语句组成的一系列有顺序规则的集合,它通过匹配报文的信息实现对报文的分类。


ACL的分类:


  • 基本ACL:主要基于源地址、分片标记和时间段信息对数据包进行分类定义,编号范围为2000-2999。
  • 高级ACL:可以基于源地址、目的地址、源端口号、目的端口号、协议类型、优先级、时间段等信息对数据包进行更为细致的分类定义,编号范围为3000-3999。
  • 二层ACL:主要基于源MAC地址、目的MAC地址和报文类型等信息对数据包进行分类定义,编号范围为4000-4999。
  • 用户自定义ACL:主要根据用户自定义的规则对数据报文做出相应的处理,编号范围为5000-5999。


一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则继续匹配下一条。

一旦找到一条匹配的规则,就会执行规则中定义的动作,且不再继续与后续规则进行匹配;如果找不到匹配的规则,则设备会对报文直接进行转发。

需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。

②:地址前缀列表即IP-Prefix List。可以通过地址前缀列表,将与所定义的前缀过滤列表相匹配的路由,根据定义的匹配模式进行过滤,以满足使用者的需要。

  • 前缀列表的组成及匹配规则:


前缀过滤列表由IP地址和掩码组成,IP地址可以是网段地址或者主机地址,掩码长度的配置范围为0~32。

IP-Prefix List中的每一条IP-Prefix都有一个序列号index,匹配的时候将根据序列号从小到大进行匹配。

如果不配置IP-Prefix的index,那么对应的index在上次配置的同名IP-Prefix的index的基础上,以步长为10进行增长。如果配置的IP-Prefix的名字与index都和已经配置了的一项IP-Prefix List的相同,仅仅只是匹配的内容不同,则该IP-Prefix List将覆盖原有的IP-Prefix List。

当所有前缀过滤列表均未匹配时,缺省情况下,存在最后一条默认匹配模式为deny。当引用的前缀过滤列表不存在时,则默认匹配模式为permit。

  • 前缀掩码长度范围:


前缀过滤列表可以进行精确匹配或者在一定掩码长度范围内匹配,并通过配置关键字greater-equal和less-equal来指定待匹配的前缀掩码长度范围。如果没有配置关键字greater-equal或less-equal,前缀过滤列表会进行精确匹配,即只匹配掩码长度为与前缀过滤列表掩码长度相同的IP地址路由;

如果只配置了关键字greater-equal,则待匹配的掩码长度范围为从greater-equal指定值到32位的长度;如果只匹配了关键字less-equal,则待匹配的掩码长度范围为从指定的掩码到关键字less-equal的指定值。

③:AS-PATH-filter(通过正则表达式进行筛选)

2、路由策略工具

①Route-Policy工具:

Route-Policy是一种功能非常强大的路由策略工具,它可以灵活地与ACL、IP-Prefix List、As-Path-Filter等其它工具配合使用,Route-Policy的每个node都有相应的permit模式或deny模式。

如果是permit模式,则当路由项满足该node的所有if-match子句时,就被允许通过该node的过滤并执行该node的apply子句,且不再进入下一个node;如果路由项没有满足该node的所有if-match子句,则会进入下一个node继续进行过滤。如果是deny模式,则当路由项满足该node的所有if-match子句时,就被拒绝通过该node的过滤,这时apply子句不会被执行,并且不进入下一个node;否则就进入下一个node继续进行过滤。

②Filter-Policy工具:

Filter-Policy能够对接收或发布的路由进行过滤,可应用于ISIS、OSPF、BGP等协议。应用各协议中的Filter-Policy工具可通过引用ACL或地址前缀列表,对接收、发布和引入的路由进行过滤。

对于距离矢量协议和链路状态协议,Filter-Policy工具的操作过程是不同的:
距离矢量协议是基于路由表生成路由的,因此过滤器会影响从邻居接收的路由和向邻居发布的路由。

链路状态路由协议是基于链路状态数据库来生成路由的,且路由信息隐藏在链路状态LSA中,但Filter-Policy不能对发布和接收的LSA进行过滤,故Filter-Policy不影响链路状态通告或链路状态数据库的完整性以及协议路由表,而只会影响本地路由表,且只有通过过滤的路由才被添加到路由表中,没有通过过滤的路由不会被添加进路由表。

不同协议应用filter-policy export命令对待发布路由的影响范围不同:

对于距离矢量协议,会对引入的路由信息、本协议发现的路由信息进行过滤。
对于链路状态协议,只对引入的路由信息进行过滤。


二、策略路由

策略路由是通过用户制定的策略进行转发,且策略路由优于路由表的转发。这种方式称为策略路由。由此可知,路由策略是基于路由表进行流量的转发,而策略路由是基于策略进行流量的转发,即根据一定的策略进行报文转发,因此策略路由是一种比目的路由更灵活的路由机制。

在路由器转发一个数据报文时,首先根据配置的规则对报文进行过滤,匹配成功则按照一定的转发策略进行报文转发。这种规则可以是基于标准和扩展访问控制列表,也可以基于报文的长度;而转发策略则是控制报文按照指定的策略路由表进行转发,也可以修改报文的IP优先字段。因此,策略路由是对传统IP路由机制的有效增强。

  • 策略路由的选路参数:源目IP址、协议字段,甚至于TCP、UDP的源目的端口等多种组合进行选路,较为灵活。
  • 策略路由进行数据包的转发时,不是简单根据目的IP地址而定,而是综合考虑多种因素,例如源目端口号、IP地址等参数进行流量工程制定,能够满足不同业务走不同链路的需求,基于流量进行分配。
  • 策略路由优势:

①不同的用户可以分配不同的链路(例如存在多个ISP)
②设置IPP或者TOS字段来实现QoS
③实现负载均衡


1、策略路由的处理流程

①流模式

第一个包查路由转发表,如果存在路由,将该路由项以source、dest、tos、入接口等索引放置到cache中,以后同样的流就可以直接查cache
对于低端路由器,所有操作由CPU+内存处理
对于中高端设备,一般由NP 和Asic芯片完成处理

②逐包模式

每个包都进行查表后才进行转发

2、策略路由PBR分为

  • 本地策略路由:对本设备发送的报文实现策略路由,比如本机下发的ICMP、BGP等协议报文。
  • 当用户需要实现不同源地址的报文或者不同长度的报文通过不同的方式进行发送时,可以配置本地策略路由。
  • 常用Policy-Based-Route工具来实现。



  • 接口策略路由:对本设备转发的报文生效,对本机下发的报文不生效。
  • 当用户需要将收到的某些报文通过特定的下一跳地址进行转发时,需要配置接口策略路由。使匹配重定向规则的报文通过特定的下一跳出口进行转发,不匹配重定向规则的报文则根据路由表直接转发。接口策略路由多应用于负载分担和安全监控。
  • 常用Traffic-Policy工具来实现。


  • 智能策略路由:基于链路质量信息为业务数据流选择最佳链路。

当用户需要为不同业务选择不同质量的链路时,可以配置智能策略路由。

3、路由策略以及策略路由区别

图片