Cisco路由器支持多种区域类型(规则、存根、完全存根以及NSSA区域),区域类型之间的不同表现在区域允许的LSA类型的不同。
在规则区域中,允许所有类型的LSA。其好处就是所有的路由器都有所有的路由信息,因此具有到达目的地的最佳路径。缺点就是,任何区域外的链路失效将引起局部的SPF计算。
在存根区域中(Stub)中,不允许外部的LSA。因此,ABR不产生任何更新。外部LSA用于描述OSPF区域外的目的地。例如,从其他路由协议接收到的路由,比如RIP,以及重分布到OSPF中的路由将被认为是外部的,并将在一个外部LSA中被通告。
虽然存根区域可以防止外部区域对区域的影响,但它们并不阻止区域内对区域的影响。因为仍然允许汇总LSA,所以,其他区域将仍然影响到存根区域。
完全存根区域(Totally Stub)区域同存根区域类似,将阻止外部LSA。但是,同存根区域不同的是,完全存根区域不允许汇总LSA。这样其他区域将不影响完全存根区域。
NSSA区域同存根区域类似,但是,它可以将外部路由导入到区域中。区域间的路由为类型7的LSA,并被ABR转换为类型5的LSA。例如,如果你需要阻止外部LSA进入该区域,但仍需要向区域外部发送外部LSA(例如,如果区域中的某个路由器为ASBR),就需要使用NSSA区域。
基本配置如下:
// R1 //
int e0/0
ip ad 192.1.1.1 255.255.255.252
router os 1
network 192.1.1.1 0.0.0.0 area 1
// R2 //
int e0/0
ip ad 192.1.1.2 255.255.255.252
int lo0
ip ad 193.1.1.129 255.255.255.192
ip ospf network point-to-point //变主机路由为网段路由
int e1/0
ip ad 193.1.1.2 255.255.255.128
router os 1
network 192.1.1.2 0.0.0.0 area 1
network 193.1.1.129 0.0.0.0 area 0
network 193.1.1.2 0.0.0.0 area 0
area 0 range 193.1.1.0 255.255.255.0 //区域汇总
// R3 //
int e1/0
ip ad 193.1.1.3 255.255.255.128
int lo0
ip ad 193.1.1.193 255.255.255.192
ip ospf network point-to-point //变主机路由为网段路由
int e0/0
ip ad 194.1.1.1 255.255.255.252
router os 1
network 193.1.1.3 0.0.0.0 area 0
network 193.1.1.193 0.0.0.0 area 0
network 194.1.1.1 0.0.0.0 area 2
area 0 range 193.1.1.0 255.255.255.0 //区域汇总
// R4 //
int e0/0
ip ad 194.1.1.2 255.255.255.252
int e1/0
ip ad 130.1.4.4 255.255.255.0
rotuer os 1
netw 194.1.1.2 0.0.0.0 area 2
summary-address 130.1.0.0 255.255.248.0 //外部路由汇总
router rip
netw 130.1.0.0
// R5 //
int e1/0
ip ad 130.1.4.5 255.255.255.0
int lo1
ip ad 130.1.1.1 255.255.255.0
int lo2
ip ad 130.1.2.1 255.255.255.0
int lo3
ip ad 130.1.3.1 255.255.255.0
int lo5
ip ad 130.1.5.1 255.255.255.0
int lo6
ip ad 130.1.6.1 255.255.255.0
int lo7
ip ad 130.1.7.1 255.255.255.0
router rip
network 130.1.0.0
基本配置完成后,先进行验证:
r1#sh ip ro
130.1.0.0/21 is subnetted, 1 subnets O E2 130.1.0.0 [110/10] via 192.1.1.2, 00:00:02, Ethernet0/0 O IA 193.1.1.0/24 [110/11] via 192.1.1.2, 00:00:02, Ethernet0/0 192.1.1.0/30 is subnetted, 1 subnets C 192.1.1.0 is directly connected, Ethernet0/0 194.1.1.0/30 is subnetted, 1 subnets O IA 194.1.1.0 [110/30] via 192.1.1.2, 00:00:02, Ethernet0/0
我们观察到了区域间路由以及外部路由。这时候其它区域的路由波动会引起本地区域的路由重新计算。外部路由同样也会引起内部路由计算。
第一个实验,我们要进行区域设置,按图例将各区域分别设置为stub,nssa。只需在各区域边界路由器上加一条命令即可。观察设置区域前后的不同。
// R1 //
area 1 stub
// R2 //
area 1 stub
// R3 //
area 2 nssa
// R4 //
area 2 nssa
配置完成后我们比较一下结果:
r1#sh ip ro
O IA 193.1.1.0/24 [110/11] via 192.1.1.2, 00:00:13, Ethernet0/0 192.1.1.0/30 is subnetted, 1 subnets C 192.1.1.0 is directly connected, Ethernet0/0 194.1.1.0/30 is subnetted, 1 subnets O IA 194.1.1.0 [110/30] via 192.1.1.2, 00:00:13, Ethernet0/0 O*IA 0.0.0.0/0 [110/11] via 192.1.1.2, 00:00:13, Ethernet0/0
注意,R1中不再有到130.1.0.0的OSPF外部路由,相反,添加了一个缺省路由。但是,仍然存在两个内部路由,因为stub区域并不阻止内部区域更新。
下面我们说明一下如何配置区域,以阻止外部LSA的扩散。为了阻止其他区域的汇总LSA影响到本地区域,该区域必须配置为完全存根区域。可以以OSPF进程下添加下列命令:
// R1 //
area 1 stub no-summary
// R2 //
area 1 stub no-summary
验证结果如下:
r1#sh ip ro
192.1.1.0/30 is subnetted, 1 subnets
C 192.1.1.0 is directly connected, Ethernet0/0 O*IA 0.0.0.0/0 [110/11] via 192.1.1.2, 00:00:48, Ethernet0/0
在R1上只出现了一条缺省路由。
注意R3上显示路由表时,只观察到一条N2路由,即外部路由。
r3#sh ip ro
130.1.0.0/21 is subnetted, 1 subnets
O N2 130.1.0.0 [110/10] via 194.1.1.2, 00:17:57, Ethernet0/0 193.1.1.0/24 is variably subnetted, 4 subnets, 3 masks C 193.1.1.192/26 is directly connected, Loopback0 O 193.1.1.128/26 [110/11] via 193.1.1.2, 00:17:57, Ethernet1/0 O 193.1.1.0/24 is a summary, 00:17:57, Null0 C 193.1.1.0/25 is directly connected, Ethernet1/0 192.1.1.0/30 is subnetted, 1 subnets O IA 192.1.1.0 [110/20] via 193.1.1.2, 00:01:32, Ethernet1/0 194.1.1.0/30 is subnetted, 1 subnets C 194.1.1.0 is directly connected, Ethernet0/0 |