OSPF骨干区域不连续的两种解决方案—虚链路(Virtual-link)和GRE Tunnel_职场
 
OSPF骨干区域不连续的两种解决方案
虚链路(Virtual-link)和GRE Tunnel
 
   我们知道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