< body>
< body>
OSPF
骨干区域不连续的两种解决方案
虚链路( Virtual-link )和 GRE Tunnel
虚链路( 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/R2的loopback 0接口路由,而这些路由在R3上是存在。这就需要在两台ABR路由器上配置Virtual-link来加以解决。
R4需要增加的配置:
router ospf 100
area 1 virtual-link 192.168.100.2
R2的virtual-link配置:
router ospf 100
area 1 virtual-link 192.168.100.4
在两台ABR路由器virtual-link配置完成后,查看OSPF邻居状态,会发现新增加了一个Virtual-Link的neighbour。
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
查看R4和R2路由表中也出现了R1/R2的loopback0 地址,同事R1/R5也可以学到这两条路由。
除了virtual-link之外也可以使用GRE tunnel来解决ospf area 0不连续的问题。
同样是在两台ABR路由器上进行配置
R4的tunnel配置:
R4#sh run interface tunnel 0
interface Tunnel0
ip unnumbered Loopback0
tunnel source Serial1/0
tunnel destination 10.10.23.2
R2的tunnel配置:
R2#sh run interface tunnel 0
interface Tunnel0
ip unnumbered Loopback0
tunnel source Serial1/0
tunnel destination 10.10.34.4
查看配置tunnel后R4的OSPF邻居:
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
查看R2和R4的路由表,发现R1~R5的loopback0地址都在全局路由表中。进行ping测试,任意两台路由器的Loopback0接口地址都有路由可达。
在R5上对R1的loopback0接口地址进行traceroute测试,发现经过三跳可达,其中第2跳是R4--àR2的隧道。在R1上多R5进行traceroute测试,同样可以发现第2跳是R2--àR4的隧道。
值得注意的是,Virtual-link配置在进行路由追踪测试时,从R1--àR5或者R5--àR1时会经过4跳,且必须经过R3。