- 重发布(redistribute别名:重发布、重分发、重新分配);一台设备同时运行于两个协议或者两个进程,默认从两端学习到的路由条目不共享。重发布技术是人为进行的共享,通过这种技术可以实现不同协议(或同一协议不同进程,例如ospf)之间的路由条目共享。
- 重发布本质上属于距离矢量行为
- 重发布注意以下几个问题:
- 必须存在ASBR——自治系统边界路由器(协议边界路由器)
- 度量问题,不同的协议有不同的度量,不同协议做重发布需要重新定义度量然后重新发布进某路由协议(种子度量)。本质就是一个统一度量的操作。
- 不同路由协议的 AD
值0—直连
1—静态
5—EIGRP 汇总
20—EBGP
90—EIGRP 内部
110—OSPF
115—ISIS
120—RIP
170—EIGRP 外部
200—IBGP
双 AD 值有并且设置了出来:EIGRP/BGP
有但每设置出来:OSPF/ISIS
没有:RIP
双 AD 的意思:防环—水平分割
名词 | 注释 |
---|---|
单点单向重发布 | 一台ASBR运行A、B两种协议,A协议发给B协议,B协议不发往A协议 |
单点双向重发布 | 一台ASBR运行A、B两种协议,A协议发给B协议,B协议也发给A协议 |
多点单向重发布 | 一台ASBR运行多种协议,协议之间发送是单向的 |
多点双向重发布 | 一台ASBR运行多种协议,多个协议两两之间共享路由条目 |
- 重发布配置:
- eigrp
redistribute xxx metric 10000 100 1 255 1500//必须手工重新定义 - Ospf
redistribute xxx subnet/metric x //度量清零 - Rip
rRedistribute xxx /metric x
其中xxx可以是直连路由也可以是静态路由,也可以是动态路由协议
- 过滤的问题
- 重发布操作在未定义过滤的情况下会把所有属于该路由协议的路由重发布出去,当我们需要有针对性的对某些路由进行重发布的时候就需要过滤
- 过滤工具:
1. 分发列表——在距离矢量路由协议中可以影响下游路由器,但是在链路状态协议中只能影响本路由器,所以使用场景受限。
①抓流量:
使用ACL或者前缀列表均可
R2(config)#ip prefix-list xxx deny 4.4.4.0/24
R2(config)#ip prefix-list xxx permit 0.0.0.0/0 le 32
②定制策略
R2(config)#router ospf 1
R2(config-router)#distribute-list prefix xxx in s0/0
注意:若在OSPF协议中使用分发列表,只能入向调用,不能出向调用。
因为OSPF要保证整个拓扑要完整,接收方收到拓扑后,
可以不把拓扑的结果放到路由表里。但是一定要发送放进行发送
- route-map——直接可以使用在重发布操作时,可以用来决定哪些路由应该被重发布,哪些不应该被重发布,也可以为路由做上标记。
R4(config)#ip prefix-list q permit 14.1.1.0/24
R4(config)#ip prefix-list q permit 4.4.4.0/24
R4(config)#route-map q permit 10 创建名为q的map,序号10;大动作为拒绝
R4(config-route-map)#match ip address prefix-list q 匹配名为q的prefix列表
R4(config-route-map)#set metric 10 小动作为修改其度量值为10
R4(config)#route-map q permit 20 创建名为q的序号20,大动作为允许的空表,表示允许所有
R4(config)#router ospf 1
R4(config-router)#redistribute rip subnets route-map q 重发布时调用
-
次优路径的问题
- 过滤
- 管理距离
- 当RIP和OSPF(ISIS)之间进行多点双向重发布时,由于RIP(120)的管理距离大于OSPF(110) ,导致ASBR优选OSPF路径,最终将RIP的路由重新发回RIP。因此当RIP和EIGRP进行多点双向重发布的时候,由于EIGRP的外部重发布距离是170大于RIP(120)正常是不会出现路由回馈的。但是依然会选路不佳。
因此要想解决以上问题:我们需要把图掰正,让R1到OSPF域内等开销负载均衡, R4到RIP域内等开销负载均衡,解决路由回馈。 - 我们之前说到在R1上多了一条去往R4环回的等开销负载均衡,是因为OSPF的管理距离小于RIP导致R4的环回发生了路由回馈,因此我们可以把去往R4的管理距离加大。
R2(config)#router ospf 1
//从该RID学习到的所有路由条目管理距离修改为121
R2(config-router)#distance 121 4.4.4.4 0.0.0.0
(数值分别代表:管理距离、另一台ASBR的RID、反掩码)
同理我们也需要在R4上修改去往R2的管理距离。
R4(config)#router ospf 1
R4(config-router)#distance 121 2.2.2.2 0.0.0.0
-
环路的问题
- 借鉴bgp水平分割
- 借鉴双管理距离以及OSPF的分支、末节。
-
eirgrp:两个管理距离的奥秘
- eigrp拥有两个管理距离会使得eigrp和其他协议在双点(多点)双向重发布环境具有eigrp内部路由不出现环路也不出现次优路径
- 原理:
- 内外部管理距离会形成水平分割效应
- 内部管理距离需要比其他动态路由协议小,外部管理距离需要必须其他动态 大