思科Cisco路由重发布原理与实现方法分析
枫林残忆YCY
本文讲述了思科Cisco路由重发布。分享给大家供大家参考,具体如下:
重发布
将不同路由协议、或相同协议的不同进程收集的路由条目进行共享;
1.1 重发布的条件
- 只能是两个协议或两个进程间实现
- 必须存在ASBR--自治系统边界路由器或协议边界路由器
ASBR同时工作在两个协议或两个OSPF进程内,收集到两端的路由信息后,进行交互共享
- Seed Metric:种子度量或起始度量,A协议路由进入B协议时,无法识别原有的度量值,必须添加一个Seed Metric来将条目共享到B协议
路由协议 |
Seed Metric |
RIP |
无穷大(16) |
OSPF |
20 |
EIGRP |
无穷大 |
IS-IS |
0 |
BGP |
携带(支持携带外部路由的能力参数) |
1.2 重发布的类型
单点单向重发布
单点双向重发布
多点双向重发布
度量被清洗,很难让设备自动地选出最佳路径
1.3 重发布的规则
1.若将A协议重发布到B协议,是在ASBR上的B协议中操作
2.若将A协议重发布到B协议时,是将ASBR上所有通过A协议学习,以及ASBR上工作在A协议的直连路由全部共享到B协议。
二、 重发布的配置
A-->B:将一种动态路由协议重发布到另一种动态路由协议
静态-->B:将静态路由条目重发布到动态路由协议中
直连-->B:将ASBR上未工作在B协议的直连路由重发布到动态路由协议中
1.RIP
若两种重发布操作,共享了相同的路由条目,Seed Metric小的加入路由表;若度量一致,刷新路由表(最新的加表)
A-->B:必须定义Seed Metric,默认无穷大
静态-->B:重发布静态,默认Seed Metric为1
直连-->B:重发布直连,默认Seed Metric为1
2.OSPF
A-->B:必须携带subnets(掩码),否则无法重发布无类别协议;默认发布进入的路由为类型2,Seed Metric为20
静态-->B:,Seed Metric为20,默认类型2;
OSPF的五类缺省路由必须使用专用指令(default-information originate)才能重发布(五类缺省的Seed Metric为1,默认类型2);
直连-->B:Seed Metric为20,默认类型2
3.EIGRP
A-->B:必须定义种子度量,否则默认无穷大;重发布进入路由AD值170,使用EX标识
静态-->B:默认携带最佳度量
直连-->B:默认也是携带最佳度量
三、多点双向重发布
在进行多点双向重发布时,若使用OSPF和RIP进行,将因为AD值的不同,出现路由回馈问题;参考EIGRP协议的解决思路,重发布进入EIGRP协议的路由条目其AD值为170
即便修改AD值,也可能由于RIP的水平分割,导致部分路由依然出现回馈中。
还可以基于ACL来针对部分路由,进行管理距离的修改
模仿EIGRP修改重发布路由的管理距离后,部分路由依然可能因为水平分割继续保持的路由回馈,需要使用路由策略来解决。
及时将所有的路由回馈问题全部解决,依然无法默认最佳选路,需要使用路由策略来解决。
即使使用EIGRP协议和其他协议进行多点双向重发布,由于重发布时原有协议的度量值将被去掉,必然导致重发布路由条目的选路不佳,需要使用路由策略来解决。
四、路由策略
在控制层面抓取流量后,对流量进行修改编辑,最终映像设备路由表的生成,从而控制选路
4.1 抓流量的列表
(1)ACL访问控制列表
专用于限制数据层面流量;也可用于抓取控制层面的流量,但因为不匹配子网掩码,故将无法精确的抓取控制层面流量
(2)前缀列表
专用于抓取控制层面流量
匹配规则:自上而下逐一匹配,上条匹配按上条执行,不再查看下条;末尾隐含拒绝所有
R2(config)#ip prefix-list xxx permit 1.1.1.0/24 ge 26 le 28 允许1.1.1.0/24掩码范围在26到28位之间
R2(config)#ip prefix-list xxx seq 6 permit 2.2.2.0/24 还可以利用序号插入
R2(config)#ip prefix-list xxx permit 0.0.0.0/0 le 32 允许所有
ge:大于等于;le:小于等于;
4.2 路由策略
1)偏移列表
使用ACL为其抓取流量,在DV协议中,在控制层面流量的出或入接口抓取条目后加大其度量值,最终干涉选路
2)分发列表
在控制层面流量的进或出接口上,限制路由条目的发送和接收。本身并没有过滤功能,需借助ACL或者前缀列表抓取流量。
在DV性协议中,在in和out方向均可实施;在LS协议中,仅仅在in方向实施,并且不能过滤LSA,仅仅阻止该路由加表;在重发布过程中(将A协议重发布到B协议时),进入B协议,使用out+A协议。
3)route-map
功能性非常强的策略列表,可以用来过滤路由也可用来调整路由的属性,自身具备过滤功能;其末尾隐含拒绝所有,故需创建一个空表,用于允许所有。
在重发布过程中调用
重发布注意以下几个问题
1.度量问题,不同协议有不同的度量,不同协议左重发布需要定义度量然后重发布进某路由协议(Seed Metric),本质就是一个统一度量的操作。
对于EIGRP,redistribute XXX metric 10000 100 1 255 1500 //必须手工重新定义
对于OSPF,redistribute XXX subnets [metric x] //度量清零,并从cost计算
对于RIP,redistribute XXX [metric] x
可以重发布C、S、D等协议
2.过滤的问题
重发布操作在未定义过滤的情况下默认会把所有属于该路由的协议重发布出去,当我们需要有针对性的对某些路由进行重发布的时候就需要过滤
过滤工具:distribute-list和route-map
- distribute-list在DV性协议中可以影响下游路由器,但是在LS型协议中,只能影响本路由器,所以使用场景受限。
- route-map直接可以使用在重发布操作时,可以用来决定哪些路由应该被重发布,哪些不应该,也可以为路由坐上标记。
3.次优路径问题
形成原因:路由反馈
解决方法:
1. 路由过滤。
2. 调整协议的AD值。
3. 给次优路径增加metric,使其变为备份路径
4.环路问题
形成原因:AD值高的路由协议重发布到AD值低的路由协议中。
解决方法:
1. 修改重发布路由的管理距离。
2. 只修改ADV-router的路由管理距离。
3. 精准抓取需要修改AD值的路由条目,对它进行修改。
4. 通过设置外部路由管理距离的方法来解决。
5.EIGRP两个管理距离的奥秘
1.EIGRP用于两个AD值,会使得在EIGRP和其他协议双点(多点)双向重发布的环境中有EIGRP内部路由不出现环路也不出现次优路径。
原理:内外管理距离会形成书评分割效应
内部需要比其他动态路由协议小,外部管理距离需要比其他动态路由协议大