OSPF骨干区域不连续的两种解决方案—虚链路(Virtual-link)和GRE Tunnel
 
OSPF骨干区域不连续的两种解决方案
虚链路(Virtual-link)和GRE Tunnel<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

   我们知道RFC2328规定了OSPF有如下五种网络类型:

Broadcast

Point-to-point

Point-to-multipoint

NBMA

Virtual-link

其中第5Virtual-link就是为了解决OSPF骨干区域Area 0不连续的问题而设计的。OSPF协议定了骨干区域Area 0,并规定所有非骨干区域必须和骨干区域相连。但是在某些特定的情况下,Area 0并不总是连续的。比如两个公司进行合并后,每个公司都有原来自己的Area 0,为在过渡阶段保证两个公司合并后网络的可用性,就可能需要用到Virtual-link这种技术将两个或多个连续的Area 0连接起来,构成一个完整的OSPF路由域。

当然除了Virtual-link之外,GRE Tunnel也是一个不错的选择。本文将对这两种方式进行举例说明,以加深理解。

网络拓扑如下:

R1~R5loopback 0地址分别为192.168.100.1~5

路由器相邻链路地址为:10.10.XY.X/24或者为10.10.XY.Y/24(其中X为路由器编号较小的那个值,Y为路由器编号较大的那个值。如R1-R2间的链路,R1的地址为10.10.12.1/24,R210.10.12.2/24)。

所有链路均封装为FR
 
 R1~R5全部运行OSPF,其中R2R4ABRR1R2R4R5loopback 0Area 0.

      完成基本配置后,R1/R2无法学到R4/R5loopback 0地址,反之R4/R5也无法学到R1/R2loopback 0地址。

基本配置只列出R4,其余路由器配置类似。

!

interface Loopback0

 ip address 192.168.100.4 255.255.255.255

!

interface Serial1/0

 ip address 10.10.34.4 255.255.255.0

 encapsulation frame-relay

 ip ospf network point-to-point

 serial restart-delay 0

 frame-relay map ip 10.10.34.3 403 broadcast

 no frame-relay inverse-arp

!

interface Serial1/1

 ip address 10.10.45.4 255.255.255.0

 encapsulation frame-relay

 serial restart-delay 0

 frame-relay map ip 10.10.45.5 415 broadcast

 no frame-relay inverse-arp

!

router ospf 100

 log-adjacency-changes

network 10.10.34.0 0.0.0.255 area 1

 network 10.10.45.0 0.0.0.255 area 0

 network 192.168.100.4 0.0.0.0 area 0

 neighbor 10.10.45.5

显示R4的路由表:

R4#sh ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

       ia - IS-IS inter area, * - candidate default, U - per-user static route

       o - ODR, P - periodic downloaded static route

 

Gateway of last resort is not set

 

     10.0.0.0/24 is subnetted, 3 subnets

O       10.10.13.0 [110/128] via 10.10.14.1, 01:01:04, Serial1/0

C       10.10.14.0 is directly connected, Serial1/0

C       10.10.45.0 is directly connected, Serial1/1

     192.168.100.0/32 is subnetted, 3 subnets

C       192.168.100.4 is directly connected, Loopback0

O       192.168.100.5 [110/65] via 10.10.45.5, 00:00:02, Serial1/1

O       192.168.100.13[110/65] via 10.10.34.3, 01:01:04, Serial1/0

R4#

发现并没有R1/R2  loopback0 的路由信息。

 

查看R4  OSPF邻居状态

R4#show ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.100.5     1   FULL/DR         00:01:40    10.10.45.5      Serial1/1

192.168.100.3     0   FULL/  -         00:00:31    10.10.34.3      Serial1/0

R4#

R4和两个OSPF 邻居R3/R5都已经建立了邻接关系,但是学习不到R1/R2loopback 0接口路由,而这些路由在R3上是存在。这就需要在两台ABR路由器上配置Virtual-link来加以解决。

R4需要增加的配置:

router ospf 100

area 1 virtual-link 192.168.100.2

R2virtual-link配置:

router ospf 100

area 1 virtual-link 192.168.100.4

在两台ABR路由器virtual-link配置完成后,查看OSPF邻居状态,会发现新增加了一个Virtual-Linkneighbour

R4# show ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.100.2     0   FULL/  -           -      10.10.23.2      OSPF_VL1

192.168.100.3     1   FULL/BDR      00:01:58    10.10.23.2      Serial1/1

192.168.100.5    0   FULL/  -        00:00:36    10.10.13.1      Serial1/0

 

查看R4R2路由表中也出现了R1/R2loopback0 地址,同事R1/R5也可以学到这两条路由。

除了virtual-link之外也可以使用GRE tunnel来解决ospf area 0不连续的问题。

同样是在两台ABR路由器上进行配置

R4tunnel配置:

R4#sh run interface  tunnel 0

interface Tunnel0

 ip unnumbered Loopback0

 tunnel source Serial1/0

 tunnel destination 10.10.23.2

 

R2tunnel配置:

R2#sh run interface  tunnel 0

interface Tunnel0

 ip unnumbered Loopback0

 tunnel source Serial1/0

 tunnel destination 10.10.34.4

 

查看配置tunnelR4OSPF邻居:

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.100.2     0   FULL/  -        00:00:35    192.168.100.2   Tunnel0

192.168.100.5     1   FULL/DR         00:01:57    10.10.45.5      Serial1/1

192.168.100.1     0   FULL/  -        00:00:37    10.10.14.1      Serial1/0

 

查看R2R4的路由表,发现R1~R5loopback0地址都在全局路由表中。进行ping测试,任意两台路由器的Loopback0接口地址都有路由可达。

R5上对R1loopback0接口地址进行traceroute测试,发现经过三跳可达,其中第2跳是R4--àR2的隧道。在R1上多R5进行traceroute测试,同样可以发现第2跳是R2--àR4的隧道。

值得注意的是,Virtual-link配置在进行路由追踪测试时,从R1--àR5或者R5--àR1时会经过4跳,且必须经过R3