单点双向引入
先来看一个单点双向的路由引入
在R2上分别引入OSPF和ISIS后,可以看到在AR1和AR3中都出现了相应的lo0接口的地址。说明这没有问题。但是这有一个缺点就是没有冗余,一旦线路出现中断就全部over。所以要增加冗余性。
双点双向本地路由引入
我们增加了AR4,这样就增加了链路的冗余性 。这就很完美了。本地路由引入也增加了冗余。如果这些路由后面的PC就能相互访问。
双点双向外部路由引入
那如果再次基础上在增加一个路由器呢?同样把AR5也加入到ospf中。看下图
在AR5上建立一个环回接口 然后把这个环回接口按照外部路由的方式引入到ospf中。
注意:这个环回接口在AR5上是直连的,不能引入其他的直连接口,只能引入这个环回接口。需要用到route-policy。
[AR5]ip ip-prefix lo0 permit 192.168.1.1 32
[AR5]route-policy dto permit node 10
[AR5-route-policy]if-match ip-prefix lo0
[AR5]ospf 1
[AR5-ospf-1]import-route direct route-policy dto
引入之后,看其他路由器的加载的路由表就出现问题了。
出现的问题
R1上出现了2条去往192.168.1.1的路由,分别是AR5和AR4。如果走AR4就这就可能产生环路问题。
R4上出现去往192.168.1.1的路由是到AR3。这里就产生了次优路径的问题。
如果这个时候把引入的环回接口undo掉,那么ospf中就产生3600s的失效LSA,但是在路由1-2-3-4中经过3600S后依然存在这条路由。存在路由删除不了的情况。
我们来分析下产生问题的原因:
1.AR5引入外部路由后,会泛洪给ospf中,到AR2上这条路由是ospf引入的外部,ospf加表后被isis引入,在isis中传给AR4。那么在AR4中就出现了2条到192.168.1.1的路由一个是ospf的,一个是AR3传来的isis的。ospf的优先级是150,isis的优先级是15.所以isis加表成功。isis加表后就又被ospf引入,所以AR1就收到AR4传递来的192.168.1.1的路由。
简单来说就是AR1传的路由给AR2,然后又从AR4把相同的路由还给了AR1,这样就出现了路由环路问题和次优的问题。
解决办法
第一步:我们可以通过在AR2和AR4上利用tag标签的属性修改加上route-policy,解决路由回馈环路的问题。
第二步:通过在OSPF区域引入外部路由时候利用tag标签属性,在AR2和AR4针对这个tag属性路由修改外部优先级,解决次优路径问题。
AR2的ospf到isis方向
[AR2]route-policy oti permit node 10
[AR2-route-policy]apply tag 100 //在AR2上ospf到isis方向打tag=100的标签
[AR4]route-policy ito deny node 10
[AR4-route-policy]if-match tag 100
[AR4]ospf 1
[AR4-ospf-1]import-route isis 1 route-policy ito //在AR4上isis到ospf方向抓取到tag=100的标签的路由然后过滤掉,不让通过。
同理在AR4的isis到ospf方向
[AR4]route-policy ito permit node 20
[AR4-route-policy]apply tag 200
[AR2]route-policy oti deny node 20
[AR2-route-policy]if-match tag 200
[AR2-route-policy]q
[AR2]isis 1
[AR2-isis-1]import-route ospf 1 route-policy oti
AR2的isis到ospf方向
[AR2]route-policy ito permit node 10
[AR2-route-policy]apply tag 300
[AR4]route-policy oti deny node 10
[AR4-route-policy]if-match tag 300
[AR4-route-policy]q
[AR4]isis 1
[AR4-isis-1]import-route ospf 1 route-policy oti
AR4的ospf到isis方向
[AR4]route-policy oti permit node 20
[AR4-route-policy]apply tag 400
[AR2]route-policy ito deny node 20
[AR2-route-policy]if-match tag 400
[AR2]ospf 1
[AR2-ospf-1]import-route isis 1 route-policy ito
这样就可以解决环路问题。
环路虽然解决了 但是次优路径依然存在。
R5:
route-policy dto permit node 10
if-match ip-prefix lo0
apply tag 500
ospf 1 router-id 5.5.5.5
import-route direct route-policy dto //目的,引入后的路由全部被标记为TAG500,方便未来针对这部分路由进行属性修改。
--------------
R2:
route-policy PRE permit node 10
if-match tag 500
apply preference 14
ospf 1 router-id 2.2.2.2
preference ase route-policy PRE 150 //为何要用TAG来抓取这部分路由,因为TAG这个标记是一劳永逸的,
未来所有路由引入后都会具有相同的TAG属性
R4:
route-policy PRE permit node 10
if-match tag 500
apply preference 14
ospf 1 router-id 2.2.2.2
preference ase route-policy PRE 150
这样就解决问题了。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
本文向读者介绍两个优秀的分布式消息流平台:Kafka与Pulsar。 Apache Kafka(简称Kafka)是由LinkedIn公司开发的分布式消息流平台,于2011年开源。Kafka是使用Scala和Java编写的,当下已成为最流行的分布式消息流平台之一…