文章目录
- 前言
- Stub区域和Totally Stub区域
- 传输区域和末端网络
- Stub Area
- 配置命令
- Totally Stub Area
- 配置
- 整体实验配置过程及命令
- 步骤一:搭建拓扑
- 步骤二:配置路由器接口IP地址
- 步骤三:OSPF区域以及邻居配置
- 步骤三:检测OSPF
- 步骤四:引入外部路由
- 步骤五:检测外部路由是否引入
- 步骤六:配置Stub、Totally Stub区域。
前言
OSPF路由器需要同时维护域内路由、域间路由、外部路由信息数据库。这里的域内路由主要是指一类、二类LSA;域间路由主要是指三类LSA,外部路由主要是指四类、五类LSA,我们分别在前文做过详细的介绍。
当网络规模不断扩大时,LSDB规模也会不断的增长。我们有一种方法
给OSPF划分区域:分为骨干区域和非骨干区域。
OSPF的骨干区域的路由器一般性能会比较强大,能承载和维护更多的LSDB,但是一些非骨干区域的路由器可能并不能承载过大的LSDB。
划分区域这样确实有效的减少了LSA的条目,但是一些非骨干区域的路由器还是会接收到较多的三类、四类、五类LSA。 **而且我们发现有一些非骨干区域的路由器不需要为其他区域提供流量的中转,那么该区域内的路由器就没有必要维护本区域外的LSDB。***所以为了进一步减少路由器LSDB的规模以及LSA的数量,我们可以通过OSFP的特殊区域进一步减少LSA的数量和路由表的规模。
如下图:AR4和AR5所在区域不需要为其它区域提供流量中转。
Stub区域和Totally Stub区域
传输区域和末端网络
如上图,全网可分为四部分Area 0、Area 1、Area 2、外部网络。四部分之间相互访问的主要流量如图中红线所示。
对于OSPF各区域,可分为两种类型:
- 传输区域:除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即“穿越型流量”,如Area 0。
- 末端区域:只承载本区域发起的流量和访问本区域的流量,如Area 1、Area 2。
对于末端区域,需要考虑下几个问题:
- 保存到达其他区域明细路由的必要性:访问其他区域通过单一出口(这里为RTB、RTC),“汇总”路由相对明细路由更为简洁。
- 设备性能:网络建设与维护必须要考虑成本因素。末端区域中可选择部署性能相对较低的路由器。
OSPF路由器计算区域内、区域间、外部路由都需要依靠收集网络中的大量LSA,大量LSA会占用LSDB存储空间,所以解决问题的关键是在不影响正常路由的情况下,减少LSA的数量。
Stub Area
这时候,我们就可以给末端区域通过配置Stub区域,来减少LSA的数量。
Stub区域的ABR不向Stub区域内传播它接收到的自治系统外部路由(对应四类、五类LSA),Stub区域中路由器的LSDB、路由表规模都会大大减小。
为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由(对应三类LSA),并发布给Stub区域中的其他路由器。
Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域。
配置命令
配置Stub区域时需要注意下列几点:
- 骨干区域不能被配置为Stub区域。
- 如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。假如Stub区域内有一个路由器为配置Stub,那么该路由器与Stub区域内其他路由器不能建立邻居关系。
- Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。
- 虚连接不能穿越Stub区域建立。
这里将Area 1配置成Stub区域,命令如下:
[rtd]ospf 1
[rtd-ospf-1]area 1
[rtd-ospf-1-area-0.0.0.1]stub
[rtb]ospf 1
[rtb-ospf-1]a 1
[rtb-ospf-1-area-0.0.0.1]stub
此时查看RTD的LSA:
通过命令display ospf lsdb
查看该路由器所有LSA
[rtd]display ospf lsdb
OSPF Process 1 with Router ID 192.168.3.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 192.168.3.4 192.168.3.4 305 36 80000006 1
Router 192.168.1.2 192.168.1.2 308 36 80000004 1
Network 192.168.3.4 192.168.3.4 305 32 80000002 0
Sum-Net 0.0.0.0 192.168.1.2 315 28 80000001 1
Sum-Net 192.168.4.0 192.168.1.2 315 28 80000001 3
Sum-Net 192.168.2.0 192.168.1.2 315 28 80000001 2
Sum-Net 192.168.1.0 192.168.1.2 315 28 80000001 1
发现只有一类、二类、三类LSA,还有一条缺省三类LSA:Sum-Net 0.0.0.0 192.168.1.2 315 28 80000001 1
查看RTD路由,发现缺省路由。
<rtd>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 192.168.3.2 GigabitEthernet
0/0/0
Totally Stub Area
在配置Stub区域之后,我们发现在Stub区域的路由器(上图为:RTD)只包含一类、二类、三类LSA。所以我们可以通俗的理解Stub区域,就是削减四类、五类LSA的。
但是在实际的网络中,可能我的网络拓扑非常的大,OSPF区域非常的多,可能三类的LSA也非常多,这导致末端区域的LSDB由于三类LSA的存在还是过大。那么我们可以通过配置Totally Stub区域,进一步缩减三类LSA的条目。
Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播。
Totally Stub区域内的路由器对其他区域及自制系统外部的访问需求是通过本区域ABR所产生的三类LSA缺省路由实现的。
与Stub区域配置的区别在于,在ABR上需要追加no-summary参数。
配置
如上图:在给Area 1配置Stub Area的基础上,将ABR,也就是RTB追加上no-summary
即可。
RTB配置:
[rtb]ospf
[rtb-ospf-1]
[rtb-ospf-1]area 1
[rtb-ospf-1-area-0.0.0.1]stub no-summary
查看RTD的LSDB:
[rtd]display ospf lsdb
OSPF Process 1 with Router ID 192.168.3.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 192.168.3.4 192.168.3.4 63 36 8000000B 1
Router 192.168.1.2 192.168.1.2 68 36 80000005 1
Network 192.168.3.4 192.168.3.4 63 32 80000002 0
Sum-Net 0.0.0.0 192.168.1.2 74 28 80000001 1
此时可以发现,三类LSA只剩下一条缺省三类LSA:Sum-Net 0.0.0.0 192.168.1.2 74 28 80000001 1
查看OSPF路由表:
查看OSPF路由表命令display ospf routing
[rtd]dis ospf routing
OSPF Process 1 with Router ID 192.168.3.4
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
192.168.3.0/24 1 Transit 192.168.3.4 192.168.3.4 0.0.0.1
0.0.0.0/0 2 Inter-area 192.168.3.2 192.168.1.2 0.0.0.1
Total Nets: 2
Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0
也可发现,通往区域外的路由为一条缺省路由。
整体实验配置过程及命令
步骤一:搭建拓扑
搭建拓扑,并分配好网段,建议标记下来,以免出错。
步骤二:配置路由器接口IP地址
根据分配好的网段,配置路由器所有接口的IP地址。并给RTF配置一个Loopback口IP地址作为外部服务器地址。IP可为:192.168.6.1
举个栗子:
[RTD]
[RTD]interface GigabitEthernet 0/0/0
[RTD-GigabitEthernet0/0/0]ip address 192.168.3.4 24
步骤三:OSPF区域以及邻居配置
注意:这里我们分了三个区域:Area 0、Area 1、Area 2。需要在不同的区域下宣告邻居。
宣告邻居命令:network [相邻网段] [反子网掩码]
举个栗子:
RTA:
[RTA]ospf
[RTA]ospf 1
[RTA-ospf-1]area 0
[RTA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[RTA-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[RTA-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
RTB:
[RTB]ospf
[RTB-ospf-1]areo 0
[RTB-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[RTB-ospf-1-area-0.0.0.0]area 1
[RTB-ospf-1-area-0.0.0.1]network 192.168.3.0 0.0.0.255
步骤三:检测OSPF
配置好了OSPF之后,可以先不着急继续往下配置,我们可以先检测一下OSPF是否配置正确。
检测命令:
- 可以用RTD
ping
RTE查看能否通信 - 查看路由表:
display ip routing-table
- 查看OSPF路由表:
display ospf routing
步骤四:引入外部路由
步骤1
将外部路由用RIP协议进行配置。
RTF:
[RTF]rip
[RTF-rip-1]version 2 //版本2
[RTF-rip-1]network 192.168.5.0
步骤2
重要!!!
路由引入之前需要在RTF上将192.168.5.0/24网段用OSPF协议宣告邻居。
同时将RTA上的192.168.5.0/24网段用RIP宣告。
RTF:
[RTF]ospf
[RTF-ospf-1]a 0
[RTF-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
RTA:
[RTA]rip
[RTA-rip-1]v 2
[RTA-rip-1]network 192.168.5.0
步骤3
外部路由引入。(详细解释可查看文章:OSPF(五)OSPF外部路由
RTA
[RTA]ospf
[RTA-ospf-1]import-route rip
RTF:
[RTF]rip
[RTF-rip-1]import-route ospf
步骤五:检测外部路由是否引入
检测命令:
- 可以用RTD
ping
RTF的Loopback0接口地址查看能否通信 - 查看路由表:
display ip routing-table
- 查看OSPF路由表:
display ospf routing
步骤六:配置Stub、Totally Stub区域。
这部分实验可对照上文,这里不再赘述。