OSPF特殊区域(stub、stub no-summary、nssa)
拓扑图
1.1.1.1、2.2.2.2为模拟外部路由
正常宣告直连网段
将1.1.1.1、2.2.2.2作为外部网络重分布进OSPF。
R9#show run | sec ospf
router ospf 1
redistribute connected subnets
network 10.1.90.9 0.0.0.0 area 1
R10#show run | sec ospf
router ospf 1
network 10.1.11.10 0.0.0.0 area 0
network 10.1.90.10 0.0.0.0 area 1
R11#show run | sec ospf
router ospf 1
network 10.1.11.11 0.0.0.0 area 0
network 10.1.12.11 0.0.0.0 area 2
R12#show run | sec ospf
router ospf 1
redistribute connected subnets
network 10.1.12.12 0.0.0.0 area 2
路由表
R9路由表
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 1.1.1.0/24 is directly connected, Loopback0
L 1.1.1.1/32 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
O E2 2.2.2.0 [110/20] via 10.1.90.10, 00:01:00, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.90.10, 01:43:24, Ethernet0/0
O IA 10.1.12.0/24 [110/30] via 10.1.90.10, 01:34:53, Ethernet0/0
C 10.1.90.0/24 is directly connected, Ethernet0/0
L 10.1.90.9/32 is directly connected, Ethernet0/0
R12路由表
1.0.0.0/24 is subnetted, 1 subnets
O E2 1.1.1.0 [110/20] via 10.1.12.11, 01:32:50, Ethernet0/0
2.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 2.2.2.0/24 is directly connected, Loopback0
L 2.2.2.2/32 is directly connected, Loopback0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.12.11, 01:34:22, Ethernet0/0
C 10.1.12.0/24 is directly connected, Ethernet0/0
L 10.1.12.12/32 is directly connected, Ethernet0/0
O IA 10.1.90.0/24 [110/30] via 10.1.12.11, 01:34:22, Ethernet0/0
末节&完全末节
现在将area1设置为末节(stub)区域、area2设置为完全末节(stub no-summary)区域
R9(config-router)#area 1 stub
R10(config-router)#area 1 stub
在区域1路由器上设置 stub
R11(config-router)#area 2 stub no-summary
R12(config-router)#area 2 stub
在区域2的ABR上配置stub no-summary参数
其他区域2路由器设置 stub
此时再看R9和R12的路由表
R9为末节区域路由器
R12为完全末节区域路由器
R9#show ip route ospf
O*IA 0.0.0.0/0 [110/11] via 10.1.90.10, 00:12:03, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.90.10, 00:12:03, Ethernet0/0
O IA 10.1.12.0/24 [110/30] via 10.1.90.10, 00:12:03, Ethernet0/0
R12#show ip route ospf
O*IA 0.0.0.0/0 [110/11] via 10.1.12.11, 00:08:30, Ethernet0/0
- R9关于外部的路由(2.2.2.2)消失了,取代的是一条指向 区域1 ABR 的一条默认路由
- R12关于外部的路由(1.1.1.1)和其他区域的区间路由(O IA)都消失了,
仅剩一条指向区域2 ABR的一条默认路由
NSSA区域
清除 stub配置
R9(config-router)#no area 1 stub
R10(config-router)#no area 1 stub
R11(config-router)#no area 2 stub no-summary
R11(config-router)#no area 2 stub
R12(config-router)#no area 2 stub
等待一会会路由表恢复最初宣告的模样。
R9#show ip route ospf
2.0.0.0/24 is subnetted, 1 subnets
O E2 2.2.2.0 [110/20] via 10.1.90.10, 00:03:42, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.90.10, 00:07:22, Ethernet0/0
O IA 10.1.12.0/24 [110/30] via 10.1.90.10, 00:07:22, Ethernet0/0
R12#show ip route ospf
1.0.0.0/24 is subnetted, 1 subnets
O E2 1.1.1.0 [110/20] via 10.1.12.11, 00:04:12, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.12.11, 00:04:12, Ethernet0/0
O IA 10.1.90.0/24 [110/30] via 10.1.12.11, 00:04:12, Ethernet0/0
已经正常学习到区间和外部路由
配置区域2为NSSA区域
R11(config-router)#area 2 nssa
R12(config-router)#area 2 nssa
再来看R9和R12的路由表
R9#show ip route ospf
2.0.0.0/24 is subnetted, 1 subnets
O E2 2.2.2.0 [110/20] via 10.1.90.10, 00:01:25, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.90.10, 00:14:53, Ethernet0/0
O IA 10.1.12.0/24 [110/30] via 10.1.90.10, 00:14:53, Ethernet0/0
R12#show ip route ospf
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.12.11, 00:01:56, Ethernet0/0
O IA 10.1.90.0/24 [110/30] via 10.1.12.11, 00:01:56, Ethernet0/0
- 可以看到R9是可以学习到由R12引入的外部路由(2.2.2.2)
- R12可以正常学习到区间路由,但是不能学习到R9引入的外部路由
这样对于R12来说,有区域外路由器引入的外部路由不可达。为了解决此问题,
在区域2的ABR上配置 “default-information-originate” 参数,此时ABR会向NSSA区域注入一条O*N2的默认路由
R11(config-router)#area 2 nssa default-information-originate
再来看R12的路由表
R12#show ip route ospf
O*N2 0.0.0.0/0 [110/1] via 10.1.12.11, 00:00:17, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.1.11.0/24 [110/20] via 10.1.12.11, 00:08:10, Ethernet0/0
O IA 10.1.90.0/24 [110/30] via 10.1.12.11, 00:08:10, Ethernet0/0
如果不希望NSSA区域学习到区间路由可以配置"no-summary"参数
R11(config-router)#area 2 nssa no-summary
如果同时配置了"default-information-originate",“no-summary” 参数
R11(config-router)#area 2 nssa default-information-originate no-summary
观察R12路由表
R12#show ip route ospf
Gateway of last resort is 10.1.12.11 to network 0.0.0.0
O*IA 0.0.0.0/0 [110/11] via 10.1.12.11, 00:00:22, Ethernet0/0
可以看出"O IA"的路由优于"O*N2"的路由
总结
- 末节区域拒绝发布和接收外部路由
- 完全末节区域拒绝发布和接收外部路由,拒绝接收区间路由
NSSA区域
- 拒绝接收外部路由
- 可以发布7类的外部路由
- 可以通过参数来选择是否学习区间路由(O IA)
- 如需通外其他区域路由器发布的外部路由需要配置 “default-information-originate” 参数