双点双向路由重分布实验

 

 

双点双向重分布实验 

基本配置:根据拓扑图完成接口、路由协议的配置。

在R3 上双向重分布,R1 上只做RIP 重分布会不会环路?为什么?

R1(config-router)#do sh ip os da                       此类路由由R3 通告(ASBR)

                         Type-5 AS External Link States

Link ID            ADV Router             Age             Seq#               Checksum Tag
14.1.1.0              33.1.1.1                159            0x80000001     0x00DA91 0

不会。原因在于在此类型LSA 是有R3 自己产生,如果要去往RIP 域内路由,下一跳就是自己,路由器本身到达此网络是不会选择这条路由的,所以路由表中也就不会有到达此网络的另一个路由进程的路径。

现在在R1上做双向重分布,查看路由表.:

 

 

此时,次优路径已经形成。
分析一下次优路由形成的原因:

第一,刚才R3 Redistribute 后,R1、R2、R3 上立即产生type-5的lsa,说明RIP 路由条目已经进入OSPF 进程,重分布开始生效。这时ospf 会将数据库内的条目通告其他节点,并且保持ospf 相同域内的lsa 数据库相同。

有意思的地方出现了,既然ASBR 1 和ASBR 2 在相同的ospf 域,那为什么两个点的路由表不同?不难发现,R1 选择了OSPF 协议,R3 选择了RIP 协议。RIP 路由是从R3 进来的,进来之后,又重分布进了ospf 域,分布前是RIP 域内路由,分布后成了OE2 路由,由于OE2 的AD 比RIP 的AD 小,最终RIP 被丢弃,OE2 留下。在选择ospf 协议的一端show ip rip database 可以看到数据库的具体路由条目由从哪里学到。

由于RIP 的域内路由从R3 进来被重分布进OSPF 成了OE2 路由,优先被放进路由表,不要忘了R1、R3 同时做的双向重分布,换句话说,环路是由RIP 产生的,如果R1 和R3 上的OE2 路由再被重分布RIP 域,RIP 域内路由会怎么做?被丢掉,为什么?因为这条路由的metric 比直连端口的metric 要大,被丢弃,由于水平分割法则,RIP 域内直连路由不会再被通告回去。

有兴趣看几遍这个就明白了:http://bbs.net130.com/showthread.php?t=239352

OK!不罗嗦了,进入实验环节:

方案一:使用分布列表
R1(config)#ip access-list standard huda                                        命名访问列表
R1(config-std-nacl)#deny 14.0.0.0 0.255.255.255                                 过滤的路由
R1(config-std-nacl)#deny 34.0.0.0 0.255.255.255
R1(config-std-nacl)#deny 45.0.0.0 0.255.255.255
R1(config-std-nacl)#deny 55.0.0.0 0.255.255.255
R1(config-std-nacl)#deny 66.0.0.0 0.255.255.255
R1(config-std-nacl)#permit any

R1(config)#router ospf 110
R1(config-router)#distribute-list huda in s1/1                                   分发列表中调用

R3(config)#ip access-list standard huda
R3(config-std-nacl)#deny 14.0.0.0 0.255.255.255
R3(config-std-nacl)#deny 34.0.0.0 0.255.255.255
R3(config-std-nacl)#deny 45.0.0.0 0.255.255.255
R3(config-std-nacl)#deny 55.0.0.0 0.255.255.255
R3(config-std-nacl)#deny 66.0.0.0 0.255.255.255
R3(config-std-nacl)#permit any

R3(config-std-nacl)#router os 110
R3(config-router)#distribute-list huda in s1/0

查看R1、R3 路由表:

R1(config-router)#do sh ip ro os
       33.0.0.0/32 is subnetted, 1 subnets
 O      33.1.1.1 [110/129] via 12.1.1.2, 00:04:09, Serial1/1
       23.0.0.0/24 is subnetted, 1 subnets
 O      23.1.1.0 [110/128] via 12.1.1.2, 00:04:09, Serial1/1
       22.0.0.0/32 is subnetted, 1 subnets
O      22.1.1.1 [110/65] via 12.1.1.2, 00:04:09, Serial1/1

R3(config-router)#do sh ip ro os
       22.0.0.0/32 is subnetted, 1 subnets
O      22.1.1.1 [110/65] via 23.1.1.2, 00:01:40, Serial1/0
       11.0.0.0/32 is subnetted, 1 subnets
O      11.1.1.1 [110/129] via 23.1.1.2, 00:01:40, Serial1/0
       12.0.0.0/24 is subnetted, 1 subnets
O      12.1.1.0 [110/128] via 23.1.1.2, 00:01:40, Serial1/0

O E2 路由被过滤掉。


distribute-list out 后面根协议,过滤效果更好。表示在RIP 重分布前就被过滤掉          

R1(config-router)#distribute-list huda out rip
R3(config-router)#distribute-list huda out rip

方案二:修改AD 值,最简单最有效的方法
R1(config)#router os 110
R1(config-router)#distance 121 33.1.1.1 0.0.0.0
R3(config)#router os 110
R3(config-router)#distance 121 11.1.1.1 0.0.0.0

将OSPF 对端过来的路由AD 设大于120,这里121 后面跟对端的Router-id

实验完成!