重发布和路由策略
重发布
在同一个网络拓扑结构中,如果存在多种不同的路由协议,由于不同的路由协议对于路由项的处理机
制不同,这就会导致在网络中造成路由信息的隔离。而在路由协议的边界设备上,将某种路由协议的路
由信息引入另一种路由协议中,这个 操作被称为路由引入( 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 ----- 不处理
抓取流量:
[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