< body> OSPF骨干区域不连续的两种解决方案—虚链路(Virtual-link)和GRE Tunnel_第1张图片
< body> 
< body>
OSPF 骨干区域不连续的两种解决方案
虚链路( Virtual-link )和 GRE Tunnel
 
    我们知道 RFC2328 规定了 OSPF 有如下五种网络类型:
Broadcast
Point-to-point
Point-to-multipoint
NBMA
Virtual-link
其中第 5 Virtual-link 就是为了解决 OSPF 骨干区域 Area 0 不连续的问题而设计的。 OSPF 协议定了骨干区域 Area 0 ,并规定所有非骨干区域必须和骨干区域相连。但是在某些特定的情况下, Area 0 并不总是连续的。比如两个公司进行合并后,每个公司都有原来自己的 Area 0, 为在过渡阶段保证两个公司合并后网络的可用性,就可能需要用到 Virtual-link 这种技术将两个或多个连续的 Area 0 连接起来,构成一个完整的 OSPF 路由域。
当然除了 Virtual-link 之外, GRE Tunnel 也是一个不错的选择。本文将对这两种方式进行举例说明,以加深理解。
网络拓扑如下:
R1~R5 loopback 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,R2 10.10.12.2/24 )。
所有链路均封装为 FR
 
 R1~R5 全部运行 OSPF ,其中 R2 R4 ABR R1 R2 R4 R5 loopback 0 Area 0.
      完成基本配置后, R1/R2 无法学到 R4/R5 loopback 0 地址,反之 R4/R5 也无法学到 R1/R2 loopback 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