D、虚连接(Virtual Link)
骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域逻辑上连续。
虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个相同的非骨干区域。
因为OSPF中,非骨干区域是不可以分发LSA3的,这样导致没有连接到骨干区域的路由器无法分发LSA3,通过设置虚连接可以扩展骨干区域,让其他区域连接到骨干区域。
(1)VL应用场景:
<1>把没有与骨干区域直接相连的非骨干区域通过一个非骨干区域(也叫传输区域)以逻辑通道的形式连接;
<2>通过一个非骨干区域连接分割的骨干区域;
<3>在没有Area 0的情况下,利用VL实现区域互通
<4>通过启用VL来防止area 0断开形成不连续的区域,同时解决次优路径问题。
AR7所在的Area 3没有直接和Area 0相连,所以无法学习到其他区域路由,需要在AR3、AR4的Area 2内配置虚连接:
AR3:
ospf 100
area 2
vlink-peer 4.4.4.4 //邻居AR4的router-id
AR4:
ospf 100
area 2
vlink-peer 3.3.3.3
dis ospf vlink //查看vlink状态
虚连接通信还是通过物理地址来通信的,所以虚连接设计不当会有环路的风险。
E、配置路由汇聚-物理拓扑
在ABR上配置路由汇聚,比如20.1.1.1/32、20.1.1.2/32可以汇聚成 20.1.1.0/24.配置汇聚需要在源路由器下,即产生该条LSA3的ABR上做。注意:LSA1、LSA2必须是明细,不能进行路由汇聚,否则会导致拓扑错乱。
在AR1环回口上配置多个地址并在AR2上进行路由汇聚:
AR1:
int lo1
ip address 192.168.1.1 24
ip address 192.168.2.1 24 sub
ip address 192.168.3.1 24 sub
ospf 100
area 1
network 192.168.1.0 0 .0.0.255
network 192.168.2.0 0.0.0.255
network 192.168.3.0 0.0.0.255
AR2:
ospf 100
area 1
abr-summary 192.168.0.0 255.255.252.0 //注意是正掩码
配置完成后,AR1、AR2三条路由还是明细路由,AR3收到的AR2转发的LSA3是已经汇聚的路由 ,路由表里也变成汇聚路由项:
汇总路由不仅可以缩小路由表项,还可以减少因为单个表项出问题导致的路由震荡(因为多条路由汇聚后,只要这些路由不是全部挂掉,汇总项保持不变)。
A、五类LSA(AS-External-LSA)
(1)作用:传递外部路由
(2)产生:ASBR设备
(3)范围:整个ospf区域
B、引入外部静态路由
拓扑图中,AR5没有运行OSPF,环回口地址无法被其他路由器访问。
在AR4中配置到AR5的静态路由,并引入OSPF,AR4产生LSA5,并在OSPF内进行泛洪。
AR4:
ip route-static 5.5.5.5 32 10.1.34.5
ospf 100
import-route static
[AR4]dis ospf lsdb ase self-originate
OSPF Process 100 with Router ID 4.4.4.4
Link State Database
Type : External //表明是五类LSA
Ls id : 5.5.5.5 //LSA头部,为目的网段地址
Adv rtr : 4.4.4.4 //产生该LSA5的Router-ID
Ls age : 200
Len : 36
Options : E
seq# : 80000001
chksum : 0x1c5e
Net mask : 255.255.255.255 //目的网段的网络掩码
TOS 0 Metric: 1 //路由开销值
E type : 2 //开销级别,默认为2,表示内外部路由开销值不在一个数量级,计算开销值时不用累加内部的开销值,如果为1,表示内外部路由开销值在同一个数量级,计算开销值需要累加内部的开销值。具体设定是在引入路由时,后面指定type
Forwarding Address : 10.1.34.5 //转发地址
Tag : 1 //标记,默认为1,用于标记路由,进行区分、归类、防环等操作
Priority : Low
AR3上查看ASBR,可以看到AR4是ASBR(AR4做了虚连接,所以也是ABR)
[AR3]dis ospf abr-asbr
OSPF Process 100 with Router ID 3.3.3.3
Routing Table to ABR and ASBR
RtType Destination Area Cost Nexthop Type
Intra-area 2.2.2.2 0.0.0.0 48 10.1.23.2 ABR
Intra-area 4.4.4.4 0.0.0.0 1 0.0.0.0 ABR/ASBR
Intra-area 4.4.4.4 0.0.0.2 1 10.1.34.4 ABR/ASBR
C、LSA5只有路由信息,拓扑信息需要LSA4来补充
四类LSA(ASBR-Summary-LSA)
(1)作用:描述如何到达相关的ASBR
(2)产生:ABR
(3)范围:除ASBR所在区域以外
比如上面的静态路由引入中 ,AR4为ASBR,处在Area2、Area3中,已经有一类、二类LSA描述AR4的拓扑和路由信息,而Area1只有路由信息,需要由AR2和AR3产生LSA4在其他域内进行泛洪。
四类LSA只能在一个区域内泛洪,五类LSA每泛洪到一个区域,相应区域的ABR都会生成一条新的四类LSA来描述如何到达ASBR。因此描述到达同一个ASBR的四类LSA可以有多条,其Adv rtr是不同的,表示是由不同的ABR生成的。
AR1收到的AR2泛洪的LSA4:
[AR1]dis ospf lsdb asbr
OSPF Process 100 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Sum-Asbr
Ls id : 4.4.4.4 //所描述的ASBR的Router-ID
Adv rtr : 2.2.2.2 //产生该LSA4的Router-ID
Ls age : 1386
Len : 28
Options : E
seq# : 80000001
chksum : 0x54be
Tos 0 metric: 49
D、OSPF区域认证
AR3:
ospf 100
area 0
authentication-mode simple huawei
AR3区域0配置认证后,AR2邻居关系DOWN掉,AR4虚连接建立的邻居关系也DOWN掉。
AR4上可以在area 0配置认证,或者在area 2的虚连接配置认证:
ospf 100
area 0
authentication-mode simple huawei
或者
ospf 100
area 2
vlink-peer 3.3.3.3 simple huawei
E、次优外部路由的可能性
LSA5中Forwarding Address可能是 全0,可能是第一个IP地址。
B中的静态路由引入,AR3到达 AR5需要先到AR4,再由AR4转发给AR5,这样就会形成一个次优路径。当FA满足下列条件:
(1)下一跳所处网段为非P2P、P2MP网络
(2)下一跳网段被宣告进了OSPF中
(3)下一跳网段对应接口不是静默接口
FA会自动设置成一个接口地址,以避免次优路径,B中的FA就是AR5的接口地址,而不是AR4的接口地址。
通过设置FA就进行了物理拓扑的描述,从而解决次优路径,同时还可以防止环路。
如果不满足上面的三个条件,FA就会等于0,此时无法进行路由转发,LSA4就是来补充FA等于0的情况。如果收到LSA5,FA等于0,选路或者计算的时候主要依赖于LSA1 2 4 5,LSA1 2 5都没有转发地址,就要依赖LSA4来进行选路。
F、LSA5的路由聚合
LSA3的路由聚合有很多限制,比如必须在ABR的指定区域下,而LSA5的路由聚合直接在ospf进程下配置,因为LSA5不属于某一个特定区域,LSA5是全网泛洪的
G、配置OSPF多进程
一个路由器可以开启多个OSPF进程。虽然进程号是本地生效,不同路由器间进程号不同不影响邻居关系的建立,但是一台路由器上的多个不同OSPF进程间默认是分割开的,不能互相通信。
进程间的路由互通,需要在各个进程相互引入路由:
ospf 1
import-route ospf 100
引入后,引入的为外部路由
H、外部路由类型
OSPF引入外部路由,共有两种类型可选:
第一类外部路由的AS外部开销值被认为和AS内部开销值是同一数量级的,因此第一类外部路由的开销值为AS内部开销值(路由器到ASBR的开销)与AS外部开销值之和;这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性。
第二类外部路由的AS外部开销值被认为远大于AS内部开销值,因此第二类外部路由的开销值只包含AS外部开销,忽略AS内部开销(默认为第二类),这类路由的可信度比较低。
默认情况下,OSPF外部路由采用的是第二类外部路由。
特殊区域分为STUB和NSSA
STUB分为普通STUB和完全STUB
NSSA分为普通NSSA和完全NSSA
A、Stub区域
(1)OSPF允许将特定区域配置为Stub区域。其中区域0不能配置成stub区域
(2)AS-external-LSA不允许被发布到Stub区域内,到AS外部的路由只能基于由ABR生成的一条默认路由。
(3)Stub区域技术可以减少Stub区域内部路由器上LSDB规模和对内存的需求
(4)虚连接不能跨越Stub域。
Stub区域内,通过一条Network-Summary-LSA泛洪一条默认路由,不泛洪AS-external LSA
配置Stub区域后,所有自治系统外部路由均由一条三类的默认路由代替。
除路由条目的减少外,当外部网络发生变化后,Stub区域内的路由器是不会直接受到影响的。
B、完全Stub区域
只通告一条默认路由,不通告任何区域间路由信息,不通告任何As-external-LSA。
完全stub区域内的路由器只处理本区域内的路由,其他路由由一条Network-Summary-LSA默认路由代替。
Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播。
Totally Stub区域内的路由器对其他区域及自制系统外部的访问需求是通过本区域ABR所产生的三类LSA缺省路由实现的。
与Stub区域配置的区别在于,在ABR上需要追加no-summary参数。
配置STUB区域前,AR1的LSDB,包含了1、2、3、4、5类LSA
配置STUB区域需要将区域内的所有路由器对应区域都设置成Stub,否则邻居关系无法建立:
ospf 100
area 1
stub
配置完成stub域后,查看AR1的LSDB,发现4、5类LSA已经消失,多了一条默认路由:
配置完全STUB域是在上面的基础上,只需在所有ABR上对应区域配置stub no-summary(完全STUB)即可,也可以所有路由全部配置stub no-summary,配置完成后,AR1的LSDB只剩下1、2类LSA和一条三类LSA默认路由:
C、Not So Stubby Area(NSSA)域
Stub区域无法泛洪4类、5类LSA,所以无法自己直接引入外部路由。NSSA域在stub域的基础上,可以直接引入外部路由,并以7类LSA进行泛洪,7类LSA经过ABR会被转换成5类LSA,进而泛洪到其他所有区域。
LSA7只存在于NSSA域中。
只有LSA7转成LSA5,不存在LSA5转LSA7的情况,因为LSA5会在进入特殊区域时变成一条LSA3缺省路由。
和STUB配置一样,在NSSA域内所有路由器对应区域配置nssa:
ospf 100
area 4
nssa
NSSA配置完成后,AR6的LSDB多了一个LSA7(即nssa),在华为设备中是默认下发LSA7
查看LSA7:
[AR6]dis ospf lsdb nssa
OSPF Process 100 with Router ID 6.6.6.6
Area: 0.0.0.4
Link State Database
Type : NSSA
Ls id : 0.0.0.0
Adv rtr : 2.2.2.2
Ls age : 364
Len : 36
Options : None
seq# : 80000001
chksum : 0xc404
Net mask : 0.0.0.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
[AR6]
在AR6环回口上配置一个地址,然后在ospf中引入直连路由:
int lo1
ip address 66.66.1.1 32
ospf 100
import-route direct
此时AR6的LSDB多了几条NSSA条目:
[AR6]dis ospf lsdb nssa
OSPF Process 100 with Router ID 6.6.6.6
Area: 0.0.0.4
Link State Database
Type : NSSA
Ls id : 66.66.1.1 //为目的网段的网络地址
Adv rtr : 6.6.6.6 //产生该条LSA7的router-id
Ls age : 119
Len : 36
Options : NP
seq# : 80000001
chksum : 0x739e
Net mask : 255.255.255.255 //目的网段的子网掩码
TOS 0 Metric: 1 //开销值
E type : 2 //类型,含义同LSA5
Forwarding Address : 6.6.6.6 //为路由域内某Stub接口的IP地址,含义和LSA5大致相同
Tag : 1 //标记,含义同LSA5
Priority : Low
AR2上产生的LSA7转换的LSA5:
完全NSSA域配置同完全STUB域,只需在域内所有的ABR对应域内配置nssa no-summary,也可以所有路由器的都这么配置,配置完成后,LSDB中的LSA3汇集成一条LSA3默认路由,但LSA7不受任何影响:
D、特殊区域LSA小结
STUB区域:无4、5,有123,包含3缺省
完全STUB区域:无4、5,有12,加上3缺省
NSSA区域:无4、5,有7类缺省,有1、2、3(3类不含缺省)、7(其他)
完全NSSA区域:无4、5,有3类缺省、7类缺省,有1、2、7(其他),缺省路由时选择3类缺省路由
3和7都是ABR产生,只要配置了NSSA,就会产生7类缺省LSA。
LSA作用:
Router LSA(一类):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播。
Network LSA(二类):由DR产生,描述本网段的链路状态,在所属的区域内传播。
Network-summary-LSA(三类):由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。
ASBR-summary-LSA(四类):由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
AS-external-LSA(五类):由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
NSSA LSA(七类):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
特殊区域不仅有效减少了区域内LSA的数量以及路由计算的压力,而且一定程度上也缩小了网络故障的影响范围。