华为NP课程笔记6-路由控制
一、路由控制
路由控制包括控制网络流量可达性和调整网络流量路径
控制网络流量可达性的解决方案:
(1)修改路由条目(即对接受和发布的路由进行过滤)来控制流量可达性,这种方式称为路由策略。路由策略使用Filter-Policy工具或Route-Policy工具,两者都要先使用ACL或IP-Prefix List来匹配目标流量,然后在协议视图下向目标视图发布流量。
(2)直接通过已经用户制定的策略进行转发,且该策略优于路由表转发,这种方式称为策略路由
路由策略(Routing Policy)的作用是当路由器在发布、接收和引入路由信息时,可根据实际组网需要实施一些策略,以便对路由信息进行过滤或改变路由信息的属性,如:
控制路由的发布:只发布满足条件的路由信息。
控制路由的接收:只接收必要、合法的路由信息,以控制路由表的容量,提高网络的安全性。
过滤和控制引入的路由:一种路由协议在引入其它路由协议时,只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。
设置特定路由的属性:为通过路由策略过滤的路由设置相应的属性。
策略路由PBR(Policy Based Routing)与单纯依照IP报文的目的地址查找路由表进行转发有所不同,它是一种依据用户制定的策略而进行流量转发的机制。
策略路由的查找优先级比路由策略高,当路由器接收到数据包并进行转发时,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由进行转发,否则按照路由表中的路由条目来进行转发。其中策略路由不改变路由表中的任何内容,它可以通过预先设置的规则来影响数据报文的转发。
二、路由策略
1、路由策略的实现分为两个步骤:
定义规则:首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、AS号等;
应用规则:根据设置的匹配规则,再将它们应用于路由的发布、接收和引入等过程中。
目前提供了如下几种过滤器供路由协议引用:
访问控制列表;
地址前缀列表;
AS路径过滤器;
团体属性过滤器;
扩展团体属性过滤器;
路由标识属性过滤器。
2、ACL只能精确匹配IP地址前缀,无法匹配掩码长度。而IP-Prefix List能够同时匹配IP地址前缀及掩码长度。IP-Prefix List不能用于IP报文的过滤,只能用于路由信息的过滤。
ip ip-prefix test index 10 permit 10.0.0.0 16 greater-equal 24 less-equal 28
IP地址范围:10.0.0.0--10.0.X.X,24<=掩码长度<=28
小记:acl 2000 match-order auto //根据精确度自动排序
3、filter-policy能够对接收或发布的路由进行过滤,可应用于RIP、OSPF、BGP等协议,但对LSA是不过滤的
对于距离矢量协议和链路状态协议,Filter-Policy工具的操作过程是不同的:
距离矢量协议是基于路由表生成路由的,因此过滤器会影响从邻居接收的路由和向邻居发布的路由。
链路状态路由协议是基于链路状态数据库来生成路由的,且路由信息隐藏在链路状态LSA中,但Filter-Policy不能对发布和接收的LSA进行过滤,故Filter-Policy不影响链路状态通告或链路状态数据库的完整性以及协议路由表,而只会影响本地路由表,且只有通过过滤的路由才被添加到路由表中,没有通过过滤的路由不会被添加进路由表。
不同协议应用filter-policy export命令对待发布路由的影响范围不同:
对于距离矢量协议,会对引入的路由信息、本协议发现的路由信息进行过滤。
对于链路状态协议,只对引入的路由信息进行过滤。
对协议接受的路由进行过滤:filter-policy { acl-number | ip-prefix ip-prefix-name } import
对协议发布的路由进行过滤:filter-policy { acl-number | ip-prefix ip-prefix-name } export
4、Route-Policy是一种功能强大的路由策略工具,它可以灵活地与ACL、IP-Prefix List、As-Path-Filter等其他工具配合使用。
route-policy route-policy-name { permit | deny } node node
if-match {acl/cost/interface/ip next-hop/ip-prefix}
apply {acl/cost/interface/ip next-hop/ip-prefix}
多个node之间是或的关系,第一条node不匹配,会继续匹配下一条node;同一个 node里的if-match条目是与的关系,都满足了才能算匹配这个node。route-policy默认是deny掉所有路由。
三、策略路由
1、策略路由是一种依据用户制定的策略进行报文转发路径选择的机制,与单纯依照IP报文的目的地址查找路由表进行转发不同,可应用于安全、QoS、负载分担等目的
策略路由支持基于ACL、报文长度等信息,来灵活地指定数据包的转发路径。
2、可通过修改协议本身的一些属性来控制路由条目,从而影响流量转发路径:
若运行OSPF或ISIS协议,可通过调整接口Cost属性值来实现;
若运行RIP协议,可通过调整Metric或下一跳属性来实现;
若运行BGP协议,则可通过调整AS-Path、Local_Pref、MED、Community等属性来实现。
3、策略路由和路由策略的区别
策略路由可以不按照路由表进行报文的转发
路由策略主要控制路由信息的引入、发布、接受等
路由策略 |
策略路由 |
基于控制平面,会影响路由表表项 |
基于转发平面,不会影响路由表表项,且设备收到报文后,会先查找策略路由进行匹配转发,若匹配失败,则再查找路由表进行转发 |
只能基于目的地址进行策略制定 |
可基于源地址、目的地址、协议类型、报文大小等进行策略制定 |
与路由协议结合使用 |
需手工逐跳配置,以保证报文按策略进行转发 |
常用工具:Route-Policy、Filter-Policy等 |
常用工具:Traffic-Filter、Traffic-Policy、Policy-Based-Route等 |
4、traffic-filter
int g0/0/0
traffic-filter inbound acl 3000
其实就是ACL的端口应用
四、调整网络流量路径
1、MQC
模块化QoS命令行(modular QoS Command-Line Interface)指通过将具有某类共同特征的报文划分为一类,并为同一类流量提供同等服务,从而针对不同的业务类型提供差分服务。
MQC包含三要素:
流分类(traffic classifier)、流行为(traffic behavior)和流策略(traffic policy)
MQC流程如下:
配置流分类:按照一定规则对报文进行分类,是提供差分服务的基础
配置流行为:为符合流分类规则的报文指定流量控制或资源分配动作
配置流策略:将指定的流分类和指定的流行为绑定,形成完整的策略
应用流策略:将流策略应用到接口
traffic classifier huawei-control1
if-match acl 3000
traffic behavior huawei-control1
redirect ip-nexthop 12.1.1.2
trafic policy huawei-control1
classifier huawei-control1 behavior huawei-control1
int g0/0/2
traffic-policy huawei-control1 inbound
五、多路由协议引发的其他问题
1、多路由协议引发的次优路径
(1)利用路由过滤避免次优路由
isis 1
filter-policy 2000 import //导入外部路由时,按照ACL 2000进行过滤
(2)调整协议优先级避免次优路径
isis 1
preference 150
2、多路由协议引发的路由环路。
因为多次引用,发生路由倒灌,进而导致路由环路的产生。解决办法同上。
案列:
(1)接口地址配置、OSPF配置、ISIS配置
AR1:
int g0/0/0
ip address 10.1.15.1 24
int g0/0/1
ip address 10.1.12.1 24
int g0/0/2
ip address 10.1.13.1 24
int lo0
ip address 1.1.1.1 32
ospf 100 router-id 1.1.1.1
area 0
network 1.1.1.1 0.0.0.0
network 10.1.12.1 0.0.0.0
network 10.1.13.1 0.0.0.0
area 1
network 10.1.15.1 0.0.0.0
AR2:
int g0/0/0
ip address 10.1.24.2 24
int g0/0/1
ip address 10.1.12.2 24
int lo0
ip address 2.2.2.2 32
ospf 100 router-id 2.2.2.2
area 0
network 2.2.2.2 0.0.0.0
network 10.1.12.2 0.0.0.0
isis 100
network-entity 49.0001.0000.0000.2222.00
quit
int g0/0/0
isis enable 100
AR3:
int g0/0/1
ip address 10.1.34.3 24
int g0/0/2
ip address 10.1.13.3 24
int lo0
ip address 3.3.3.3 32
ospf 100 router-id 3.3.3.3
area 0
network 3.3.3.3 0.0.0.0
network 10.1.13.3 0.0.0.0
isis 100
network-entity 49.0001.0000.0000.3333.00
quit
int g0/0/1
isis enable 100
AR4:
int g0/0/0
ip address 10.1.24.4 24
int g0/0/1
ip address 10.1.34.4 24
int lo0
ip address 4.4.4.4 32
isis 100
network-entity 49.0001.0000.0000.4444.00
quit
int lo0
isis enable 100
int g0/0/0
isis enable 100
int g0/0/1
isis enable 100
AR5:
int g0/0/0
ip address 10.1.15.5 24
int lo0
ip address 5.5.5.5 32
int lo1
ip address 192.168.1.5 24
ospf 100 router-id 5.5.5.5
area 1
network 5.5.5.5 0.0.0.0
network 10.1.15.5 0.0.0.0
(2)模拟引入路由,将AR5的lo1地址引入OSPF;在AR3上将ospf路由引入ISIS
AR5:
ospf 100
import-route direct cost 10
AR3:
isis 100
import-route ospf 100
此时,AR5上的192.168.1.0/24这条路由由AR3传给AR4,在通过ISIS传递给AR2,因为ISIS优先级为15,高于OSPF优先级,所以AR2路由表中的192.168.1.0/24路由是ISIS传来的路由:
此时,在AR2上将ISIS路由引入OSPF,引入后路由后,因为从AR5引入的192.168.1.0/24路由开销值为10,而ISIS引入的默认为1,比AR5的还要小,所以AR1路由表上192.168.1.0/24下一条地址就是AR2,从而出现了路由环路:
(3)解决方法一,在AR2上修改ISIS优先级为 160
AR2:
isis 100
preference 160
解决方法二,在AR2上引入ISIS时,过滤掉这条路由,或者增加开销值
AR2:
增加开销值:
ospf 100
import-route isis 100 cost 50
过滤该条路由:
ospf 100
import-route isis 100 route-policy huawei
acl 2000
rule permit source 192.168.1.0 0.0.0.255
quit
route-policy huawei deny node 10
if-match acl 2000
route-policy huawei permit node 20