简介
总所周知,路由引入import又称路由重分发redistribute,为了解决不同路由协议进程间路由信息不互通而使用的技术,由于不同路由协议的算法、机制、开销等因素的差异,它们之间无法直接交换路由信息。因此,路由引入技术的作用是将一个路由协议的路由信息引入到另一个路由协议中,以实现路由信息的互通。
一般下,可引入static静态路由,direct直连路由,ospf,isis,bgp等动态路由协议
被引入的路由会被进程学习并计算加入自己的路由表中
引入方式
单点单向
AR2上OSPF1引入OSPF2,单边引入,需下发缺省路由,OSPF1通过缺省路由访问OSPF2
单点双向
(以双点为例)
AR2上OSPF1引入OSPF2,OSPF2引入OSPF1
多点单向
AR2上OSPF引入ISIS
AR3上OSPF引入ISIS
同上需要下发缺省路由
多点双向
(以双点为例)
AR2上ISIS引入OSPF,OSPF引入ISIS
AR3上ISIS引入OSPF,OSPF引入ISIS
问题分析
引入导致的问题可能有路由回馈,次优路径和环路风险
路由回馈:由于双向引入,如图,假设我们从R2出发,把OSPF引入ISIS被引入的路由被通告至该协议下成员即通告到ISIS下,其中包括另一台引入路由的路由器即R3,当R3收到这些路由,此时路由器R3误以为是新的路由,又把这些路由引入自己所在的路由区域即OSPF。再经过通告又回到R2
次优路径:由于路由协议间度量值和路由优先级不同而导致,当路由优先级低的被引入至路由优先级高的时候,就可能产生此情况
环路风险:由于路由协议间度量值和路由优先级不同而导致, 通常与次优路径同时存在
单点单向
次优路径
我们把isis引入ospf,由于优先级问题R3访问R4会走R1-R2-R4,而不是直接到R4
单点双向
次优路径
同上不过多叙述
多点单向
(以双点为例)
路由反馈:由于双向引入的缘故,AR2通告的引入路由会通过网络在被AR3传回来通过一次
次优路径
环路风险:当5.5.5.5通过直连引入且cost改为2,type为2,又在R2把OSPF引入ISIS,在R3把ISIS引入OSPF,此时R3访问5.5.5.5就会环路
因为OSPF外部路由优先级为150,当5.5.5.5的路由被引入ISIS中,其优先级会被置换为15,于是在R3上就会出现违背管理原则的情况,此时,R3访问5.5.5.5会访问R4,而R4查表发现要去5.5.5.5得去R2,R2得去R1,R1因为引入的问题,直接发给R5cost为2,而去R3的cost为1,此时去R3反而成了最优路径,于是自此开始循环,环路形成
多点双向
(以双点为例)
路由反馈
次优路径
解决方案(以双点双向为例)
实验拓扑
在R5上引入直连192.168.1.0/24,R1,R2,R3运行OSPF,R2,R3,R4运行ISIS且开销改为宽,R2,R3上相互引入
实验要求
解决路由反馈和次优路径的问题
路由反馈:将自身发送的路由打上tag,通过route-policy进行筛选并选择适当操作(不让你传回来)
次优路径:改cost通过创建route-policy将ospf外部路由150的优先级转化为比isis优先级小的(改优先级让你无法选中)
实验配置
由于双向引入,我们可以看成两个环,顺时针一个逆时针一个,因此2X2+2=6个路由route-policy
1.配置IP(省略)
2.宣告相关网段(省略)
3.将192.168.10.0/24网段引入,在AR3和AR2上配置route-policy,并在引入时调用
直连引入需修改优先级,使得OSPF去5.5.5.5不会发给ISIS
这样改还是不妥,因为去往4.4.4.4的网段就会走R1内部而不是直接发给R4,所以需要将打tag30的标签选择比15大的优先级(tag只是不发布给其他路由域,本机还是又这些路由的)
顺时针的环可以这样处理,逆时针同理
R2
isis 1
is-level level-2
cost-style wide
network-entity 49.0001.0000.0000.0002.00
import-route ospf 1 route-policy o2is //引入路由时调用相关策略(顺时针的环)
interface GigabitEthernet0/0/0
ip address 10.1.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.24.2 255.255.255.0
isis enable 1
#
interface NULL0
#
ospf 1 router-id 2.2.2.2
import-route isis 1 route-policy is2o //引入路由时调用相关策略(逆时针的环)
preference ase route-policy cost1 14 //调用并修改引入优先级为14,比isis低确保被选路的时候被选上
area 0.0.0.0
network 10.1.12.2 0.0.0.0
#
route-policy is2o deny node 5 //不允许引入tag300的包,来自R3上ospf引入isis的路由
if-match tag 300
#
route-policy is2o permit node 10 //isis引入ospf的路由打上tag100
apply tag 100
#
route-policy cost1 permit node 10 //防止次优路径,将来自R3上isis引入ospf的路由进行修改
if-match tag 30
apply preference 200
#
route-policy o2is deny node 5 //不允许引入tag30的路由,来自R3上ospf引入isis的路由
if-match tag 30
#
route-policy o2is permit node 10 //ospf引入isis的路由打上tag10
apply tag 10
#
R3
#
isis 1
is-level level-2
cost-style wide
network-entity 49.0001.0000.0000.0003.00
import-route ospf 1 route-policy o2is //引入时调用策略(顺时针的环)
interface GigabitEthernet0/0/0
ip address 10.1.34.3 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 10.1.13.3 255.255.255.0
#
interface NULL0
#
ospf 1 router-id 3.3.3.3
import-route isis 1 route-policy is2o//引入时调用策略(逆时针的环)
preference ase route-policy cost1 14
area 0.0.0.0
network 10.1.13.3 0.0.0.0
#
route-policy is2o deny node 5 //如果标签是tag10则不允许引入,来自R2的ospf引入isis
if-match tag 10
#
route-policy is2o permit node 10 //如果是被引入的路由打上标签tag30
apply tag 30
#
route-policy o2is deny node 5 //如果是tag100则不允许引入,来自R2的isis引入ospf
if-match tag 100
#
route-policy o2is permit node 10 //ospf引入isis的路由则打上tag300
apply tag 300
#
route-policy cost1 permit node 10 //防止次优路径,将来自R2isis引入ospf的路由修改
if-match tag 100
apply preference 200
总结
路由引入实现了路由信息共享,但由于不同协议间的设计不同,出现的一些不符合管理的问题需要认为解决,一项技术的出现必定有其弊端和优势。对我而言,我觉得解决这个问题的方法非常巧妙,通过打tag的方式标记流量来源,从中也可以看到设计者解决问题的思路,打标签就让我想到BGP的12条路径属性还有VLAN标签等技术。