路由基础之OSPF虚链路

要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述路由基础之OSPF虚链路相关的知识,希望能为你提供帮助。
OSPF虚链路

原理概述:通常情况下,一个OSPF网络的每个非骨干网络区域都必须与骨干区域通过ABR路由器直接连接,非骨干区域之间的通信都需要通过骨干区域进行中转。但在现在中,可能会因为各种条件限制,导致各种条件限制,导致非骨干区域与骨干区域无法直接连接,在这种情况下,可以使用OSPF虚链路(Virtual Link)来实现非骨干区域与骨干区域在逻辑上直接相连。OSPF协议还要要求骨干区域必须是唯一且连续的,然而,由于发生故障等原因,骨干区域有可能出现被分割的情况。此外,同样可以使用虚链路来实现物理上被分割的骨干区域能够逻辑相连。
虚连接(Virtual-link):由于网络的拓扑结构复杂,有时无法满足每个区域必须和骨干区域直接相连的要求,为解决此问题,OSPF提出了虚链路的概念。
虚连接是设置在两个路由器之间,这两个路由器都有一个端口与同一个非主干区域相连。虚连接被认为是属于主干区域的,在OSPF路由协议看来,虚连接两端的两个路由器被一个点对点的链路连接在一起。在OSPF路由协议中,通过虚连接的路由信息是作为域内路由来看待的。
因为OSPF采用了区域化的设计,并且区域也采用了Hub-Spoke的架构,所有区域中定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它Normal 区域(常规区域)应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,但在某些情况下,某些常规区域无法与骨干区域直连,这时便无法得到其它区域的路由,因此,设计了将骨干区域的范围通过虚拟的方法进行扩展到相邻常规区域的位置,因而让不能直接与骨干区域相连的区域,最终可以与骨干区域直连,这种对骨干虚拟的扩展和拉伸就是OSPF虚链路(Virtual Link)能实现的。
因为某些常规区域不能与骨干区域直连而只能与其它常规区域直连,所以OSPF虚链路(Virtual Link)通过将相邻的常规区域虚拟为骨干区域,从而让那些不能与骨干区域直连的常规区域也能获得其它OSPF区域的路由。与骨干区域相邻的常规区域被扩展后,该区域被称为Transit Area,理论上Transit Area不应该为末节区域。


实验目的:
虚连接是指在两台ABR之间,穿过一个非骨干区域(转换区域——Transit Area),建立的一条逻辑上的连接通道,可以理解为两台ABR之间存在一个点对点的连接。“逻辑通道”是指两台ABR之间的多台运行OSPF的路由器只是起到一个转发报文的作用(由于协议报文的目的地址不是这些路由器,所以这些报文对于它们是透明的,只是当作普通的IP报文来转发),两台ABR之间直接传递路由信息。这里的路由信息是指由ABR生成的type3的LSA,区域内的路由器同步方式没有因此改变。
虚链路在网络中会穿越其他区域,因此可能会带来安全隐患,所以通常都会对虚链路进行认证功能的配置,虚链路认证其实是OSPF接口认证的一种,支持MD5、HMAC-MD5、明文及Keychain等特性。


理解OSPF虚链路的应用场景
掌握OSPF虚链路的配置方法
掌握OSPF虚链路认证功能的配置方法
实验内容:本实验模拟了一个企业网络场景,全网运行OSPF,路由器R1、R2为公司总部路由器,R3为新建分公司下面的分支机构的接入路由器。由于网络升级尚未完成,所以目前的区域划分是:R1与R2之间的链路位于区域0,R3与R1、R3与R2之间的链路位于区域1,R3与R4之间的链路位于区域2。网络需求是,使用虚链路技术,使得分支机构所属的区域2能够访问总部网络,且优先使用路径R4-R3-R1,并以R4-R3-R2路径作为备份,同时,总部路由器R1和R2之间的通信需要采用R1-R3-R2路径作为备份,同时,总部路由器R1和R2之间的通信需要R1-R3-R2路径作为冗余备份,另外,为了提高安全性,对于所使用的虚链路应进行认证功能的配置。
实验拓扑如图所示:
1:基础配置:R1:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
ospf 10 router-id 10.0.1.1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 10.0.12.0 0.0.0.255
area 0.0.0.1
network 10.0.13.0 0.0.0.255
vlink-peer 10.0.2.2 hmac-md5 1 plain huawei
vlink-peer 10.0.3.3

