1. 特殊区域
7类LSA,以及NSSA区域的出现主要是为了满足这样的需求:
我自己需要引入外部路由,但我自己又不想引入外部路由。
命令其实很简单,就是在OSPF的区域下敲nssa。
当一个非骨干区域配置为非完全末节区域时,
这个区域下的所有路由器都需要配置。

如上图所示的网络拓扑图中,区域一被设置成了一个nssa区域,它希望自身要引入外部路由200.1.1.1/32 201.1.1.1/32 202.1.1.1/32这三条外部路由,但它又不希望处理外部路由,我们就可以将区域1设置为nssa 区域。

我们再来年7类LSA具体长什么样?
LS id: 201.1.1.1 外部路由的网络号
Net mask: 255.255.255.255 子网掩码
Option: NP N是nssa区域,P是否执行7类LSA转5类LSA操作
HELLO报文中的option字段我们就可以作完全的区分了。
普通区域:E=1 N=0
stub/totally stub: E=0 N=0
nssa/totally stub: E=0 N=1
在一个nssa区域,只有1 2 3 7类LSA。

1.1 7类LSA转5类LSA
nssa区域的ABR会把7类LSA转化为5类LSA,传递到其他直连区域方便其他区域路由器学到外部路由。
如果不执行转化这个操作,别的区域的7类LSA还是会通过核心区域到达其他nssa区域,这样我们减少LSA数量的目的并没有达到。
多ABR时,由router-id最大的ABR路由器执行七转五的动作。
router-id小的ABR路由器也会具备7转5的能力。
当router-id大的路由器宕机时,需要承担备份作用。
ABR具有7类LSA转化5类LSA的能力,所以具备ASBR的功能,会把自身
一类ASBR进行置位。

ABR执行7类LSA转5类LSA的过程中,
谁产生了这条5类LSA实际上就承担了ASBR的角色,因此在上面的拓扑中实际上R6都承担了ASBR的角色,这一点通过查看它们的一类LSA也可以发现。

nssa 区域内的路由器访问其他外部路由时,ABR路由器会产生一条七类缺省LSA,帮助nssa内部路由器计算出缺省路由,下一跳指向ABR路由器。

1.2 次优路径问题
多ABR的情况下会产生7类缺少LSA,可能会负载分担,会产生次优路径风险。
解决方式与5类LSA的解决方式差不多:
- 更改出接口的
cost值 - 更改下一跳的权重值
1.3 7类LSA中的FA地址
作用和5类LSA的FA地址一样,都是优化链路的。
但稍微有些不同,7类LSA的FA地址不会为空(7类缺省除外)。

如果有其他路由器与nssa区域相连,则会使用外部路由下一跳作为FA地址,在这个图中就使用R7的g0/0/0口的ip地址作为FA地址。
如果没有其他路由器与nssa区域相连,则会使用路由器最大的环回接口地址。
前提是这个环回接口宣告进了OSPF;如果没有环回接口宣告进OSPF,
就会使用第一个UP的物理接口作为7类LSA的FA地址。
1.4 totally nssa区域
totally nssa区域完全继承了nssa区域的所有特性。
totally nssa区域的ABR会生成3类缺省LSA,
3类缺省LSA优于7类LSA。
配置命令很简单:
在区域IR下配置nssa
在区域ABR下配置nssa no-summary
1.5 OSPF的LSA优先级
这是附带一说
1类2类>3类>5类7类
2. 路由汇总
前面说的各种特殊区域,其实都是在非骨干区域的。
而路由汇总是针对骨干区域的,同样也是为了减少LSA的条目数。
其实就是利用了CIDR地址,将几条明细路由条目给汇聚成一条特殊的路由条目。
举个例子:
汇总前的路由条目
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
汇总后变成了一条
192.168.0.0/22
路由汇总分成两类:
一是区域间路由汇总,也就是三类LSA汇总,只能在ABR上进行汇总。
另一类是外部路由汇总,也就是七类LSA汇总,只能在ASBR上进行汇总。
2.1 区域间路由汇总
命令还是写下吧:
区域间路由汇总,在区域视图下
sh
abr-summary 192.168.0.0 255.255.252.0
汇总后路由必须手动填写,必须是完整的子网掩码。
2.2 外部路由江总
外部路由汇总,在进程下
sh
asbr-summary 192.168.0.0 255.255.255.252.0
针对type 1的外部路由汇总后的开销值是所有汇总的明细路由中最大的,
type 2汇总后的开销值是最大开销值+1。
如果既有type 1,又有type 2,汇总后使用type 2,开销值是type 2明细路由最小的开销。
特殊区域外部路由汇总:
nssa区域的ABR也是ASBR,会执行7转5操作。
如果想要针对这些5类LSA汇总,需要在nssa区域的ABR上配置命令。
多ABR的情况,只有执行7转5的ABR上敲命令才有效。
建议多台ABR同时敲进行备份。
2.3 路由汇总注意事项
-
在
ABR路由上针对区域内的1类、2类LSA计算的最优路由进行汇总,汇总后以三类LSA形式泛洪到其他直连区域。明细路由来自哪个区域,命令就在哪个区域视图下配置。
-
只要LSDB中存在一个明细路由,汇总后的三类LSA不会受影响。
只用当区域内所有的明细路由都消失后,汇总后的三类LSA才会失效。
-
取消汇总后。一个三类LSA如果LS-ID是0.0,有可能和汇总后的LSA临时冲突。LSA的三要素重叠,为了区分后来的LSA,使用这个网段的广播地址作为LS-ID
-
如果汇总后的明细路由开销不一样,汇总后路由会使用明细路由中开销值最在的作为汇总后的LSA的cost值。
-
多ABR汇总后的三类LSA会在区域0进行泛洪,并且传递给另外一台ABR,此时另外一台ABR强制不计算三类LSA避免产生环路。
注意
为什么在LoopBack口在区域里面宣告的明明是24位的?但到了一类LSA中就变成了32位的255.255.255.255了?
OSPF里loopback口默认环回接口类型为P2P,默认掩码为32位。