区域
在一个OSPF网络中,可以包括多种区域,其中就有三种常见的特殊区域,即就是骨干区域(Backbone Area)、末梢区域(Stub Area)和非纯Stub区域(No Stotal Stub area,NSSA),当然还可以包括其它标准区域。OSPF网络中的区域是以区域ID进行标识的,区域ID为0的区域规定为骨干区域。一个OSPF互联网络,无论有没有划分区域,总是至少有一个骨干区域。骨干区域有一个ID 0.0.0.0,也称之为区域0。另外,骨干区域必须是连续的(也就是中间不会越过其他区域),也要求其余区域必须与骨干区域直接相连(但事实上,有时并不一定会这样,所以也就有了下面将要介绍的"虚拟链路"技术)。骨干区域一般为区域0(Area 0),其主要工作是在其余区域间传递路由信息。
骨干区域作为区域间传输通信和分布路由信息的中心。区域间的通信先要被路由到骨干区域,然后再路由到目的区域,最后被路由到目的区域中的主机。在骨干区域中的路由器通告他们区域内的汇总路由到骨干区域中的其他路由器。这些汇总通告在区域内路由器泛洪,所以在区域中的每台路由器有一个反映在它所在区域内路由可用的路由表,这个路由与AS中其他区域的ABR汇总通告相对应。
在实际网络中,可能会存在骨干区域不连续,或者某一个区域与骨干区域物理不相连的情况,此时系统管理员可以通过设置虚拟链路(Virtual Link)的方法来解决。虚拟链路存在于两个路由器之间,这两个路由器都有一个端口与同一个非骨干区域(这个区域是处于骨干区域和某个不直接与骨干区域相连的区域之间)相连,虚拟链路使该区域与骨干区域间建立一个逻辑联接点。虚拟链路被认为是属于骨干区域(相当于骨干区域的延伸),在OSPF路由协议看来,虚拟链路两端的两个路由器被一个点对点的链路连在一起。而且,在OSPF路由协议中,通过虚拟链路的路由信息是作为域内路由来看待的。该虚拟链路必须建立在两个区域边界路由器之间,并且其中一个区域边界路由器必须属于骨干区域。
1. Stub Area(末梢区域)
在Stub区域中只有域内和域间路由。只允许LSA 3进入本区域,LSA 4/5不允许进入。配置Stub区域后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
通过前面对OSPF区域概念的了解可以知道,在划分了区域之后,OSPF网络中的非骨干区域中的路由器对于到外部区域的路由,一定要通过ABR(区域边界路由器)来转发,或者说对于区域内的路由器来说,ABR是一个通往外部世界的必经之路。既然如此,对于区域内的路由器来说,就没有必要知道通往外部区域的详细路由了,只要由ABR向该区域发布一条默认路由来指导报文的发送路径即可。这样在区域内的路由器中就只需要为数不多的区域内路由和一条指向ABR的默认路由(Default-Route),使区域内的路由表简化。而且无论区域外的路由如何变化,都不会影响到区域内路由器这个简单的路由表。这就是OSPF路由协议中"Stub Area"(末梢区域)的设计理念。Stub区域的ABR不允许注入Type5 LSA(有关OSPF LSA类型将在本章后面具体介绍),在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少,同时也使得该区域不受外部AS路由的影响。
一个Stub区域可以包含一个入口/出口(也就是一个ABR),或者在任一ABR可以被用于到达外部路由目标时,还可包含多个ABR。对于多ABR的Stub区域,外部路由是通过一个区域外的ASBR进行通告的。AS外部路由器不会被泛洪到,或者通过Stub区域。在一个Stub区域中的所有到达外部网络的路由是通过一个默认路由(0.0.0.0 0.0.0.0)来实现的。这样,在一个Stub区域中的路由器的路由表中就只有一个路由到所有AS外部位置的入口。
为了创建默认路由,Stub区域的ABR通行一个默认路由到Stub区域。默认路由被泛洪到这个Stub区域内的所有路由器上,但是不会泛洪到Stub区域外。默认路由是用于一个Stub区域中的路由器为任一不可到达AS内部的目的IP地址提供路由。在Stub区域中的所有路由器必须被配置,以便它们不在Stub区域内导入或泛洪AS外部路由。所以,在一个Stub区域中的所有路由器接口上的所有区域配置必须配置Stub区域。例如,图8-5中的Area 0.0.0.3被配置为一个Stub区域,因为所有外部通信必须它的单个ABR——R3。R3通告一个默认路由分布在内部区域Area 0.0.0.3,而不是在区域内泛洪AS外部网络。
在Stub区域中规定不接收外部AS的LSA,也不向外部AS发送区域内部LSA,即Stub区域中不注入ASE(自治系统外部)路由。Stub区域一定是非骨干区域和非转换区域(可以配置虚连接的区域),因为它不接收也不发送LSA。并且在Stub区域中不传递Type 5类型(AS外部LSA)的LSA(有关LSA类型将在本节后面介绍)。本节前面的图8-4显示了骨干区域、Stub区域,以及其他标准区域之间的关系。Area 0为骨干区域,area 3是Stub区域,area 2为一个标准OSPF区域。同时在这个示例中Area 2区域并没有与骨干区域Area 0直接相连,这时就通过在两个区域的边界路由器之间建立的虚拟链路进行直接通信。Area 1是一个转发区域。
由于Stub区域通常位于OSPF网络末端,这些区域内的路由器通常是由一些处理能力有限的低端路由器组成,所以处于Stub区域内的这些低端设备既不需要保存庞大的路由表,也不需要经常性的进行路由计算。这样做有利于减小Stub区域中内部路由器上的链路状态数据库的大小及存储器的使用,提高路由器计算路由表的速度。
当一个OSPF的区域只存在一个区域出口点(只与一个其他区域连接)时,我们可以将该区域配置成一个Stub区域。这时,该区域的边界路由器会对域内通告默认路由信息。需要注意的是,一个Stub区域中的所有路由器都必须知道自身属于该区域,否则Stub区域的设置不会起作用。另外,针对Stub区域还有两点需要注意:一是Stub区域中不允许存在虚拟链路,这样就不会作为骨干区域的延伸;二是Stub区域中不允许存在ASBR,否则这个AS中的LSA无法传播到另一个AS中。
的Stub区域是一类特殊的OSPF区域,这类区域不接收或扩散Type-5类型LSA(AS-external-LSAs),对于产生大量Type-5 LSA(外部AS LSA)的网络,这种处理方式能够有效减小Stub区域内路由器的LSDB大小,并缓解SPF运算对路由器资源的占用。通常情况下,Stub区域位于自治系统边缘区域。为保证Stub区域去往自治系统外的报文能被正确转发,Stub区域的ABR(区域边界路由器)将通过Summary-LSA(汇总链路状态通告)向本区域内发布一条默认路由,并且只在本区域泛洪。为了进一步减少Stub区域中路由器的路由表规模以及路由信息传递的数量,可以将该区域配置为Totally Stub(完全末梢)区域,该区域的ABR不会将区域间的路由信息和外部路由信息传递到本区域。
2.Total Stub Area(绝对末梢区域)
在Total Stub Area中只有本区域内的路由。LSA3/4/5均不允许进入本区域。配置Total Stub Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
这里所说的完全Stub区域(Totally Stub,或者Stub no-summary)是在Stub区域的基础上(即阻止了Type 5 LSA包的基础上)再对其他ABR通告的网络汇总LSA(即Type 3类型LSA)也进行了阻隔,不接收区域间路由通告。其ABR仅通过网络汇总LSA通告一个默认路由,使用这个默认路由到达OSPF自治系统外部的目的地址。也就是说,完全Stub区域同时不允许Type 3、4或5三类LSA注入,但默认汇总路由除外。
若要将一个区域定义为Stub区域,则在区域内所有路由器中使用"area xx stub"命令;若要定义完全Stub区域,使用OSPF路由器配置命令"area xx stub no-summary"命令。
3.NSSA Area(次末梢区域)
在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换。
本区域只允许LSA 3进入,禁止LSA4/5的进入。所以此区域有域内、域间和外部路由。
配置NSSA区域需要在区域内手工的创建一条默认路由(以便访问OSPF中其他区域的网络)。
Stub区域虽然为合理的规划网络描绘了美好的前景,但在实际的组网中利用率并不高(Stub区域一般只存在于网络边缘),未免遗憾。但此时的OSPF协议已经基本成型,不可能再做大的修改。为了弥补缺陷,协议设计者提出了一种新的概念NSSA(not-so-Stubby area,非纯末梢区域),并且作为OSPF协议的一种扩展属性单独在RFC 1587中描述。NSSA可以说是对原来的Stub区域要求有所放宽,使它可以在更多网络环境中得到应用。
NSSA区域规定,AS外的ASE路由不可以进入到NSSA区域中,但是NSSA区域内的路由器引入的ASE路由(NSSA区域中可以连接ASBR)可以在NSSA中泛洪并发送到区域之外。这样,在NSSA区域中取消了原来Stub区域中关于ASE的双向传播的限制(区域外的进不来,区域里的也出不去),改为单向限制(区域外的进不来,区域里的能出去)。若要定义NSSA区域,使用OSPF路由器配置命令"area xx nssa"命令。
为了解决ASE单向传递的问题,NSSA中重新定义了一种LSA——Type 7类型的LSA(NSSA外部LSA),作为区域内的路由器引入外部路由时使用。该类型的LSA除了类型标识与Type 5不相同之外,其它内容基本一样。这样区域内的路由器就可以通过LSA的类型来判断是否该路由来自本区域内。但由于Type 7类的LSA是新定义的,对于不支持NSSA属性的路由器无法识别,所以协议规定:在NSSA的ABR上将NSSA内部产生的Type 7类型的LSA转化为Type 5类型的LSA再发布出去,并同时更改LSA的发布者为ABR自己。这样NSSA区域外的路由器就可以完全不用支持该属性。在NSSA区域内的所有路由器(包括NSSA的ABR)必须支持Type 7类型的LSA属性,而自治系统中的其他路由器则不需要。
总的来说,NSSA区域不允许Type 5 LSA,但在NSSA ABR上转换为Type 5的Type 7 LSA还是可以通过的。
NSSA所对应的区域ID为1,它与骨干区域0相连,同时它又与另两个自治系统的路由网络(分别是运行IGRP和RIP路由协议的)相连。此时,外部区域和外部AS的路由信息不能通告到NSSA区域中,但NSSA中的路由信息可以向外发布。
4.Total NSSA Area绝对次末梢区域
在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换(如图Area 7所示)。
本区域禁止LSA3/4/5进入,只有本区域内路由和外部路由。配置Total NSSA Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
LSA
2.OSPF的LSA类型一共有11种,分别是
LSA1 路由器LSA(Router LSA):描述路由器的直连链路状态信息。由每个发起路由器通告,只在本区域内传递,不会超过ABR。
LSA2 网络LSA(Network LSA):描述本区域内BMA/NBMA(串行连接信息不会在此出现)的网络信息以及连接到此网络的路由器。由本BMA/NBMA网络的DR或BDR通告,只在本区域传递。
LSA3 网络汇总LSA(Network summary LSA):描述OSPF的区域间路由(在路由表中以 O IA 标识)。原LSA 1所描述的路由信息会由所在区域的ABR将其转换为LSA 3。LSA3可以传播到整个OSPF的所有区域(特殊区域除外)。由ABR通告。注意:LSA 3每穿越一个ABR,其ADV Router都会发生改变,ADV Router转变为最后一次穿越的ABR路由器。
LSA4 ASBR汇总LSA(ASBR summary LSA):LSA 4所承载的内容是ASBR的Router-ID。LSA 4其实就是图中R4(通告路由器)将Area 3中R11的Router-ID信息转换为LSA 4,在整个OSPF域中泛洪传播(由于LSA 5的通告路由器在穿越ABR的时候不会改变,如图中Area 3的LSA 5在穿越R4到达Area 0时,通告路由器不改变仍然是R11,因此除了Area 3,Area 0和其他区域都不知道R11的信息。此时就需要LSA 4为Area0和其他区域提供R11的信息,可以这么说,LSA 4是为LSA5所服务的)。
LSA5 自治系统外部LSA (Autonomous system external LSA):描述OSPF区域以外的路由(RIP、EIGRP、BGP等)。由ASBR通告,LSA 5可以传播到整个OSPF的所有区域(特殊区域除外)。注意:LSA 5的通告路由器在穿越ABR的时候是不会改变的。
LSA6 组成员LSA (Group membership LSA) *目前不支持组播OSPF (MOSPF协议)
LSA7 NSSA外部LSA (NSSA External LSA)
LSA8 BGP的外部属性LSA(External attributes LSA for BGP)
LSA9 不透明LSA(本地链路范围) (opaque LSA) *目前主要用于MPLS多协议标签交换协议
LSA10 不透明LSA(本地区域范围) (opaque LSA) *目前主要用于MPLS多协议标签交换协议
LSA11 不透明LSA(AS范围) (opaque LSA) *目前主要用于MPLS多协议标签交换协议
原文地址:https://www.cnblogs.com/xinghen1216/p/11727225.html