说到缺省路由,不少人认为经过手工静态配置的目的网段和掩码都是0的路由就是缺省路由。其实否则,除了上述缺省路由以外,不少状况下经过动态路由协议也能够生成缺省路由。缺省路由以其简单易用的特色在网络中有大量的应用,特别是应用在中小型企业网络的出口路由器上。应用缺省路由能够大大减少路由表项的规模,减少维护压力。然而缺省路由又是网络规划的难点,特别是当使用动态路由协产生缺省路由的时候, 一不当心就会产生次优路由或者环路,业务上表现为延时大或者转发不通的现象。因此不少网络管理员对缺省路由总有一种想用又不敢放手去用的心理状态。这里编者详细总结一下使用缺省路由的各类注意事项,解答读者的心里困扰。node
什么是缺省路由数据库
举个最多见的例子,咱们在PC机上配置的默认网关就属于一种缺省路由, 若是报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由转发。通常状况下,对于经常使用的PC机,报文转发的时候直接转发至默认网关所指定的IP地址。网络
缺省路由是一种特殊的路由,在路由表中缺省路由以目的网络为0.0.0.0、子网掩码为0.0.0.0的形式出现。例如ip route static 0.0.0.0 16 10.1.1.1这条路由就不属于缺省路由,由于他的网络掩码是16,而缺省路由要求目的网段和掩码都必须是0.0.0.0。并发
缺省路由能够经过手工方式静态配置,也能够经过动态路由协议生成(如OSPF、ISIS等),因此确切的说缺省路由不属于静态路由。以下面的路由表项即分别为静态配置的缺省路由和经过OSPF协议动态生成的缺省路由。oop
<RTA>display ip routing-table学习
Route Flags: R – relay, D – download to fib测试
——————————————————————————设计
Routing Tables: Public3d
Destinations : 1 Routes : 2router
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.1.2 GigabitEthernet2/2/21
<RTB>display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 18 Routes : 21
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 192.168.2.1 GigabitEthernet0/0/0
使用缺省路由有什么好处
使用缺省路由能够大大减少路由表项的规模,减小维护压力,下降对设备的内存及CPU的消耗。例如在图1 所示的网络中,末梢路由器到其余的路由器只有一条链路。这种场景下末梢路由器的路由决策就会变的很是简单,每一个末梢路由器要想到达其余的网段,都必须惟一选择中心路由器做为下一跳。此时对于末梢路由器来讲就不须要明细路由了,一条到达中心路由器的缺省路由就足够了。
图1 缺省路由在末梢路由器上应用能够大大减少路由规模
使用缺省路由带来的问题
缺省路由的使用有不少的好处,可是同时也带来了一些问题。一个主要的缘由就是缺省路由其实是一种汇聚路由的极端形式,于是缺省路由也跟汇聚路由同样形成了路由细节的损失。这里举一个极端的例子,例如图2 所示的环形网络中,R1上有两条等价的缺省路由分别指向R2和R8,当R1须要给R7发送数据包的时候,R1其实不知道通过R8走才是最佳的路径,因此数据包有可能发往R2而后绕道一圈而后才到达R7,这样就绕了很远一段没必要要的路径,业务上就会表现为有很大的延时等现象。固然,多数网络不会设计的这么极端,可是这说明缺省路由忽略了路由细节后带来的问题,不少缺省路由致使的次优路由问题都是相似的原理。
图2 缺省路由忽略了路由细节后致使不理想的选路问题
还常常有一些路由环路问题是因为不当的缺省路由设计形成的。例如图3 所示的静态缺省路由的配置,就属于缺省路由互相指向,造成环路。造成路由环路之后会对业务带来极大的影响,增长维护负担。
图3 静态配置缺省路由造成环路
正确使用缺省路由可以带来不少好处,可是缺省路由的使用又是路由规划设计的难点,这也是为何路由协议都对缺省路由刮目相看,区别对待的缘由。通常应避免大规模部署静态默认路由,对于动态路由协议生成的缺省路由也须要特别注意配合各类路由策略避免环路及次优路由的产生。在企业网络中应用最多的路由协议是OSPF协议和BGP协议,这两种动态路由协议都可以生成缺省路由,下面的内容里面详细介绍一下这两种路由生成缺省路由的使用注意事项及对应的解决方法。
OSPF缺省路由
OSPF缺省路由有哪些类型
OSPF缺省路由能够分为外部缺省路由和内部缺省路由。
外部缺省路由:
外部缺省路由由自治系统边界路由器(ASBR)发布的外部缺省ASE LSA(Type5),或者外部缺省NSSA LSA(Type7)计算出来,用来指导自治系统(AS)内路由器进行自治系统外报文的转发。
内部缺省路由:
内部缺省路由由区域边界路由器(ABR)发布的缺省Summary LSA(Type3)计算出来,用来指导区域内路由器进行区域之间报文的转发。
OSPF缺省路由的发布原则
OSPF缺省路由的发布原则概述
这里首先提问一个问题,如图4 所示,若是在RTB上静态配置一条缺省路由,而后在OSPF进程下经过import-route static引入静态路由,这样RTA能学习到OSPF缺省路由吗?
图4 经过import-route命令不能引入缺省路由
固然不能,若是在路由协议中可以这样引入缺省路由,很容易造成互指,形成环路。这也是为何不少动态路由协议对缺省路由区别对待的缘由。
缺省状况下,普通OSPF区域内的OSPF路由器是不会产生缺省路由的。当网络中缺省路由是经过其余路由协议产生时,为了可以将缺省路由通告到整个OSPF域中,必须在ASBR上手动经过default-route-advertise命令进行配置。
图5 OSPF缺省路由信息
如图5 所示,配置完该命令后将会产生一个链路状态ID为0.0.0.0,网络掩码为0.0.0.0的ASE LSA(5类),而且通告到整个OSPF域中,但前提是该ASBR存在激活的非OSPF缺省路由,不然不会通告缺省路由。
若是在该命令上加上关键字always的话,则不管ASBR是否存在激活的非OSPF缺省路由都将在整个OSPF域中通告缺省路由,这将强制缺省路由老是出如今路由表中,因此慎用关键字always。这就是强制下发和非强制下发的概念。
OSPF缺省路由的发布遵循以下原则:
原则一:OSPF设备只有具备对外的出口时,才可以发布缺省路由LSA。
对于区域边界路由器(ABR),一旦失去跟骨干区域的链接(骨干区域没有FULL邻居),那么就要中止发布缺省路由。这主要用于解决当区域存在多个出口的ABR时,此时能够经过别的ABR出口继续转发报文。
对于自治系统边界路由器(ASBR),一旦失去对外的链接(例如依赖的外部路由消失),那么就要中止发布缺省路由。这主要用于解决当OSPF路由域存在多个出口的ASBR时,能够经过别的ASBR出口继续转发报文。
图6 ABR失去跟骨干区域的连接后就中止发布缺省路由
如图6 所示的网络拓扑中,Area1中存在两个出口ABR设备,假设配置Area1区域为stub区域,那么两个ABR都会给R4下发缺省路由,此时R4有两条上行的缺省路由。当ABR-2和R3的OSPF邻居down掉,而ABR-2的接口A仍然处于up状态的时候,若是ABR-2继续给R4发布缺省路由,那么就会致使R4的部分流量继续发给ARB-2,这部分流量到ABR-2以后将会被丢弃,进而会致使业务中断。因此在这种多个出口ABR场景下,一旦ABR失去了跟骨干区域的链接(骨干区域没有FULL的OSPF邻居),那么就要中止发布缺省路由。这样能保证区域内的设备能够经过别的ABR继续转发报文。对于多出口的ASBR也是相似的原理,这里就再也不赘述了。
原则二:若是OSPF设备已经发布了缺省路由LSA,那么就不该该再学习其它路由器发布的相同类型缺省路由。
即路由计算时再也不计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。缘由主要有如下两点:
本路由器自身已经具备对外的出口,因此不须要学习其它路由器发布的缺省路由。
若是学习其它路由器发布的缺省路由,就会造成缺省路由的下一跳相互指向,形成路由环路。
对于经过default-route-advertise命令发布的缺省路由,华为设备处理上有一些特殊,能够经过命令控制是否计算其余路由器发布的相同类型的缺省路由,具体以下:
若是OSPF进程下配置的是default-route-advertise,即没有配置permit-calculate-other参数,也没有配置always参数。那么OSPF下发缺省路由遵循以下原则:
本机路由表中必须有激活的非OSPF缺省路由时才生成缺省路由的LSA,而且此时再也不计算本进程来自其余设备的缺省路由;若是本机不存在激活的非OSPF缺省路由时(这时候天然也不会发布OSPF缺省路由的LSA),设备仍然计算来自于其余设备的缺省路由。
若是OSPF进程下配置的是default-route-advertise always,那么OSPF下发缺省路由遵循以下原则:
不管本机是否存在激活的非OSPF缺省路由,都会产生并发布一个描述缺省路由的LSA,而且设备再也不计算本进程来自其余设备的缺省路由。
若是OSPF进程下配置的是default-route-advertise permit-calculate-other,那么OSPF下发缺省路由遵循以下原则:
本机必须存在激活的非OSPF缺省路由时才会产生并发布一个缺省路由的ASE LSA,且设备仍然计算来自于其余设备的缺省路由。
原则三:外部缺省路由的发布若是要依赖于其它路由,那么被依赖的路由不能是本进程OSPF学习到的路由。由于外部缺省路由的做用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能知足指导报文域外转发的要求。
特殊区域的缺省路由的发布原则
因为OSPF协议划分了多种不一样的区域类型,不一样的区域缺省路由的产生规则有所不一样,这里详细说明一下。咱们经过几个实验来详细讲解一下OSPF几个特殊区域发布缺省路由的原则,实验环境以下:
图7 OSPF特殊区域网络拓扑
组网如图7 所示:
全部设备都配置LoopBack0,地址如图7 所示,该地址不在OSPF内发布,只做为OSPFRouter ID使用;
R4上配置LoopBack1接口地址做为测试网段,在R4上将这个直连路由import进OSPF进程,经过路由策略控制只引入这一条直连路由。
R1的关键配置以下:
#
ospf 1 router-id 10.1.1.1
area 0.0.0.1
network 192.168.12.0 0.0.0.255
#
R2的关键配置以下:
#
ospf 1 router-id 10.2.2.2
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.1
network 192.168.12.0 0.0.0.255
#
R3的关键配置以下:
#
ospf 1 router-id 10.3.3.3
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.2
network 192.168.34.0 0.0.0.255
#
R4的关键配置以下:
#
acl number 2000
rule 5 permit source 10.44.44.44 0
#
ospf 1 router-id 10.4.4.4
import-route direct route-policy RP
area 0.0.0.2
network 192.168.34.0 0.0.0.255
#
route-policy RP permit node 10
if-match acl 2000
#
不划分区域的时候,以R1为例,路由表及LSDB以下:
<R1>display 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
10.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.44.44.44/32 O_ASE 150 1 D 192.168.12.2 GigabitEthernet0/0/0
……
能够看到,此时R1上没有缺省路由,而且有一条外部路由10.44.44.44/32。
<R1>display ospf lsdb
OSPF Process 1 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.2.2.2 10.2.2.2 1428 36 80000004 1
Router 10.1.1.1 10.1.1.1 1436 36 80000004 1
Network 192.168.12.2 10.2.2.2 1428 32 80000002 0
Sum-Net 192.168.23.0 10.2.2.2 1377 28 80000001 1
Sum-Net 192.168.34.0 10.2.2.2 1338 28 80000001 2
Sum-Asbr 10.4.4.4 10.2.2.2 1334 28 80000001 2
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 10.44.44.44 10.4.4.4 1467 36 80000001 1
能够看到,此时R1的LSDB里面有一、二、三、四、5类LSA,没有缺省路由的LSA。
下面根据上述实验详细讲解一下不一样特殊区域的缺省路由发布原则。
1、STUB区域
因为Stub区域不容许自治系统外部的路由(Type5 LSA)在区域内传播,因此该区域内的路由器除了ABR外没有自治系统外部路由,若是它们想到自治系统外部时应该怎么办?在STUB区域里的路由器将本区域内ABR做为出口,ABR会产生缺省路由0.0.0.0通告给整个STUB区域内的路由器,这样的话到达自治系统外部的路由能够经过ABR到达。
把Area1配置了STUB区域以后,ABR会自动产生一条Link ID为0.0.0.0,网络掩码为0.0.0.0的Summary LSA(3类),而且通告到整个STUB区域内。
R1的配置修改成以下:
#
ospf 1 router-id 10.1.1.1
area 0.0.0.1
network 192.168.12.0 0.0.0.255
stub
#
R2的配置修改以下:
#
ospf 1 router-id 10.2.2.2
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.1
network 192.168.12.0 0.0.0.255
stub
#
实验效果:
<R1>display 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.12.2 GigabitEthernet0/0/0
10.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.12.0/24 Direct 0 0 D 192.168.12.1 GigabitEthernet0/0/0
192.168.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.23.0/24 OSPF 10 2 D 192.168.12.2 GigabitEthernet0/0/0
192.168.34.0/24 OSPF 10 3 D 192.168.12.2 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
能够看到,此时R1上外部路由消失了,取而代之的是一条ABR(R2)自动下发的缺省路由,是Type3 LSA描述的。
<R1>display ospf lsdb
OSPF Process 1 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.2.2.2 10.2.2.2 1118 36 80000004 1
Router 10.1.1.1 10.1.1.1 1114 36 80000006 1
Network 192.168.12.1 10.1.1.1 1114 32 80000002 0
Sum-Net 0.0.0.0 10.2.2.2 1124 28 80000001 1
Sum-Net 192.168.23.0 10.2.2.2 1124 28 80000001 1
Sum-Net 192.168.34.0 10.2.2.2 1124 28 80000001 2
能够看到,此时Type5 LSA(External)、Type4 LSA(Sum-Asbr)已经消失,取而代之的是一条ABR(R2)自动下发的缺省路由Type3 LSA
2、彻底STUB区域
Totally Stub区域既不容许自治系统外部的路由(Type5 LSA)在区域内传播,也不容许区域间路由(Type3 LSA)在区域内传播。因此在Totally Stub区域里的路由器要想到别的区域或自治系统外部时应该怎么办呢?一样的,在Totally Stub区域里的路由器也将本区域内ABR做为出口,ABR会自动产生缺省路由0.0.0.0通告给整个Totally Stub区域内的路由器,这样的话到达本区域外部的路由都经过ABR到达就能够了。
把Area1配置了Totally Stub区域以后,ABR自动会产生一条Link ID为0.0.0.0,网络掩码为0.0.0.0的Summary LSA(Type3 LSA),而且通告到整个Totally Stub区域内。
如今将Area1配置为彻底STUB区域。
R1的配置修改以下:
#
ospf 1 router-id 10.1.1.1
area 0.0.0.1
network 192.168.12.0 0.0.0.255
stub
#
R2的配置修改以下:
#
ospf 1 router-id 10.2.2.2
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.1
network 192.168.12.0 0.0.0.255
stub no-summary
#
实验效果:
<R1>display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 192.168.12.2 GigabitEthernet0/0/0
10.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.12.0/24 Direct 0 0 D 192.168.12.1 GigabitEthernet0
/0/0
192.168.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
能够看到,此时R1上外部路由和区域间路由消失了,取而代之的是一条ABR(R2)自动下发的缺省路由,是Type3 LSA描述的。
<R1>display ospf lsdb
OSPF Process 1 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.2.2.2 10.2.2.2 42 36 80000007 1
Router 10.1.1.1 10.1.1.1 38 36 8000000D 1
Network 192.168.12.1 10.1.1.1 38 32 80000002 0
Sum-Net 0.0.0.0 10.2.2.2 43 28 80000004 1
能够看到,此时Type5 LSA(External)、Type4 LSA(Sum-Asbr)、以及描述区域间路由的Type3 LSA都已经消失,取而代之的是一条ABR(R2)自动下发的缺省路由Type3 LSA
3、NSSA区域
NSSA区域容许引入经过本区域的ASBR到达的外部路由,但不容许其余区域的外部路由ASE LSA(Type5 LSA)在区域内传播。ABR自动产生一条缺省的NSSA LSA(Type7 LSA),通告到整个NSSA区域内。这样,除了部分路由经过NSSA的ASBR到达,其它路由均可以经过NSSA的ABR到达。在ASBR上手动经过命令进行配置,使ASBR产生一条缺省的NSSA LSA(Type7 LSA),通告到整个NSSA区域内。这样,外部路由也能够经过本区域NSSA的ASBR到达。Type7 LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。
如今将Area2区配置成NSSA区域。
R3的配置修改以下:
#
ospf 1 router-id 10.3.3.3
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa
#
R4的配置修改以下:
#
acl number 2000
rule 5 permit source 10.44.44.44 0
#
ospf 1 router-id 10.4.4.4
import-route direct route-policy RP
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa
#
route-policy RP permit node 10
if-match acl 2000
#
实验效果:
[R4]display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_NSSA 150 1 D 192.168.34.1 GigabitEthernet0/0/0
10.4.4.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.44.44.44/32 Direct 0 0 D 127.0.0.1 LoopBack1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.12.0/24 OSPF 10 3 D 192.168.34.1 GigabitEthernet0/0/0
192.168.23.0/24 OSPF 10 2 D 192.168.34.1 GigabitEthernet0/0/0
192.168.34.0/24 Direct 0 0 D 192.168.34.2 GigabitEthernet0/0/0
192.168.34.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
192.168.34.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
能够看到,R4上有一条缺省路由而且协议类型为O_NSSA,表示是由Type7 LSA描述的,这条缺省路由是由ABR(R3)自动产生的。
<R4>display ospf lsdb
OSPF Process 1 with Router ID 10.4.4.4
Link State Database
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.3.3.3 10.3.3.3 1014 36 80000005 1
Router 10.4.4.4 10.4.4.4 1011 36 80000005 1
Network 192.168.34.2 10.4.4.4 1012 32 80000002 0
Sum-Net 192.168.23.0 10.3.3.3 1074 28 80000001 1
Sum-Net 192.168.12.0 10.3.3.3 1074 28 80000001 2
NSSA 10.44.44.44 10.4.4.4 1053 36 80000001 1
NSSA 0.0.0.0 10.3.3.3 1074 36 80000001 1
能够看到,R4的LSDB里面存在一条由R3产生的Type7 LSA,描述了一条缺省路由。
对于NSSA区域的ASBR(R4),手动经过命令进行配置,可使ASBR也产生一条缺省的NSSA LSA(Type7 LSA)。注意在ASBR上只有当路由表中存在缺省路由0.0.0.0/0,才会产生Type7 LSA缺省路由。
R4的配置修改以下:
#
acl number 2000
rule 5 permit source 10.44.44.44 0
#
ospf 1 router-id 10.4.4.4
import-route direct route-policy RP
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa default-route-advertise
#
route-policy RP permit node 10
if-match acl 2000
#
ip route-static 0.0.0.0 0.0.0.0 NULL0
//必须路由表中存在缺省路由0.0.0.0/0,才会产生Type7 LSA缺省路由
#
实验效果:
<R4>display ospf lsdb
OSPF Process 1 with Router ID 10.4.4.4
Link State Database
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.3.3.3 10.3.3.3 1575 36 80000005 1
Router 10.4.4.4 10.4.4.4 1572 36 80000005 1
Network 192.168.34.2 10.4.4.4 1573 32 80000002 0
Sum-Net 192.168.23.0 10.3.3.3 1634 28 80000001 1
Sum-Net 192.168.12.0 10.3.3.3 1634 28 80000001 2
NSSA 0.0.0.0 10.4.4.4 266 36 80000001 1
NSSA 10.44.44.44 10.4.4.4 1613 36 80000001 1
NSSA 0.0.0.0 10.3.3.3 1634 36 80000001 1
能够看到,此时R4的LSDB里面存在两条描述缺省路由的Type7 LSA,一条是ABR(R3)自动产生的,另一条是NSSA区域的ASBR(R4)手动配置nssa default-route-advertise命令之后产生的。
咱们再来看一下此时R2的路由表项及LSDB信息:
<R2>display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.44.44.44/32 O_ASE 150 1 D 192.168.23.2 GigabitEthernet0/0/1
……
<R2>display ospf lsdb
OSPF Process 1 with Router ID 10.2.2.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.3.3.3 10.3.3.3 102 36 8000000A 1
Router 10.2.2.2 10.2.2.2 967 36 80000009 1
Network 192.168.23.2 10.3.3.3 961 32 80000007 0
Sum-Net 192.168.34.0 10.3.3.3 102 28 80000007 1
Sum-Net 192.168.12.0 10.2.2.2 657 28 80000007 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.2.2.2 10.2.2.2 650 36 80000008 1
Router 10.1.1.1 10.1.1.1 648 36 8000000E 1
Network 192.168.12.1 10.1.1.1 648 32 80000003 0
Sum-Net 0.0.0.0 10.2.2.2 651 28 80000005 1
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 10.44.44.44 10.4.4.4 2895 36 80000005 1
External 10.44.44.44 10.3.3.3 43 36 80000002 1
能够看到10.44.44.44/32这条路由在Area0区域被标记为O_ASE路由,表示这条路由在NSSA区域的ABR(R3)进行了Type7 LSA转换成Type5 LSA;可是R2上并无学习到O_ASE缺省路由,也没有描述缺省路由的LSA,因此Type7 LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域,只会在NSSA区域内部泛洪。
4、彻底NSSA区域
Totally NSSA区域既不容许其余区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不容许区域间路由(Type3 LSA)在区域内传播。区域内的路由器必须经过ABR学到其余区域的路由。实现方法是配置Totally NSSA区域后,ABR会自动产生缺省的Type3 LSA和Type7 LSA通告到整个Totally NSSA区域内。这样,自治系统外部路由和区域间路由均可以经过ABR到达。
如今将Area2区域配置成彻底NSSA区域。
R3的配置修改以下:
#
ospf 1 router-id 10.3.3.3
area 0.0.0.0
network 192.168.23.0 0.0.0.255
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa no-summary
#
R4的配置修改以下:
#
acl number 2000
rule 5 permit source 10.44.44.44 0
#
ospf 1 router-id 10.4.4.4
import-route direct route-policy RP
area 0.0.0.2
network 192.168.34.0 0.0.0.255
nssa
#
route-policy RP permit node 10
if-match acl 2000
#
实验效果:
<R4>display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 192.168.34.1 GigabitEthernet0/0/0
……
<R4>display ospf lsdb
OSPF Process 1 with Router ID 10.4.4.4
Link State Database
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.3.3.3 10.3.3.3 223 36 80000007 1
Router 10.4.4.4 10.4.4.4 220 36 8000000B 1
Network 192.168.34.2 10.4.4.4 220 32 80000002 0
Sum-Net 0.0.0.0 10.3.3.3 232 28 80000001 1
NSSA 10.44.44.44 10.4.4.4 1165 36 80000002 1
NSSA 0.0.0.0 10.3.3.3 224 36 80000003 1
能够看出,R4上存在一条由Type3 LSA描述的缺省路由,可是R4的LSDB里面存在两条描述缺省路由的LSA,都是ABR(R3)产生的,一条是Type3 LSA,一条是Type7 LSA。