重发布
在同一个网络拓扑结构中,如果存在多种不同的路由协议,由于不同的路由协议对于路由项的处理机
制不同,这就会导致在网络中造成路由信息的隔离。而在路由协议的边界设备上,将某种路由协议的路
由信息引入另一种路由协议中,这个
操作被称为路由引入(
Route Importation
)或者路由重分发
。
----
执行该操作的技术被称为重发布。
作用:在一个网络中,若运行多种路由协议或相同路由协议的不同进程;协议之间不能直接沟通计
算,进程之间也是相互独立,所以需要使用重发布技术来实现路由的共享。
执行条件
1.
必须存在一个边界设备
------
同时连接两种路由协议或两种进程,同时学习到两种来源的路由信息,
之后进行路由共享
2.
关注种子度量值
----
起始度量值。
A
协议和
B
协议的开销计算算法不同,无法直接使用。故将
A
协议发布到
B
协议时,边界设备将
不携带
A
协议的度量值,而是共享到
B
协议后,由边界设备在路由中添加一个起始度量值。
规则
1.
将
A
协议引入到
B
协议中,在边界设备中的
B
协议上配置。
----
表明重发布技术的配置位置。
2.
将
A
协议引入到
B
协议中,边界设备会将
所有通过
A
协议学习到的路由
以及
边界设备上宣告在
A
协议
中的所有直连路由
,全部共享到
B
协议中。
------
表明重发布时发布的信息内容。
名词解释
点
单点:两个协议或两个进程之间存在一个边界设备
双点:两个协议或两个进程之间存在两个边界设备
多点:两个协议或两个进程之间存在多个边界设备
向
单向:仅将
A
协议路由共享到
B
协议中
双向:
A
和
B
协议的路由均共享到对方
单点重发布
![](https://i-blog.csdnimg.cn/blog_migrate/c8bf760e5838253528b6b1be9a6c5b69.png)
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
的重发布,并且两次包含相同的路由信息,则将会
优先学习直连导入的路由信息。
双点重发布
![](https://i-blog.csdnimg.cn/blog_migrate/f049d05301cc92992940c7c2451f7dd0.png)
默认
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
)
一个路由条目由目的网络地址(前缀)
+
掩码长度(前缀长度)共同标识
。
![](https://i-blog.csdnimg.cn/blog_migrate/61e3246269207a4d1b40af9ecef99286.png)
前缀列表的匹配规则:从上而下,逐条匹配,一旦匹配上则将按照该规则执行,不再向下匹配。末尾
隐含拒绝所有规则
。
实例
假设,有四条路由信息:
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
末尾隐含允许所有,但是在过滤策略中一定要手工配置
允许所有
。
![](https://i-blog.csdnimg.cn/blog_migrate/2c780d64f526b7cf54dcae8dedcebd23.png)
注意,若此时没有在
R1
上进行过滤,而是等
R1
将域外的五类
LSA
发布仅
OSPF
后,在再
R2
的出方向或
入方向,有着或是
R1
的出方向调用过滤策略,则不会成功。必须要在
R1
将路由信息转换为
LSA
信息之前
进行调用,也就是在
ASBR
的入方向调用
。
![](https://i-blog.csdnimg.cn/blog_migrate/eedda8de62d6d851067469acd97efd8d.png)
若在
R2
的入方向使用过滤策略限制
192.168.2.0/24
路由,则
R2
将不会具备该路由信息,因为是在
R2
根据本地
LSDB
中的
LSA
信息计算出
192.168.2.0/24
路由后,拒绝将这条路由信息加入本地路由表中。而
R3
此时还具备该路由信息,原因在于
R3
可以正常收到所有的
LSA
信息,并成功计算路由信息
。
若将过滤策略使用在链路状态型协议中,必须使用入方向
。
![](https://i-blog.csdnimg.cn/blog_migrate/160430334858ed8b9fb1c26a6155c156.png)
路由策略----Route-policy
路由策略的匹配规则:自上而下,逐一匹配,一旦匹配上则将按照对应的规则来执行动作,不再向下
匹配。末尾隐含拒绝所有的规则
。
![](https://i-blog.csdnimg.cn/blog_migrate/0470a3ba6d19a429ac89620b38c2f2ae.png)
配置实例
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 -----
不处理
抓取流量:
[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
做策略:
[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.
配置时,注意路由策略的
“
与
”
和
“
或
”
关系。