远离骨干的非骨干区域
r3能学到area0 和area 1 的路由信息,但是不用,需要连接r2和r3,物理链路浪费接口,所以:
使用tunnel隧道
在R2和R3之间构建一条隧道,之后,将这个隧道宣告到area 0
r4----->r2----->r3 cost=1652+1
r4----->r2----->r5----->r3 cost=1+1+1
r4----->r2----->r6----->r3 cost=48+48+1
在三条链路中,r2优先选择来自骨干的路由即cost=1563的那一条----水平分割
使用vpn隧道解决不规则区域的问题
- 可能产生选路不佳
- 可能造成重复更新
- 因为虚拟链路的存在,R2和R3之间也需要建立邻居。导致他们之间维护的周期性数据将穿越Area1x,导致间区域的资源消耗过大。
虚链路---Vlink
专门为了解决OPSF的不规则区域的问题而诞生的技术,是一种虚拟的,逻辑的链路。
配置命令:
[r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 ---邻居route ID
[r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
虚链路的配置条件:只能穿越一个区域。
Vlink链路实际上全部使用单播报文来描述信息。
vlink---骨干区域的延伸(相当于永远属于area 0)
使用vlink解决不规则区域的问题
- 因为虚拟链路的存在,R2和R3之间也需要建立邻居.导致他们之间维护的周期性数据将穿Area 1,导致中间区域的资源消耗过大.
- 只能穿越一个区域
验证过程:
shutdown r1——r2 ----> r3不可达r2;r4不可达r1
解决办法:
r3和r4之间配置虚链路vlink
Vlink解决没有骨干区域的场景(vlink链路永远属于区域0)
Vlink环路问题
成环原因:
当r2和r4之间建立vlink时,会产生问题,r4把r5的路由信息通过r3发送给r2,r3没有资格打开数据包,只转发,r2得到r5的路由信息之后又传给r1,r3,r1再传给r3,但是r3用来自区域间的r1的那一条路由(下一跳到r1)。此处是若r3--->r4,则会r3-->r1--->r2--->r3,这就形成了环路
解决办法:重新建立虚链路 r4-----r3
场景二:不允许往vlink所在区域传递聚合路由(abr-summary)
成环原因:
给r2-ospf-area 0汇总路由10.0.0.0/8,将该汇总r2--->r4(单播),r4用这条路由,同时r2--->r3--->r4(组播)但是r4不会用这条路由,r4上r2的汇总不会往下发,所以在r4-ospf -area 2上面做汇总10.1.0.0./16,目的是让其下发。 此时2--->3发送10.0.0.0./8, 而4-->3发送10.1.0.0/16,路由信息。
此时若r4想要访问10.1.3.1/24,则r4会转发给r3,r3上有两条关于目的地址的路由,选择掩码长的即10.1.0.0/16,所以r3又转发给r4,又因为r4与r2之间的vlink,真实链路下一跳又是r3,所以形成环路。
r4---->r3---->r4
解决方法:r4不能汇聚非直连区域的路由
OSPF规定,vlink所在区域不允许传递聚合路由。
使用多进程双向重发布
重发布---把一种路由信息以另一种路由协议的的方式发布出去。
[r3-ospf-1]import-route ospf 2 ---将OSPF进程2的路由导入到OSPF进程1
[r3-ospf-2]import-route ospf 1