缺省路由——精选推荐

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

缺省路由
说到缺省路由,很多⼈认为通过⼿⼯静态配置的⽬的⽹段和掩码都是0的路由就是缺省路由。

其实不然,除了上述缺省路由之外,很多情况下通过动态路由协议也可以⽣成缺省路由。

缺省路由以其简单易⽤的特点在⽹络中有⼤量的应⽤,特别是应⽤在中⼩型企业⽹络的出⼝路由器上。

应⽤缺省路由可以⼤⼤减⼩路由表项的规模,减⼩维护压⼒。

然⽽缺省路由⼜是⽹络规划的难点,特别是当使⽤动态路由协产⽣缺省路由的时候,⼀不⼩⼼就会产⽣次优路由或者环路,业务上表现为延时⼤或者转发不通的现象。

所以很多⽹络管理员对缺省路由总有⼀种想⽤⼜不敢放⼿去⽤的⼼理状态。

这⾥编者详细总结⼀下使⽤缺省路由的各种注意事项,解答读者的内⼼困扰。

初识缺省路由
什么是缺省路由
举个最常见的例⼦,我们在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协议动态⽣成的缺省路由。

<RTA>display ip routing-table
Route Flags: R – relay, D – download to fib
——————————————————————————
Routing Tables: Public
Destinations : 1 Routes : 2
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 OSPF特殊区域⽹络拓扑_黄明祥.png
组⽹如图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⾥⾯有1、2、3、4、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。

相关文档
最新文档