们都说,眼见为实,今天自己做了一下ospf与rip的双点双向重发布,终于看到了想要的效果,哈哈哈…………如图r1、r2、r3上起ospf协议,r2、r3、r4、r5上起rip协议。
然后在r2、r3上进行重发布。
r1配置:interface Loopback0ip address 1.1.1.1 255.255.255.255interface Serial0/1ip address 10.1.1.1 255.255.255.0encapsulation frame-relayip ospf network point-to-multipointip ospf hello-interval 10serial restart-delay 0no arp frame-relayframe-relay map ip 10.1.1.2 102 broadcastframe-relay map ip 10.1.1.3 103 broadcastno frame-relay inverse-arprouter ospf 1log-adjacency-changesnetwork 1.1.1.1 0.0.0.0 area 0network 10.1.1.1 0.0.0.0 area 0r2配置:interface Loopback0ip address 2.2.2.2 255.255.255.255interface Serial0/1ip address 10.1.1.2 255.255.255.0encapsulation frame-relayip ospf network point-to-pointserial restart-delay 0no arp frame-relayframe-relay map ip 10.1.1.1 201 broadcast frame-relay map ip 10.1.1.3 201 broadcast no frame-relay inverse-arpinterface Ethernet1/0ip address 24.1.1.2 255.255.255.0router ospf 1log-adjacency-changesredistribute rip metric 100 subnets network 2.2.2.2 0.0.0.0 area 0network 10.1.1.2 0.0.0.0 area 0router ripversion 2redistribute ospf 1 metric 4network 24.0.0.0r3配置:interface Loopback0ip address 3.3.3.3 255.255.255.255interface Serial0/1ip address 10.1.1.3 255.255.255.0 encapsulation frame-relayip ospf network point-to-pointserial restart-delay 0no arp frame-relayframe-relay map ip 10.1.1.1 301 broadcast frame-relay map ip 10.1.1.2 301 broadcast no frame-relay inverse-arpinterface Ethernet1/0ip address 34.1.1.3 255.255.255.0router ospf 1log-adjacency-changesredistribute rip metric 100 subnets network 3.3.3.3 0.0.0.0 area 0network 10.1.1.3 0.0.0.0 area 0router ripversion 2redistribute ospf 1 metric 5 network 34.0.0.0no auto-summaryr4配置:interface Ethernet1/0ip address 24.1.1.4 255.255.255.0 half-duplex!interface Ethernet1/1ip address 34.1.1.4 255.255.255.0 half-duplex!interface Ethernet1/2ip address 45.1.1.4 255.255.255.0 half-duplexrouter ripversion 2network 24.0.0.0network 34.0.0.0network 45.0.0.0no auto-summaryr5配置:interface Loopback0ip address 5.5.5.5 255.255.255.255interface Ethernet0/2ip address 45.1.1.5 255.255.255.0 half-duplexrouter ripversion 2network 5.0.0.0network 45.0.0.0no auto-summary于是出现了这个现象,如图你会发现在r2、r3上5.5.5.5竟然是从ospf上过来的,下一跳是r1的接口………………终于出来了,呵呵,以前总是出不来这个错误的效果…………无疑这是错误的………………原因就在于ospf的管理距离要高于rip,造成路由器选择管理距离低的路由协议,所以会出现这个了……然后在两个ASBR的ospf域内,对in方向设置分布列表,接口为连接A点的接口。
这样配置的意思就是把重分配进ospf域内的rip条目都deny掉,但是这样deny是在ospf域内进行,等于是ASBR不接收rip域内的路由了。
这样做完之后的结果和修改AD值是相同的。
方法三:使用route-map,如果在分布列表的基础上去思考使用route-map的话,会少走一些弯路。
因为在使用分布列表和route-map时的方式是相同的。
这是一个高手写的出现此问题的原因:环路如何产生的?在双点双向重分布的环境中,产生环路主要是因为双协议之间AD值不同,并且假设ASBR 1在redistribute后,此时ospf域内已经产生了type-5的lsa,说明rip的路由条目已经进入了ospf,重分布开始生效。
这时ospf会将数据库内的条目通告其他节点,包括A(假设A为ospf域最远端的节点,该节点不是ASBR)和ASBR 2,并且保持ospf相同域内的lsa数据库相同。
有意思的地方出现了,既然ASBR 1和ASBR 2在相同的ospf域,那为什么两个点的路由表不同?观察路由表发现有一端的ASBR选择了rip协议,另一端的ASBR选择了ospf协议,其实经过分析之后,这种情况很容易可以解释。
在选择rip协议的ASBR端,说明rip域的路由条目是从这个点进来的,进来之后,又重分布进了ospf域,然后,将这些路由条目(分布之前是rip域内路由,分布之后是ospf的O E2路由)通告给了其他ospf节点,对端在学到O E2路由之后就会和之前学到的rip路由比较,比较之后rip条目被丢弃,O E2留下了,就产生了这种情况。
在rip的数据库中也可以得到验证,在选择ospf协议的一端show ip rip database可以看到,在ASBR 2中(路由表中含有O E2路由的节点)的rip数据库显示rip域内的路由为redistrbute,说明了rip域内的路由是从另一个ASBR 1学到的,因为redistrbute表示该条目是由rip域重分布进来的。
而在ASBR 1中(路由表中包含R路由的节点)的rip数据库则显示R路由是从rip域学到的。
现在的情况就是,在ASBR 2的两端同时收到了rip域内的路由,一端是由rip学到的,另一端是由ospf重分布进来的而ASBR 2会选择O E2路由,而不选择rip路由,是和AD有关,ospf(110)的AD值优于rip(120),所以在ASBR 1将这些不同协议的相同路由条目比较之后,选择了ospf,而rip则没有进入路由表。
:o来看rip域这边,如果简单认为rip域内的路由进入ospf域内,再由ospf域重分布进rip域而产生环路是不够的。
环路的产生是因为rip域内的路由在经过ospf重分布之后,再次进入rip域就会引起环路,换句话说,环路是在rip这边产生的。
假设在ASBR 2中O E2路由又在重分布时进入了rip域,这时的B是什么反应?B会想,我又收到了一条相同的路由条目,比较数据库吧比较之后发现,这条路由就是我的直连路由,这样,那条由rip进入ospf,又从ospf重新分布进入rip的路由,被B丢掉了,因为这条路由的metric比直连端口的metric要大(当然了,怎么会有比直连更小的metric?)。
在ASBR 2这端,因为有水平分割,所以ASBR 2是不会把B的直连路由再通告回去的。
这里可以看到,出现问题的链路在ASBR 2和B之间,在收敛之前,ASBR 1也运行了rip,从rip角度来讲,它不会将B的直连路由再发回给B,但是B的直连路由通过rip进入了ospf,而ASBR 1运行的ospf又会将B的直连路由再次通告给B,ok,环路就在这里。
(- - 虽然是在rip链路中产生了环路,但是我还是不认为环路是由rip引起的)再来看ospf域内的路由条目进入rip后会如何,我认为这里是没有问题的,当B收到(不论是从ASBR 1还是ASBR 2收到)ospf域内的路由条目时,会加入rip数据库,因为路径不同,所以从ASBR 1和ASBR 2收到的ospf路由都会加入路由表,然后形成等价的负载均衡。
我想到了樊老师回答的一个问题,在ASBR 1和ASBR 2中,究竟哪一边会出现这种状况?"取决于时间",如果先在ASBR 2做好了redistribute,那ASBR 1和B之间就会产生环路,反之亦然。
环路是如何自己消失的?卷一上说,环路消失是因为失效计时器到时,并且环路的消失和水平分割有很大关系,卷一同时简单例举了帧中继接口,因为帧中继接口的ip水平分割功能在默认情况下是关闭的,所以会产生永久环路。
但是具体是怎样的情况,我也没有一步一步分析过。
环路现象很怪异,很多次重启模拟器,很多次的情况都不相同,有时启动后,马上可以收敛,而有时会等几分钟。
我是以A点ping B点来判断是否收敛的。
我觉得应该和rip的计时器有关吧。
盼望高人指点!再来看次优路径问题,双点双向重分布中,环路貌似不是最致命的问题,因为环路会随着达到失效时间而消失,但是次优路径却不会,它会一直存在。