重发布和路由策略
重发布
在同一个网络拓扑结构中,如果存在多种不同的路由协议,由于不同的路由协议对于路由项的处理机制不同,这就会导致在网络中造成路由信息的隔离。而在路由协议的边界设备上,将某种路由协议的路由信息引入另一种路由协议中,这个
操作被称为路由引入(Route Importation)或者路由重分发
。
----执行该操作的技术被称为重发布。
作用:在一个网络中,若运行多种路由协议或相同路由协议的不同进程;协议之间不能直接沟通计
算,进程之间也是相互独立,所以需要使用重发布技术来实现路由的共享。
执行条件
1. 必须存在一个边界设备
------
同时连接两种路由协议或两种进程,同时学习到两种来源的路由信息,之后进行路由共享
2. 关注种子度量值
----
起始度量值。
A协议和B
协议的开销计算算法不同,无法直接使用。故将
A
协议发布到
B
协议时,边界设备将不携带A
协议的度量值,而是共享到
B
协议后,由边界设备在路由中添加一个起始度量值。
规则
1. 将
A
协议引入到
B
协议中,在边界设备中的
B
协议上配置。
----
表明重发布技术的配置位置。
2. 将
A
协议引入到
B
协议中,边界设备会将
所有通过
A
协议学习到的路由
以及
边界设备上宣告在
A
协议
中的所有直连路由
,全部共享到
B
协议中。
------
表明重发布时发布的信息内容。
名词解释
点
单点:两个协议或两个进程之间存在一个边界设备
双点:两个协议或两个进程之间存在两个边界设备
多点:两个协议或两个进程之间存在多个边界设备
向
单向:仅将A协议路由共享到
B
协议中
双向:A和
B
协议的路由均共享到对方
单点重发布
A--->B:
[r2-rip-1]import-route ospf 1
通过重发布技术将其他协议的路由信息导入到RIP中,RIP协议赋予其的种子度量值为0。
修改RIP种子度量值
[r2-rip-1]default-cost 5 ----修改全局种子度量值
[r2-rip-1]import-route ospf 1 cost 10 -----修改特定路由的种子度量值
注意:两条命令同时执行时,将按照第二条执行。
静态--->B:
[r2-rip-1]import-route static
导入静态RIP赋予的种子度量值也是0
重发布在导入的路由中无法将缺省路由引入。
直连--->B:
[r2-rip-1]import-route direct
除了R1的直连网段外,所有直连均会导入。
若边界路由器进行A--->B的重发布以及直连--->B的重发布,并且两次包含相同的路由信息,则将会优先学习直连导入的路由信息。
双点重发布
默认
RIP
和
OSPF
协议进行双点重发布,由于两者的优先级不同,故第一台
ASBR
设备重发布动作结束后,将影响其他ASBR
设备的路由表。使得路由可能被回传到源协议当中,发生
路由回馈
-------A
协议的路
由重发布到
B
协议当中后,又被重发布回
A
协议。路由回馈可能会导致选路不佳,甚至是路由环路的出
现
。
华为为了解决路由回馈问题,将
OSPF
的域外路由的优先级定义为
150
(
150
高于华为体系下所有
IGP
协 议的优先级),从而解决路由回馈问题。在双点双向重发布中,虽然解决了路由回馈问题,但是多点重发布还是存在一个必然产生的问题
----
选路不佳。------
原因在于重发布时清除了原先的开销值导致的。
路由策略
控制层流量-----
路由协议传递路由信息产生的流量
数据层流量-----
设备访问目的地址是产生的流量
所谓的路由策略
-----
在控制层面转发流量的过程中,
截取流量
,之后
修改流量再转发或者不转发,
最
终达到影响路由器路由表的生成,干涉选路的效果
。
抓流量
ACL
列表
[r3-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.0
因为ACL列表本身设计是为了抓取数据层流量的,所以,因为通配符的存在他可以灵活的匹配IP的数字特征,但是,没有办法匹配路由信息中的掩码特征。所以,ACL并不擅长控制层流量的抓取。
如果需要在192.168.1.0/24、192.168.1.0/25、192.168.1.0/30中抓取到192.168.1.0/24,ACL是无能为力的,只能按照数字特征抓取,则意味着使用以上命令将同时抓取携带着三种路由信息的数据包。
前缀列表(IP-prefix)
一个路由条目由目的网络地址(前缀)+掩码长度(前缀长度)共同标识。
IP前缀列表可以包含一条或多条语句,每条语句都使用一个序号(十进制)进行标识。
前缀列表的匹配规则:从上而下,逐条匹配,一旦匹配上则将按照该规则执行,不再向下匹配。末尾
隐含拒绝所有规则
。
实例
假设,有四条路由信息:172.16.0.0/16、172.16.0.0/24、172.16.0.0/30、172.16.1.1/32。
[r3]ip ip-prefix aa permit 172.16.0.0 24
该语句要求路由的目的网络地址的前24位比特位需要与172.16.0.0的前24位相同,并且路由的目的网络掩码长度必须为24,因此该规则可以抓取172.16.0.0/24
[r3]ip ip-prefix aa permit 172.16.0.0 16 less-equal 24
该语句要求路由的目的网络地址的前16比特位与172.16.0.0的前16位相同,并且路由的目的网络掩码长度必须大于或等于16,且小于或等于24。因为改规则可以抓取172.16.0.0/16、172.16.0.0/24
[r3]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24
[r3]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24 less-equal 32
[r3]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24 less-equal 24
[r3]ip ip-prefix qq deny 172.16.0.0 30
[r3]ip ip-prefix qq permit 172.16.0.0 24
[r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
上述语句中,IP地址为0.0.0.0,这种形式的IP地址被称为通配地址,也即该地址能匹配任意形式的
目的网络地址。因此,该语句并不关系被匹配路由的目的网络地址,但是要求路由的目的网络掩码
长度必须大于等于0,小于等于32,实际上这条路由相当于“允许所有”。
[r3]ip ip-prefix ee deny 172.16.0.0 30
[r3]ip ip-prefix ee permit 0.0.0.0 0 less-equal 32
[r3]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32 less-equal 32
该语句将匹配掩码长度为32的任意路由,也就是所有的主机路由
[r3]ip ip-prefix aa permit 0.0.0.0 0
该语句允许的是默认路由0.0.0.0/0
[r3]ip ip-prefix hcip permit 172.16.4.0 22 greater-equal 24 less-equal 24
做策略
偏移列表
-----Cisco
偏移列表属于
RIP
这种距离矢量型协议专用的。
抓流量
[r1]ip ip-prefix huawei permit 23.0.0.0 24
调用
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix huawei 5
进入流量入方向接口,给其度量值增加5,metricin入;metricout出;出接口默认每次加1,入接口默认不加。
该策略为逐跳行为,效果可以叠加操作;整段路径中流量经过的多个接口均配置了度量值增加,最终的开销值为增加的总度量值。
过滤策略----Filter-Policy----路由过滤工具
分发列表----cisco
只能够对路由信息进行过滤,而无法对LSA进行过滤。
[r2-acl-basic-2000]rule deny source 34.0.0.0 0.0.0.0 ------过滤列表本身没有过滤能力,所以,需要在抓取流量的时候使用拒绝动作。
[r2-acl-basic-2000]rule permit source any -----注意,在抓取流量的时候,末尾一定要放通所有流量,否则将会把所有的流量均过滤掉,原因在于过滤策略是完全依照ACL表项进行工作的。
在过滤策略中调用
[r2-rip-1]filter-policy 2000 export GigabitEthernet 0/0/0 -----在进程中调用,选定入方向或出方向的接口,若不选择接口,则为全局调用,会匹配所有接口
[r2]ip ip-prefix aa deny 34.0.0.0 24
[r2]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
[r2-rip-1]filter-policy ip-prefix aa export GigabitEthernet 0/0/0
切记,若使用ACL定义流量,正常华为为ACL末尾隐含允许所有,但是在过滤策略中一定要手工配置允许所有
。
注意,若此时没有在R1
上进行过滤,而是等
R1
将域外的五类
LSA
发布仅
OSPF
后,在再
R2
的出方向或
入方向,有着或是
R1
的出方向调用过滤策略,则不会成功。必须要在
R1
将路由信息转换为
LSA
信息之前
进行调用,也就是在
ASBR的入方向调用。
若在
R2
的入方向使用过滤策略限制
192.168.2.0/24
路由,则
R2
将不会具备该路由信息,因为是在
R2
根据本地
LSDB
中的
LSA
信息计算出
192.168.2.0/24
路由后,拒绝将这条路由信息加入本地路由表中。而
R3
此时还具备该路由信息,原因在于
R3
可以正常收到所有的
LSA
信息,并成功计算路由信息
。
若将过滤策略使用在链路状态型协议中,必须使用入方向
。
路由策略----Route-policy
路由策略的匹配规则:自上而下,逐一匹配,一旦匹配上则将按照对应的规则来执行动作,不再向下
匹配。末尾隐含拒绝所有的规则
。
配置实例 192.168.1.0/24 -----过滤
192.168.2.0/24 -----修改种子度量值10
192.168.3.0/24 -----开销值类型修改为Type-1
192.168.4.0/24 -----开销值类型修改为Type-1,tag=200
12.0.0.0/24 -----不处理
1.抓取流量:
[r2]acl 2000
[r2-acl-basic-2000]rule permit source 192.168.1.0 0
[r2]acl 2001
[r2-acl-basic-2001]rule permit source 192.168.2.0 0
[r2]ip ip-prefix aa permit 192.168.3.0 24
[r2]ip ip-prefix bb permit 192.168.4.0 24
2.做策略:
[r2]route-policy hcip deny node 10 ----创建一个叫做hcip的route-policy列表,且序号为10
[r2-route-policy]if-match acl 2000 ----匹配ACL 2000
[r2]route-policy hcip permit node 20
[r2-route-policy]if-match acl 2001
[r2-route-policy]apply cost 10
[r2]route-policy hcip permit node 30
[r2-route-policy]if-match ip-prefix aa
[r2-route-policy]apply cost-type type-1
[r2]route-policy hcip permit node 40
[r2-route-policy]if-match ip-prefix bb
[r2-route-policy]apply cost-type type-1
[r2-route-policy]apply tag 200
[r2]route-policy hcip permit node 50
在重发布中调用:
[r2-ospf-1]import-route rip 1 route-policy hcip
[r2]display route-policy hcip -----查看路由策略内容
permit:
指定该节点的匹配模式为允许,
如果路由匹配的结果是满足该阶段的所有if-match
语句,则该路由被视为允许通过,该节点的
apply
语言将被执行,且不再进入一下个节点。若该节点中有
fi-match
语句不满足,则进入下一个
节点继续匹配。
deny:
指定节点的匹配模式为拒绝。
如果节点的匹配模式为拒绝,则该节点的apply
语句将不被执行。
如果路由匹配的结果是满足该阶段的所有if-match语句,该路由策略的匹配过程直接结束。不会进入下一个阶段。而满足该节点条件的路由会被视为拒绝通过。
若该节点中有fi-match语句不满足,则进入下一个节点继续匹配。
配置指南总结
1. 即便要拒绝一个流量,在抓取的时候也必须使用允许操作,之后在路由策略来拒绝。
2. 在一条规则中,若没有进行流量匹配,那么就是匹配所有流量。若没有
apply那么仅对匹配的流量 进行当前大动作修改。
3. 配置时,注意路由策略的
“
与
”
和
“
或
”
关系。