一、背景
前面我们学习了一些常用的路由协议,如静态路由,ospf,isis,bgp,这些路由协议可以为我们手动或自动的学习路由并让数据进行转发,但实际组网中我们并不需要路由器全部学习到这些路由,这时我们就需要有一种方法能让我们路由器学到我们想要的路由,且能让数据按照我们的想法进行路径选择和过滤。因此,路由策略和策略路由应运而生。
二、知识储备(acl、ip-prefix)
1、工欲善其事必先利其器,学习两种技术前我们还需要一些必备的知识储备作为学习前提,才能更好的掌握,因此我们先来学习下路由匹配工具acl和ip-prefix list
2、acl(access control list)访问控制列表,能对报文和路由进行匹配和区分
1)、acl由若干条permit 或deny语句组成,
acl number 2000 (2000为访问控制列表编号)
rule 5 permit source 10.0.1.0 0.0.0.255 (5为规则编号,从小到大排序,permit和deny为处理动作,允许和拒绝通行,0.0.0.255为通配符,为0是严格匹配,为1任意匹配 ;0.0.0.0 0为匹配任意地址)
这命令表示的意思:允许源ip地址为10.0.1.0/24网段的报文通过
2)、acl的分类
基本acl(最常用):2000-2999;使用源ip地址、分片信息和生效时间段来定义规则
高级acl(常用):3000-3999;包含基本acl,还可使用目的ip地址,ip协议类型,icmp类型,tcp/udp端口号等来定义规则
二层acl:4000-4999;使用以太网帧头信息定义规则
用户自定义acl:5000-5999;使用报文头,偏移位置,字符串和用户自定义字符串定义规则
用户acl:6000-6999;包含高级acl,还可以使用源目ucl组
3)acl工作原理
①、匹配acl的设备在接收报文后,会将该报文与acl中的规则逐条匹配,匹配上了执行动作,匹配不上继续匹配,如果所有条件都没匹配上,则默认为不匹配。
②、华为设备支持两种匹配顺序,自动排线(auto模式)和配置顺序(config模式)
自动排序:系统将规则按照精确度从高到低进行排序匹配(用得少)
配置顺序:系统按照acl规则编号从小到大进行报文匹配
3、ip-prefix list
1)、acl作为常用的路由匹配工具已经能解决大多数问题了,但它仍然有不足之处,因为acl匹配的是ip地址范围。比如上面命令匹配的是10.0.1.0-10.0.1.255这段范围的地址,但这段范围第地址具体属于哪个子网的并没有说情情况,它可以是掩码为24或者23等等网段的IP地址。这时ip-prefix list这个出现就解决了上述问题。
2)、ip-prefix list(地址前缀列表)是将路由条目目的网络地址、掩码长度作为匹配条件的过滤器,对比acl,它更增强了匹配的精确度。例:
ip ip-prefix test index 10 permit 10.0.1.0 22 greater-equal 23 less-equal 26
test为地址前缀列表名称,index为序号(从小到大),deny为拒绝动作,10.0.1.0 22为ip网段和掩码,greater-equal 23 less-equal 26为匹配的掩码范围(mask<=greater<=less)。
这条命令的意思:接受10.0.1.0掩码为23到26的路由,其他路由默认被deny
三、路由策略和策略路由
1、路由策略(routing policy)指通过一系列工具或方法对路由进行控制的策略,主要影响路由的生成,发布和接收和属性,进而间接改变报文的转发,常见的有route-policy,filter-policy。还有前面学到的bgp专用as-path filter,community属性
策略路由(policy-based routing,pbr)是一种直接对数据包的转发路径进行控制。常见的有pbr,mqc等
2、常见的路由策略工具:
1)、filter-policy(过滤策略):对引入、发布、接收的路由进行过滤,在链路状态协议中,对路由进行过滤,但不对lsa进行过滤。
2)、route-policy:常用于路由重发布时的路由过滤或修改路由属性(如下一跳,开销值等)
3、常见的策略路由工具:
1)、策略路由(policy-based routing):基于用户自定义策略来灵活决定转发路径,针对的是数据报文,而非路由策略针对的是路由信息。
pbr分类:接口pbr(只对转发报文有效对本地始发报文无效)和本地pbr
策略路由作用于数据报文的转发,优先于路由策略,当本地策略路由不生效时,则路由器可继续按照目的地址进行正常的路由转发。
2)、mqc(module qos command-line interface)模块化qos命令行:指的是将具有某类共同特征的数据流划分为一类,并为同一类数据流提供相同的服务,对不同类数据流提供不同服务。
三要素:流分类,流行为,流策略,其中流策略将流分类和流行为进行绑定,然后在接口应用流策略。
3)、traffic-filter(过滤流量):不同于traffic-filter只能应用在接口视图上,mqc可以调用在多种视图,一般用mqc配置即可。
4)、pbr和mqc
pbr虽然可以控制数据(如果重要视频和非用于p2p下载)转发的路径,但是路径的情况它不管(要是路径拥塞了,pbr无法动态调整流量速率),这时候可以使用mqc保证重要数据最低带宽和优先传输。在现网中,可以利用两者结合,优化数据转发。
5)、mqc和traffic-filter
mqc是策略执行系统,提供精细化管理;traffic-filter是访问控制工具,提供高效的包过滤功能。traffic有以下优势mqc无法取缔。
①、性能好,看两者的配置命令条数都能知道了
②、特殊场景,如无线ap管理,traffic-filter可直接在ap有线口模版应用,mqc在控制器集中配置;
③、在华为ce设备中,mqc中的deny动作同样流量统计互斥,而traffic-filter无此限制
④、本地始发流量(如设备生成的协议报文),只能使用traffic-filter控制(因为本地始发的可能直接由cpu直接往出接口转发,本地流量在到达接口前已完成路由决策)