OSPF Stub区域

原理概述:

OSPF协议定义了多种区域(Area)类型,其中比较常见的有Stub区域和Totally Stub区域,区域的类型决定了在这个区域当中所存在的LSA的类型。

Stub区域不允许Type-4和Type-5 LSA进入,该区域会通过Type-3 LSA所表示的缺省路由访问AS外部目的地。Totally Stub区域不仅不允许Type-4和Type-5 LSA进入,同时也不允许Type-3 LSA进入,只允许表示缺省路由的Type-3 LSA进入,并根据缺省路由来访问该区域以外的任何目的地。

Stub区域和Totally Stub区域的功能就是减少该区域中LSA的数量,从而缩小LSDB的规模,进而减少路由表中路由条目的数量,实现降低设备负担,增强网络的稳定性、优化网络性能的目的。

配置Stub和Totally Stub区域的时候需要注意以下几点,骨干区域(Area 0)不能被配置成为Stub区域或者Totally Stub区域,Virtual-link不能通过Stub区域或者Totally Stub区域,Stub区域或者Totally Stub区域中不允许包含有ASBR路由器。

实验目的:

理解Stub区域和Totally Stub区域的作用与区别

掌握Stub区域和Totally Stub区域的配置方法

 

下面我们开始实验

实验拓扑如下所示:

 路由基础之OSPFStub区域_优先级

1:基础配置(接口地址的配置和OSPF区域的宣告):

R1:

#
interface GigabitEthernet0/0/0
ip address 10.0.14.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet3/0/0
ip address 10.0.15.1 255.255.255.0
#
interface GigabitEthernet4/0/0
#
interface NULL0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.0.12.1 0.0.0.0
network 10.0.13.1 0.0.0.0
area 0.0.0.1
network 10.0.14.1 0.0.0.0
area 0.0.0.2
network 10.0.15.1 0.0.0.0

R2:

#
interface GigabitEthernet0/0/0
ip address 10.0.25.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet3/0/0
ip address 10.0.24.2 255.255.255.0
#
interface GigabitEthernet4/0/0
#
interface NULL0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.12.2 0.0.0.0
network 10.0.23.2 0.0.0.0
area 0.0.0.1
network 10.0.24.2 0.0.0.0
area 0.0.0.2
network 10.0.25.2 0.0.0.0

R3:

#
interface GigabitEthernet0/0/0
ip address 10.0.13.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
interface LoopBack1
ip address 20.0.0.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.13.3 0.0.0.0
network 10.0.23.3 0.0.0.0

R4:

#
interface GigabitEthernet0/0/0
ip address 10.0.14.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.24.4 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
ospf 1
area 0.0.0.1
network 4.4.4.4 0.0.0.0
network 10.0.14.4 0.0.0.0
network 10.0.24.4 0.0.0.0

R5:

#
interface GigabitEthernet0/0/0
ip address 10.0.25.5 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.15.5 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
#
ospf 1
area 0.0.0.2
network 5.5.5.5 0.0.0.0
network 10.0.15.5 0.0.0.0
network 10.0.25.5 0.0.0.0

2:配置OSPF及路由引入(如上命令):

我们现在查看R1和R2的邻居关系:查看邻居建立情况

R1:

 路由基础之OSPFStub区域_缺省路由_02

R2:路由基础之OSPFStub区域_路由表_03

可以看到,邻居状态都是Full,说明邻居邻接关系都已经建立成功;

查看R4的路由表:路由基础之OSPFStub区域_路由表_04

可以看到,现在R4已经获得了所有的其他网段的路由,由于R4采用了双出口设计,所以其中部分路由条目同时有两个下一跳,即通过R1或者R2都可以访问,处在负载均衡状态。

在R3上配置路由引入,采用引入直连路由的方式将Loopback 1接口所在网段引入到OSPF进程中,用来模拟企业外部网络。

[R3]ospf
[R3-ospf-1]import-route direct

再次在R4上查看路由表

 路由基础之OSPFStub区域_OSPF Stub_05

