重发布与路由策略
重发布、重分布、重分发
当一个网络内,存在多种路由协议时,或同一协议多个进程时,每种协议或进程,均独立运行,不共享数据,只能通过重发布技术实现全网可达。
条件
-
只能在两种协议,或两个进程进行重发布,但一个拓扑内不是只能存在两种协议或两个进程。
-
必须存在ASBR自治系统边界路由器(协议边界路由器),且同时工作两种协议或两个进程中。
-
必须考虑种子度量(起始度量):当源协议发布到新协议时,不携带源协议的度量值,而是要人为的定义新的初始度量。
规则
-
将A协议发布到B协议时,是在ASBR上的B协议中进行配置。
-
将A协议发布到B协议时,是将ASBR上所有通过A协议学习到的,以及ASBR上宣告在A协议的直连路由,全部共享到B协议中(部分协议不共享缺省路由)。
配置命令
三种类型:
-
A—>B:将一种动态路由协议产生的路由重发布到另一种动态路由协议中
-
静态—>B:将ASBR上的静态路由,重发布到动态路由协议B中
-
直连—>B:将ASBR上未工作在B协议中的直连路由,重发布到动态路由协议B中
RIP
动态路由重发布:
[r4]rip
[r4-rip-1]import-route ospf 1
默认的起始度量为0,可修改
[r4-rip-1]import-route ospf 1 cost 3
静态路由重发布:
[r4]rip 1
[r4-rip-1]import-route static
缺省静态在华为设备不会重发布,默认起始度量为0
[r4-rip-1]import-route static cost 5
直连路由重发布:
[r4]rip
[r4-rip-1]import-route direct
注:若重发布动态和重发布直连携带了同一条路由时,优选重发布直连产生的路由
OSPF
动态路由重发布:
[r4]ospf 1
[r4-ospf-1]import-route rip 1
默认进入的条目:种子度量为1,类型2
类型1:显示实际总度量 = 种子度量 + 沿途累计度量
类型2:仅显示种子度量,选路时依然基于总实际度量进行判断
[r4-ospf-1]import-route rip 1 cost 5 type 1 修改类型和种子度量
类型1优于类型2
静态路由重发布:
[r4]ospf 1
[r4-ospf-1]import-route static
默认进入的条目:种子度量为1,类型2
缺省路由不进入
直连路由重发布:
[r4-ospf-1]import-route direct
默认进入的条目:种子度量为1,类型2
缺省路由不进入
注:若重发布动态和重发布直连携带了同一条路由时,优选重发布直连产生的路由。
多点双向重发布
单点双向重发布:在两种协议或两个进程间仅存在一台ASBR,可靠性、选路性较差,故可以使用多台ASBR来进行保障。
不同路由协议使用不同的路由优先级,当大优先级协议的路由条目进入小优先级协议时,导致其他的ASBR路由表被刷新,最终将这些路由传回源协议(路由回馈):导致选路不佳
思科在它私有的EIGRP协议中,使用了双优先级:正常EIGRP协议内部路由优先级为90,重发布进入EIGRP的路由条目为150,大于其他协议。避免了第一台ASBR重发布协议后,刷新另一台ASBR,避免路由回馈。
在华为等厂商设备中无EIGRP,但借鉴了EIGRP的规则,在OSPF协议中,从外部重发布进入的5/7类LSA,优先级也修改为150。
需要路由策略来解决:
-
由于重发布协议,将在重发布过程中,不携带源有协议的度量值,而是在重发布起始位置添加种子,故当多点(多台ASBR)重发布相同路由时,将导致选路不佳。
-
在距离矢量协议中存在接口水平分割,可能由于网络拓扑的变化而再次出现路由回馈问题。
总结:由于重发布技术,仅实施了路由条目的共享,但在过程中刷新原有度量,故在多点双向重发布中,可能因为拓扑变化、度量值等导致选路不佳,需要人工干预。
路由策略
控制层面:路由协议进行路由信息共享传递的流量(OSPF/RIP)
数据层面:设备间正常的数据访问产生的流量(PING/TELNET/应用)
路由策略:在控制层面流量进或出的接口上,抓取流量,进行修改后,将直接影响路由器路由表的生成,最终实现干涉选路的效果。
- 抓流量:ACL、前缀列表
- 改流量(路由策略):偏移列表、分发列表、router-map
抓取流量的技术
-
ACL:访问控制列表设计初衷用于限制数据层面流量的进出,故在用于抓取控制层面流量时,可能无法精确匹配。
-
前缀列表:专门设计用于抓取控制层面流量。
一个名字为一张表:一张表中可以配置多条策略
匹配规则:自上而下逐一匹配,上一条匹配上执行,则不再查看下一条,末尾隐含拒绝所有
[r1]ip ip-prefix aa permit 1.1.1.0 25
[r1]ip ip-prefix aa permit 1.1.2.0 24
默认以10为步长,自动添加序列,便于插入和删除
[r1]ip ip-prefix aa index 15 permit 1.1.3.0 24
[r1]undo ip ip-prefix aa index 10
匹配网络号 2.2.2.0 子网掩码长度24-30
[r1]ip ip-prefix qq permit 2.2.2.0 24 less-equal 30
匹配网络号 3.3.3.0 子网掩码长度为30-32
[r1]ip ip-prefix qq permit 3.3.3.0 24 greater-equal 30
匹配网络号 4.4.4.0 掩码长度26-30
数值规则:length<=ge<=le
[r1]ip ip-prefix qq permit 4.4.4.0 24 greater-equal 26 less-equal 30
[r1]ip ip-prefix qq permit 0.0.0.0 0 less-equal 32 允许所有
路由策略
路由策略:修改或删除流量(偏移列表、分发列表、route-map)
思科的偏移列表,在Cisco体系中算一种路由策略,而在华为体系中不是策略,是RIP这样的距离矢量协议专用,修改度量的操作。在Cisco中偏移列表也只能在RIP和EIGRP这样的距离矢量协议中使用,华为也一样。在Cisco下只能用ACL为其服务,华为下,ACL和前缀列表都可以。
[r1]ip ip-prefix aa permit 2.2.2.0 24 使用前缀列表抓取(ACL也可)
[r1]interface GigabitEthernet 0/0/1 控制层面流量传输的接口
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa 2 流量入,匹配前缀列表aa,度量加2
metricout 2000 2 流量出,匹配acl 2000,度量加2
该策略为逐跳行为,可以叠加操作。整段路径中流量经过的多个接口均配置了度量增加,最终为总增加度量。
思科的分发列表 华为的过滤策略
先使用ACL或前缀列表,匹配流量,然后在控制层面流量的入或出接口上限制路由条目的传递。
[r2]ip ip-prefix qq deny 2.2.2.0 24
[r2]ip ip-prefix qq permit 0.0.0.0 0 less-equal 32
[r2]rip 1
[r2-rip-1]filter-policy ip-prefix qq ?
export Specify an export policy 出方向
import Specify an import policy 入方向
[r2-rip-1]filter-policy ip-prefix qq export GigabitEthernet 0/0/0
切记:若使用ACL定义流量,正常华为ACL末尾允许所有,但在过滤策略中一定手工配置允许所有命令。
注:OSPF协议中正常无法在出方向调用,因为OSPF使用的拓扑更新,在同一个区域内不可以限制拓扑的传递。正常只能在入向调用,不影响数据库的同步,仅仅是不将LSA计算所得的路由加载到路由表。若想出口调用,可以在ABR/ASBR上针对3/4/5/7类LSA进行。
思科的route-map 华为的路由策略
抓流量:ACL和前缀列表均可
[r2]acl 2000
[r2-acl-basic-2000]rule 1 permit source 1.1.1.0 0.0.0.0
[r2-acl-basic-2000]q
[r2]acl 2001
[r2-acl-basic-2001]rule permit source 1.1.2.0 0.0.0.0
[r2]ip ip-prefix a permit 1.1.3.0 24
[r2]ip ip-prefix b permit 1.1.4.0 24
路由策略
创建名为huawei的路由策略
[r2]route-policy huawei deny node 10 大动作为拒绝,序号为10
[r2-route-policy]if-match acl 2000 匹配一张ACL
[r2-route-policy]q
[r2]route-policy huawei permit node 20 列表huawei序号20,大动作为允许
[r2-route-policy]if-match acl 2001 匹配一张ACL
[r2-route-policy]apply cost-type type-1 定义小动作为修改度量类型,为类型1
[r2]route-policy huawei permit node 30
[r2-route-policy]if-match ip-prefix a 匹配前缀列表
[r2-route-policy]apply cost 7
[r2]route-policy huawei permit node 40
[r2-route-policy]if-match ip-prefix b
[r2-route-policy]apply cost-type type-1
[r2-route-policy]apply cost 8
[r2]route-policy huawei permit node 50 空表,允许所有
重发布时调用
[r2]ospf 1
[r2-ospf-1]import-route rip 1 route-policy huawei
配置指南
- 即便是要拒绝一个流量,在抓取时也必须使用允许,在之后的路由策略中拒绝。
- 自上而下逐一匹配,上条匹配按上条执行,不再查看下条,末尾隐含拒绝所有。
- 在一条规则中,若没有进行流量匹配那就是匹配所有,若没有应用那么仅对匹配流量进行当大动作,因此大动作为允许的空表代表允许所有。
- 或 与 关系:或关系为每个站点(每个序号)间为或关系,序号10没匹配到流量,再序号20。
[r3]ip ip-prefix a permit 1.1.1.0 24
[r3]acl 2000
[r3-acl-basic-2000]rule permit source 12.1.1.2 0.0.0.0
route-policy huawei permit node 10
if-match ip-prefix a
if-match ip next-hop acl 2000 与关系—被匹配流量必须同时满足这两个条件
apply cost 10
apply cost-type type-1 与关系,同时执行两种操作
以上为路由条目目标网络号1.1.1.0/24 同时该条目的下一跳为12.1.1.2
总结或与关系:
- 条目基于站点号(序号)自上而下逐一匹配,上条匹配按上条执行,不查看下条 —— 或关系
- 在每一个序号中,同时匹配所有流量,同时执行所有小动作 —— 与关系
若有错误,欢迎指正!o( ̄▽ ̄)ブ