R2:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
ospf cost 10
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
#
ospf 10 router-id 10.0.2.2
area 0.0.0.0
network 10.0.2.2 0.0.0.0
network 10.0.12.0 0.0.0.255
area 0.0.0.1
network 10.0.23.0 0.0.0.255
vlink-peer 10.0.1.1 hmac-md5 1 plain huawei
vlink-peer 10.0.3.3

R3:
interface GigabitEthernet0/0/0
ip address 10.0.13.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
ospf cost 10
#
interface GigabitEthernet0/0/2
ip address 10.0.34.3 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.0
#
ospf 10 router-id 10.0.3.3
area 0.0.0.1
network 10.0.3.3 0.0.0.0
network 10.0.13.0 0.0.0.255
network 10.0.23.0 0.0.0.255
vlink-peer 10.0.1.1
vlink-peer 10.0.2.2
area 0.0.0.2
network 10.0.34.0 0.0.0.255


R4:
#
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.4.4 255.255.255.255
#
ospf 10 router-id 10.0.4.4
area 0.0.0.2
network 10.0.4.4 0.0.0.0
network 10.0.34.0 0.0.0.255


2:搭建OSPF网络在每台路由器上配置OSPF协议,其中R1和R2之间的链路位于区域0,R3与R1、R3与R2之间的链路位于区域1,R3与R4之间的链路位于区域2。
配置完成后,查看R3的OSPF邻居关系 
可以看到,R3的邻居关系都处于Full状态,表明各路由器之间已经成为建立了邻居关系。
查看R4的LSDB 
可以看到,R4的LSDB中没有区域0中关于10.0.1.1/32和10.0.2.2/32的; SA,也没有任何其他区域的LSA,仅仅只有本区域的Type-1 LSA和Type-2 LSA,这说明区域2中并没有ABR存在,即区域2并未与区域0相连,也无法与其他区域进行正常通信。
3:使用虚链路是区域2与区域0逻辑相连
[R3]ospf 10
[R3-ospf-10]a 1
[R3-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1

[R1]ospf 10
[R1-ospf-10]a 1
[R1-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3

配置完成后,查看 
可以看到,R1与R3已经成功建立了虚链路,虚链路的状态为Full
查看R4的LSDB 
可以看到,R4的LSDB中出现了由R3通告的,关于区域0和区域1的Type-3 LSA,说明此时R4已经将R3作为连接区域2至区域0的ABR了
测试R4与R1和R2的连通性 
可以看到,通信是正常的
4:修改虚链路的开销值
[R2]ospf 10
[R2-ospf-10]a1
[R2-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3

[R3]ospf 10
[R3-ospf-10]a 1
[R3-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2

配置完成后,在R3上查看虚链路信息 
在G0/0/1上修改OSPF协议开销值
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ospf cost 10

[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf cost 10

配置完成后,在R3上查看虚链路信息 
5:使用虚链路作为区域0链路的冗余备份
[R1]ospf 10
[R1-ospf-10]a 1
[R1-ospf-10-area-0.0.0.1]v
[R1-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2

[R2]ospf 10
[R2-ospf-10]a 1
[R2-ospf-10-area-0.0.0.1]v
[R2-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1

配置完成后,在R1上查看虚链路信息 
可以看到,R1与R2之间的虚链路的开销值为11。
 
可以发现,说明R1和R2之间的通信使用的仍是直连链路。关闭R1的G0/0/0接口,模拟链路出现故障
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]sh
[R1-GigabitEthernet0/0/0]shutdown



可以看到,此时R1和R2使用的是虚链路进行通信
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]un sh

为进行后续实验,请重新打开R1的G0/0/0接口
6:配置虚链路的认证功能
[R1]ospf 10
[R1-ospf-10]a 1
[R1-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2 hmac-md5 1 plain huawei

配置完成后,在R1上观察虚链路信息
 
可以看到,目前R1与R2之间的虚链路的状态为Down,说明虚链路建立失败,原因是R2还未进行配置相应的认证功能
在R2上配置认证功能
[R2]ospf 10
[R2-ospf-10]a 1
[R2-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1 hmac-md5 1 plain huawei

配置完成后,重新在R1上观察虚链路信息 
可以看到,R1和R2之间的虚链路已经得到恢复。
实验结束;备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!
【路由基础之OSPF虚链路】?

    推荐阅读