可以看到,此时R4已获得了该企业外部网络的路由,并且也是负载均衡方式,OSPF的外部路由在路由表中显示O_ASE,其优先级的值为150,远远大于普通OSPF内部路由优先级的值10,另外,我们也可以使用命令如下所示来只查看OSPF路由表的信息;

 路由基础之OSPFStub区域_缺省路由_06

显示信息表明,R4拥有两条去往外部网络20.0.0.0/24的路由,下一跳分别是R2(10.0.24.2)和R1(10.0.14.1),开销值都为1,类型为OSPF外部路由的默认类型2,注意使用这种方法查看OSPF路由信息时,无法看到路由的优先级的值。

查看R4的LSDB:

路由基础之OSPFStub区域_路由表_07

可以看到,R4的LSDB中包含了若干条各种类型的LSA,在External LSA(即Type-5 LSA)中,存在一条LinkState ID为20.0.0.0的LSA,通告路由器为R3.同时,在LSDB中还包含了两条LinkState ID为3.3.3.3的Type-4 LSA(Sum-Asbr LSA),通告路由器分别为R1和R2,表示了两条去往ASBR R3的路由。

此外,还可以注意到,在LSDB中,除了表示企业外部网络的20.0.0.0的那条External LSA之外,还存在着另外3条External LSA,其原因是此前采取了直接引入直连路由的方式来引入外部路由,所以将R3上的所有直连网段的路由全部引入了进来。也就是说,现在R4可以通过两种方式获得这3条路由(10.0.13.0/24,10.0.23.0/24,3.3.3.3/24)。一种在OSPF内部获得,一种是通过OSPF外部获得。在这种情况下,会首先比较两种不同方式下的路由优先级,OSPF内部路由优先级的值为10,而外部路由优先级的值为150,所以最终的选择结果应该是从内部获得该3条路由(注意:优先级的值越大,优先级越低)。

在R4上测试去往外部网络的连通性。

 路由基础之OSPFStub区域_缺省路由_08

可以看到,R4与外部网络的通信是正常的;

3:配置Stub区域

当前情况下,两个分支机构在访问总部网络和外网时,是可以同时通过总部路由器R1和R2进行访问的,并实现主备备份,即,R4与R1之间为分支机构1的主用链路,R4与R2之间为其备用链路,R5与R2之间为分支机构2的主用链路,R5与R1之间为其备用链路。

另外,R4和R5作为企业分支机构的路由器,只需要能够正常与总部网络和外网进行通行即可,没有必要获取及维护外网的明细路由。为此,可以将R4和R5各自所在的区域配置为Stub区域,配置成Stub区域后,该区域内的路由器将不会接收到区域外部路由,且ABR会在该区域中通告一条缺省路由,以供其访问外部网络。

配置Stub区域时必须注意,区域内的所有路由器都要配置Stub命令,否则邻居关系无法正常建立。在配置过程中可以观察到,配置了Stub命令的路由器与尚未配置Stub命令的路由器的邻居关系出于down的状态;

R1:

ospf 1 
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.0.12.1 0.0.0.0
network 10.0.13.1 0.0.0.0
area 0.0.0.1
network 10.0.14.1 0.0.0.0
stub
area 0.0.0.2
network 10.0.15.1 0.0.0.0
stub

R2:

ospf 1 
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.12.2 0.0.0.0
network 10.0.23.2 0.0.0.0
area 0.0.0.1
network 10.0.24.2 0.0.0.0
stub
area 0.0.0.2
network 10.0.25.2 0.0.0.0
stub

R4:

ospf 1 
area 0.0.0.1
network 4.4.4.4 0.0.0.0
network 10.0.14.4 0.0.0.0
network 10.0.24.4 0.0.0.0
stub

R5:

ospf 1 
area 0.0.0.2
network 5.5.5.5 0.0.0.0
network 10.0.15.5 0.0.0.0
network 10.0.25.5 0.0.0.0
stub

