原理概述 

 

  通常情况下,一个OSPF网络的每个非骨干区域都必须与骨干区域通过ABR路由器直接连接,非骨干区域之间的通信都需要通过骨干区域进行中转。

但在现实中,可能会因为各种条件限制,导致非骨干区域与骨干区域无法直接连接,在这种情况下,可以使用OSPF虚链路(Virtual  Link)来实现非骨

干区域与骨干区域在逻辑上直接相连。

       OSPF协议还要求骨干区域必须是唯一且连续的,然而,由于发生故障等原因,骨干区域有可能出现被分割的情况。此时,同样可以使用虚链路来

实现物理上被分割的骨干区域能够逻辑相连。

  虚链路在网络中会穿越其他区域,因此可能会带来安全隐患,所以通常都会对虚链路进行认证的配置。虚链路认证其实是OSPF接口认证的一种,

支持MD5、HMAC-MD5、明文和Keychain等特性。

实验目的:

  • 理解OSPF虚链路的应用场景
  • 掌握OSPF虚链路的配置方法
  • 掌握OSPF虚链路认证功能的配置方法

OSPF 虚链路_最优路径

 OSPF 虚链路_链路_02

 

 

 OSPF 虚链路_最优路径_03

 

 

 OSPF 虚链路_最优路径_04

 

 

 R2路由器应该是g0/0/2接口,上面配成了g0/0/1,重配置g0/0/2

OSPF 虚链路_最优路径_05

 

 

 OSPF 虚链路_最优路径_06

 

 

 OSPF 虚链路_最优路径_07

 

 

 OSPF 虚链路_重配置_08

 

 

 OSPF 虚链路_链路_09

 

 

 OSPF 虚链路_最优路径_10

 

 

 配置完后,查看R3的OSPF邻居关系:

OSPF 虚链路_最优路径_11

 

 

 可以看到,R3的邻居关系都处于FULL状态,表明各路由器之间已经成功建立了邻居关系。

查看 R4的LSDB:

OSPF 虚链路_重配置_12

 

 

 可以看到,R4的LSDB中没有区域0中关于10.0.1.1/32和10.0.2.2/32的LSA,也没有任何其他区域的LSA,仅仅只有本区域的Type-1 LSA和Type-2 LSA,

这说明区域2中并没有ABR存在,即区域2并未与区域0相连,也无法与其他区域进行正常通信 。

 

3、使用虚链路使用区域2与区域0逻辑相连

  接下来将使用虚链路使区域2与区域0在逻辑上相互连接起来,此时的区域1将作为区域2与区域0之间的传输区域。虚链路配置操作将在连接区域2

与区域1的R3上,以及连接区域1与区域0的ABR路由器R1上进行。

  在R3的区域1视图下,使用vlink-peer命令建立与R1的虚链路:

OSPF 虚链路_链路_13

 

 

   在R1的区域1视图下,使用vlink-peer命令建立与R3的虚链路:

OSPF 虚链路_最优路径_14

 

 

 配置完后,在R1上使用命令display  ospf  vlink查看虚链路信息:

OSPF 虚链路_链路_15

 

 

 可以看到,R1和R3已经成功建立了虚链路,虚链路的状态为FULL。

查看R4的LSDB:

OSPF 虚链路_链路_16

 

 

 可以看到,R4的LSDB中出现了由R3通告的、关于区域0和区域1的Type-3 LSA,说明此时R4已经将R3作为连接区域2至区域0的ABR了。

测试R4与R1和R2的连通性:

OSPF 虚链路_链路_17

 

 

 OSPF 虚链路_最优路径_18

 

 

 

4、修改虚链路的开销值

  通过R1和R3之间的虚链路,实现了区域2与区域0的逻辑相连。然而,区域1与区域0之间的ABR除了R1之外,还有R2。

同样,也可以在R2与R3之间建立一条虚链路。

OSPF 虚链路_重配置_19

 

 

 OSPF 虚链路_重配置_20

 

 

 完成配置后,在R3上查看虚链路:

OSPF 虚链路_最优路径_21

 

 可以看到,现在在R3与R1之间、R3与R2之间各存在一条虚链路,开销值均为1,那么当R4访问总总网络区域0时,就会出现负载均衡的情形。

新的需求是:R4与区域0通信时优先选用经由R1的路径,并以经由R2的路径作为备份,实现方法是修改虚链路的开销值。

  由于虚链路实际使用的路径是在传输区域内经过SPF(Short  Path  First)算法计算出的最优路径,虚链路的开销值其实就是OSPF协议

在传输区域内所选用的物理路径的开销值,所以修改虚链路的开销值其实就是修改物理路径的OSPF开销值。

  在R3的g0/0/2接口上修改OSPF协议开销值:

OSPF 虚链路_重配置_22

 

   在R2的g0/0/2接口上完成同样的配置:

OSPF 虚链路_链路_23

 

 配置完后,在R3上查看虚链路信息:

OSPF 虚链路_链路_24

 

   可以看到,R3与R2之间的虚链路的开销值变成10,R3与R1之间的虚链路的开销值保持为1。在这样的条件下,R4与R3都将通过经由R1的路径访问区域0,

并以经由R2的路径作为备份。

 

5、使用虚链路作为区域0链路的冗余备份

  目前,R1和R2之间只有单条链路连接,如果出现链路故障,就会导致区域0被分割的问题。为了解决这一问题,增强网络的可靠性,可以以区域1为传输区域,

在R1与R2之间建立一条虚链路作为冗余备份。

OSPF 虚链路_最优路径_25

 

 OSPF 虚链路_最优路径_26

 

 配置完后,在R1上查看虚链路信息:

OSPF 虚链路_最优路径_27

 

 可以看到,R1与R2之间的虚链路的开销值为11。在R1上使用tracert命令测试访问10.0.2.2/32的路径:

OSPF 虚链路_链路_28

 

 可以看到,R1与R2之间是直连关系。关闭R1的g0/0/0接口:

OSPF 虚链路_链路_29

 

 再次使用tracert命令进行测试:

OSPF 虚链路_最优路径_30

 

 可以看到,现在R1和R2使用虚链路进行通信。

重新启动R1的g0/0/0接口:

OSPF 虚链路_重配置_31

 

 

 

 

6、配置虚链路的认证功能

  由于虚链路使用了其他传输区域的物理链路,所以通常应配置认证功能来增强安全性。以R1和R2之间的虚链路为例,在R1上区域1的视图下,使用命令

vlink-peer  10.0.2.2  hmac-md5  1  plain  huawei ,其中hmac-md5表示所选用的认证加密方式,1为key ID,plain  huawei表示以明文方式显示口令,口令为huawei。

OSPF 虚链路_重配置_32

 

 配置完成后,在R1上观察虚链路的信息:

OSPF 虚链路_最优路径_33

 

 可以看到,目前R1和R2之间的虚链路状态为Down,说明虚链路建立失败,原因是R2还未进行相应的认证功能配置。

在R2上配置认证功能:

OSPF 虚链路_链路_34

 

 配置完后,重新在R1上观察虚链路信息:

OSPF 虚链路_最优路径_35

 

 可以看到,R1和R2之间的虚链路已经得到恢复。