OSPF虚拟链路以及选路

一、虚链路简介

虚连接是指在两台ABR之间,穿过一个非骨干区域(转换区域——Transit Area),建立的一条逻辑上的连接通道,可以理解为两台ABR之间存在一个点对点的连接。“逻辑通道”是指两台ABR之间的多台运行OSPF的路由器只是起到一个转发报文的作用(由于协议报文的目的地址不是这些路由器,所以这些报文对于它们是透明的,只是当作普通的IP报文来转发),两台ABR之间直接传递路由信息。这里的路由信息是指由ABR生成的type3的LSA,区域内的路由器同步方式没有因此改变

二、配置分析

主要解决非骨干区没有和骨干区域直连,在两个真假ABR路由器上配置,让其中一个伪ABR路由器认为通过虚链路和骨干区域直连!
虚链路配置在两个ABR上面进行配置而且一个ABR路由器其中一个接口必须在骨干区域,中间最多只能跨越一个区域,而且不能是特殊区域(特殊区域邻居会down掉)
配置虚链路使用两端ABR路由器的RID,前提确保这两个RID底层能通

三、虚拟链路案例

拓扑

ospf hello 虚链路 ospf虚链路的作用_OSPF


R1与R3建立OSPF邻居关系,如下:

ospf hello 虚链路 ospf虚链路的作用_网络_02


R3去往R1:是从eth0/1出去的,因为他们两个为同区域,那么路由是打O的

ospf hello 虚链路 ospf虚链路的作用_网络_03


此时,我们建立虚拟链路:配置如下

R1:
router router ospf 1
area 1 virtual-link 3.3.3.3 
R3:
router router ospf 1
area 1 virtual-link 1.1.1.1
#互相指环回口
这个area1 是下面的区域

此时,我们将R1与R3的直连接口passive。让其不建立邻居,配置如下

router ospf 1
passive-interface ethernet 0/0

R1观察虚链路,去往R3出接口以及路由

ospf hello 虚链路 ospf虚链路的作用_OSPF_04


此时发现,R1去往R3路由怎么从eth0/1接口出去了?

原来,虚拟链路并不是真正存在的“链路”,虚拟链路就像是ipsec vpn 隧道一样,表面上看起来是虚拟链路、实际还是从两个ABR之外的 Transit area 的真实物理链路传递过去的,注意看:
Transit area 1, via interface Ethernet0/1

此时、我们将R1的eth0/1 shutdown 看是否还通。我们shutdown R1的eth0/1 后,查看到虚拟链路还是UP的,但是却不通了

恢复eth0/1,此时发现:已经通信

ospf hello 虚链路 ospf虚链路的作用_链路_05

得出结论:

虚拟链路只是隧道,还需要真正的穿过一个真实的区域,真正的物理链路来作为路由传递的底层。记住:虚链路是两个ABR之间建立的。

四、选路案例

1.拓扑

ospf hello 虚链路 ospf虚链路的作用_ospf hello 虚链路_06

2.解说

此时R5去往R3的loopback(3.3.3.3)的路由:

ospf hello 虚链路 ospf虚链路的作用_ospf hello 虚链路_07


因为R5的eth0/1 接口属于area 1 、而R3的loopback 0 接口始于area 0

属于区域间(OIA)的路由

此时,我们在R5的eth0/2与R3的eth0/2 之间建立一座“桥梁” eth0/2

ospf hello 虚链路 ospf虚链路的作用_R3_08


因为有了这个桥梁、R5与R3也建立了邻居,此时R5发现他去往R3也是打O的路由 了,因为建立邻居 R5“站起来了”,此时他的路由表 OIA的没有了因为O>OIA。路由类型优先级规定。

ospf hello 虚链路 ospf虚链路的作用_网络_09


那么,R5的eth0/1 无论cost 调整多么小,永远也比不过eth0/2 .

所以R5会优先走eth0/2