配置完成后,查看R4的路由表及LSDB。

 路由基础之OSPFStub区域_OSPF Stub_09路由基础之OSPFStub区域_优先级_10

可以看到,现在R4的路由表中的外部路由条目已经消失了,取而代之的是一条缺省路由。同样,在R4的LSDB中,已经没有了任何Type-5 LSA及Type-4 LSA条目,并且多了两条Type-3 LSA(Sum-Net LSA)。这两条Type-3 LSA的LinkState ID为0.0.0.0,说明是表示缺省路由的LSA,通告路由器分别为R1(1.1.1.1)和R2(2.2.2.2)。

接下来,通过调整ABR路由器所通告的缺省路由的开销值来实现备份。

在R2的区域1中,配置命令default cost 10,表示将发送到该Stub区域的Type-3 LSA的缺省路由开销值设为10,同样,在R1的区域2中,配置命令default cost 10。

[R2-ospf-1-area-0.0.0.1]default-cost 10 
[R1-ospf-1-area-0.0.0.2]default-cost 10

配置完成后,查看R4、R5的LSDB。

 路由基础之OSPFStub区域_路由表_11路由基础之OSPFStub区域_路由表_12

可以看到,R4和R5的LSDB中相同的Type-3 LSA的开销值已经获得了修改。

再查看R4、R5的路由表:

 路由基础之OSPFStub区域_优先级_13路由基础之OSPFStub区域_OSPF Stub_14

可以看到,现在R4的路由表中缺省路由的下一跳是R1(10.0.14.1),R5的路由表中缺省路由的下一跳时R2(10.0.25.2)。

在R4、R5上使用tracert命令验证去往外网20.0.0.1的路径。

 路由基础之OSPFStub区域_路由表_15路由基础之OSPFStub区域_优先级_16

可以看到,R4和R5都选择了主用链路去访问外网。

4:配置Totally Stub区域

上面的实验已经基本上实现了该企业的网络需求。然而,在仔细观察了分支路由器,R4和R5的LSDB后发现,LSDB中存在着一些Type-3 LSA,即维护着一些域间路由信息。随着今后企业的发展,网络的扩容,这些Type-3 LSA的数量将大量增加,但本身又没有什么用处,从而成功路由器的不必要的负担。

解决这个问题的一个有效方法是配置Totally Stub区域。Totally Stub区域是在Stub区域的基础之上进一步拒绝接收除缺省路由之外的域间路由信息,即禁止Type-3 LSA进入该区域。配置Totally Stub区域时,只需在stub命令之后添加no-summary选项,且只需要在ABR上进行配置。

下面进入Totally Stub区域的配置。

注意,由于分支路由器R4和R5与总部之间是双出口设计,所以每个区域中都存在两台ABR。

ospf 1 
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.0.12.1 0.0.0.0
network 10.0.13.1 0.0.0.0
area 0.0.0.1
network 10.0.14.1 0.0.0.0
stub no-summary
area 0.0.0.2
network 10.0.15.1 0.0.0.0
stub no-summary
default-cost 10
ospf 1 
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.12.2 0.0.0.0
network 10.0.23.2 0.0.0.0
area 0.0.0.1
network 10.0.24.2 0.0.0.0
stub no-summary
default-cost 10
area 0.0.0.2
network 10.0.25.2 0.0.0.0
stub no-summary

配置完成后,以R4为例,查看此时R4的LSDB和路由表

 路由基础之OSPFStub区域_OSPF Stub_17路由基础之OSPFStub区域_优先级_18

可以看到,R4的LSDB中只有两条表示缺省路由的Type-3 LSA,没有任何其他Type-3 LSA,路由表中也不存在任何域间路由,只有一条缺省路由。

以R4为例,测试企业分支机构路由器与企业总部路由器R1的环回接口所在网段的连通性,以及与外部网络的连通性。

 路由基础之OSPFStub区域_路由表_19

可以看到,通信完全正常,至此,网络需求已经得到完全满足。

实验结束

 

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!