OSPF区域划分的条件
- 区域之间必须存在ABR
- 区域划分必须按照星型拓扑结构进行划分
常见的不规则区域
- 远离骨干的非骨干区域
这种情况下,AR4是获取不到其它路由的
- 不连续骨干
解决方法
一、 使用tunnel隧道
- 在AR2上:
[r2]int t 0/0/0
[r2-Tunnel0/0/0]ip add 10.0.0.1 24
[r2-Tunnel0/0/0]tunnel-protocol gre
[r2-Tunnel0/0/0]source 23.0.0.1
[r2-Tunnel0/0/0]destination 34.0.0.2
# 把创建的tunnel宣告出去
[r2]ospf
[r2-ospf-1]a 0
[r2-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.255
- 在AR4上
[r4]int t 0/0/0
[r4-Tunnel0/0/0]ip add 10.0.0.2 24
[r4-Tunnel0/0/0]tunnel-protocol gre
[r4-Tunnel0/0/0]source 34.0.0.2
[r4-Tunnel0/0/0]destination 23.0.0.1
# 在AR4上创建个区域0,因为我们要把AR4接入到area0中,并宣告tunnel
[r4]ospf
[r4-ospf-1]a 0
[r4-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.255
注意点:
① 当一个ABR是合法ABR时,且同时连接骨干和多个非骨干区域,则非骨干区域之间路由信息将不通过骨干区域直接传递
② 当路由信息来自骨干区域和非骨干区域时,设备将无条件相信骨干区域的相信,而不去比较开销值
出现的问题:
① 当一个ABR成为合法ABR后,将会同时给骨干区域和非骨干区域发送消息,导致重复更新
② 由于OSPF会优先选择骨干区域传来的路由,将导致选路不佳
③ 因为虚拟链路的存在,连接两端将会建立邻居关系,导致周期性的数据会穿越中间区域,造成中间区域的资源浪费
二、OSPF虚链路
- 在AR4上
[r4]ospf
[r4-ospf-1]area 1
# 2.2.2.2就是指定担保人
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
- 在AR2上
[r2]ospf
[r2-ospf-1]area 1
# 2.2.2.2 同意给 4.4.4.4当担保人,双方都要成功建立关系
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4
查看vlink的邻居表:display ospf vlink
注意点:
① 虚链路的创建是双向的,两边都必须配置虚链路
出现的问题:
① 因为虚拟链路的存在,连接两端将会建立邻居关系,导致周期性的数据会穿越中间区域,造成中间区域的资源浪费
② 只能穿越一个区域(虚链路永远属于area0)
三、多进程双向重发布
- 在AR4上:
#重新建一个OSPF进程,进程号为2,要和前面的1区别开
[r4]ospf 2 router-id 4.4.4.4 #route id 这个在进程1中用过,但不影响在进程2中的使用
[r4-ospf-2]area 2
[r4-ospf-2-area-0.0.0.2]network 45.0.0.0 0.0.0.255
- 在AR4上
# 进入进程2 ,导入进程1的路由信息
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
[r4-ospf-2]q
# 进入进程1 ,导入进程2的路由信息
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
注意点:
① 重发布是配置在运行不同协议的边界路由器上的,OSPF将这样的边界路由器成为ASBR(自治系统边界路由器)