OSPF存根和NSSA地区有哪些类型的LSA?

连接到同一个OSPF区域的所有路由器将获得完全相同的拓扑数据。每台路由器都将这些由链路状态通告(LSA)组成的数据存储在链路状态数据库中。然后,路由器在LSDB上运行SPF(最短路径优先)算法来确定到达每个子网的最佳路由。

让我们来介绍一下OSPF所有类型的LSA。

一般来说,有以下几种类型:

1.类型1:路由器LSA。

2.类型2:网络LSA

3.类型3:网络总结LSA

4.类型4:ASBR总结LSA

5.类型5:作为外部LSA

6.类型6:团体会员LSA

7.类型7:NSSA外部LSA

8.类型8:外部属性LSA

9.类型9:不透明LSA(链接-本地范围)

10.类型10:不透明LSA(区域-本地范围)。

11.类型11:不透明LSA(辅助镜)。

下面详细解释一下。

1.路由器LSA

每台路由器都会创建一个1 LSA,向它连接的每个区域描述自己。在每台路由器中,每个区域的LSDB包含一个1 LSA,它表示当前路由器的RID和所有接口的IP地址。1 LSA也用于描述外围网络。

1类LSA使用OSPF路由器ID来标识OSPF路由器。每台路由器都会创建一个1类的LSA,并对整个区域进行泛洪。为了泛洪LSA,始发路由器向当前区域的邻居发送1 LSA,然后邻居再发送给当前区域的其他邻居,以此类推,直到区域内所有路由器都有LSA的副本。

Class 1 LSA包含以下信息:对于没有选择DR的每个接口,指出该接口的子网号/掩码和OSPF开销。

对于每个选择了灾难恢复的接口,指出灾难恢复的IP地址和到传输网络的链路。

对于不选择DR但可以通过它到达邻居的接口,指示邻居的RID。

每个内部路由器创建一个1 LSA,但是ABR创建多个1 LSA,每个区域一个。

此LSA可以通过show ip ospf数据库路由器查看路由器LSA。

2:网络LSA

在每个多路接入网络中,子网中的DR都会创建一个网络LSA,它描述了子网以及连接到该子网的路由器的借口。它仅描述了在生成此网络LSA的区域中连接到它的所有路由器(包括DR本身)。

显示ip ospf数据库网络可以看到网络LSA。

3:网络总结LSA

它由ABR创建,描述一个区域的1类和2类LSA中包含的子网,并向另一个区域通告。表示始发区域的链路(子网)和开销,但没有拓扑数据。

如果ABR知道到目的地址有多条路径,但仍然只发送一条网络总结LSA,而且是开销最低的一条;同样,如果ABR从其他ABR收到多个网络总结LSA,它只会选择开销最低的,并向其他区域通告这个网络总结LSA。

当其它路由器从ABR收到网络总结LSA时,它不会运行SPF算法。它只是将到达该ABR的开销与网络总结LSA中包含的开销相加。通过ABR,到达目的地址的路由和开销一起被添加到路由表中。依赖中间路由器来确定到达目的地址的完整路由实际上是距离矢量路由协议的行为。

您可以使用show ip ospf database summary查看网络摘要LSA。

4:ASBR总结LSA

与3类LSA类似,不同之处在于它通告的是通往ASBR的主机路由,而不是网络。

使用show ip ospf database asbr-summary查看asbr总结LSA。

5:作为外部LSA

作为外部LSA,由ASBR创造,是用来描述外部路线注入OSPF。LSA将会泛滥成灾。

您可以使用show ip ospf database external来查看外部LSA。

6:LSA团体会员

Cisco的IOS不支持为MOSPF定义的组成员LSA。

7:NSSA外部LSA

NSSA的外LSA来自不那么短的地区,与LSA五型相似,只是在NSSA地区是ASBR创造的,只在NSSA地区泛滥。

使用命令show IP OSPF数据库NSSA-外部查看NSSA外部LSA。

8:外部属性LSA

Cisco路由器无法实现外部属性LSA。

9 - 11:不透明LSA

不透明的LSA,用作一般的LSA,便于扩展OSPF。(例如,10类型的LSA被修改为支持MPLS流量工程。)

最后,我们来说说OSPF各个地区生产的LSA:

主干:12345

存根:1234

NSSA :1237

LSA类型

LSA1:路由器LSA,来自该区域的任何路由器。

LSA 1列出了路由器的链路和接口、链路的出站开销以及接口状态。LSA1只在该区域泛洪,该区域其他路由器收到的LSA 1形成的路由条目用“O”表示。简单来说,LSA1描述了自己的直连信息。

LSA 2:网络LSA,起源于该地区的博士。

LSA2通知的对象:

局域网内的所有DRother和区域内的其他路由器(一个区域内可能有其他链路,比如点对点,或者另一个局域网,他们作为该区域的成员需要知道这个局域网的信息)。

新LSA协议公告的内容:

局域网中与DR形成全邻接关系的所有路由器的Router-id和DR本身的Router-id,然后是局域网的网络掩码(局域网中每个接口的掩码必须相同,否则无法形成OSPF邻居)。LSA2只在这个地区泛滥。

注意:就现场分析来看,LSA1侧重于链路ID和链路数据,针对不同的链路类型有不同的内容,而LSA2本身是广播链路的产物,侧重于连接到DR的路由器ID和广播链路的网络掩码。

当路由器执行SPF操作时,LSA1用于确定如何到达该局域网中的接口,LSA2用于确定该局域网的网络掩码。这就是LSA2要求被淹没到整个区域的原因,也是LSA2最大的功能。

LSA1链接类型链接ID链接数据

1我将点对点链路的邻居路由器的ID与用于直接连接的本地接口的IP地址连接起来。

我连接到传输网络,该网络Dr的地址,以及我连接到DR的接口的IP地址。

我连接的是上一个网络的这个网段的地址和这个网段的子网掩码。

我连接到一个虚拟链接。虚拟链路另一端的路由器ID是我的虚拟链路接口的MIB-II ifIndex。

这里说的传输网实际上是一条广播链路,末节网络可能是一条相连的点对点链路,也可能是一个回环端口代表的网段,也可能是一个实际相连的主机子网。MIB-II ifindex是虚链路所依赖的实际链路的条目的IP地址,虚链路的建立是为了在两条ABR之间选择一条开销最低的路径。

例如:(Lo0:1.1.1.1)r 1-. 1-12.1.1.0-. 2-R2(Lo0:2,2.2.2)

R1将通知R2一个LSA1,其中包含三个相关链接:

1.一个存根网络,链路ID = 1.1.1.1 & amp;链接数据= 255.255.255.255

R1认为自己学习了一个存根网络(实际上是Lo0模拟的主机地址)。

2.另一个路由器(点对点),链路ID = 2.2.2.2 & amp;链接数据= 12.1.1.1

R1认为它通过点对点链路连接到另一台路由器,其ID为2.2.2.2。R1通过接口12.1.1与之相连。

3.一个末节网络,链路ID = 12.1.1.0 & amp;链接数据= 255.255.255.0

R1认为自己学会了一个存根网络(其实是点对点的链接)。

LSA 3:网络摘要LSA,ABR起源。

LSA 3通告ABR连接的区域的链路信息,具体来说就是把自己区域内的链路告诉给区域0,同时也把其他区域(包括区域0)的信息传送给自己的区域。它通告的链路在所有链路中开销最低,在路由表中用“O IA”表示。如果LSA3通告默认路由,链路状态ID和网络掩码字段都将设置为0.0.0.0。

注意:如果区域间总结在OSPF实施,那么LSA 3将公布总结路线而不是详细信息。其实这里应该说是“路由”而不是“链路”,因为LSA 3本身就公告了每个网络如何到达,接收路由器并不知道该区域的拓扑结构,只是用DV的思路把LSA 3公告的链路加上自己到ABR的开销(也就是ADV路由器)放入路由表中。

LSA 4:ASBR摘要LSA,ABR的起源。

LSA 4号宣布了ASBR的具体位置,这是一条通往ASBR的主机路由。

LSA3和LSA4都源于ABR,报文格式相同,但有几个不同的字段。在“链路状态ID”字段中,LSA3通告网络或子网的IP地址,而LSA4通告ASBR的路由器ID;“网络掩码字段”对LSA4没有意义,设置为0.0.0.0。

路由器成为ABR的前提是运行OSPF进程的接口必须直接连接到0区,否则不会生成LSA 3和LSA 4,无法完成ABR的任务。解决方案通常是通过虚拟链路。

注意:LSA3和LSA4都只能在单个区域泛滥。具体来说,LSA4在0区泛滥让ABR知道ASBR在哪里;至于LSA3,这里需要注意的是,比如1区域的ABR将1区域的路由信息通知给0区域,这个LSA3只在0区域泛洪,2区域会收到这个LSA3,但不是直接发送给2区域,而是会产生一个新的LSA3,因为不仅会增加自己到那个ABR的链路开销,而且ADV路由器也会变成自己,新的LSA3会进入2区域泛洪。从一个侧面也可以看出,区域间的OSPF路由是一种典型的距离矢量行为。

LSA 5:作为外部LSA,源自ASBR。

LSA 5公布与ASBR直连的其他AS的路由信息,与BGP中AS的概念不同,这里指的是IGP区域。LSA 5正在向除存根、总存根和NSSA以外的所有地区泛滥,并且它是唯一不与任何地区相关联的LSA广告。

LSA 5形成的路由条目用E1或E2(默认为E2)表示,可以通过命令更改为E1重分布IGP子网度量-类型1。

E2Cost =从ASBR到AS的外部目的网络的开销。

E1开销=从本地到ASBR的开销+从ASBR到外部目的网络AS的开销。

注意:当OSPF路由器获得LSA 5时,它将检查“转发地址”是否可以通过区域内或区域间的路由到达,然后将其加载到路由表中。否则,它不会被加载到路由表中。

LSA 7:NSSA外来LSA,起源于area一带。

这个LSA的内容和LSA5基本相同(只有转发地址字段不同)。关键是LSA 7只在LSA发源的NSSA地区泛滥,并且在ABR中转化为LSA5。LSA7形成的路由条目由N1或N2表示。

其实LSA7和LSA5的内容是一样的,只是泛滥面积有限,所以需要标注,两者是可以相互转换的。在NSSA地区,ASBR将外部路由信息封装到LSA中,并将其P位设置为1,以便在NSSA地区泛洪。在ABR中,P-Bit位将变为0,从LSA 7转换为LSA 5,然后传输到OSPF的其他地区。同样,如果有其他地区公布的外部路由注入到这个NSSA地区,LSA 5将在这个NSSA地区的ABR转换成LSA 7。

OSPF地区

有四种类型的OSPF特区:存根,总存根,NSSA和总NSSA。其实质是“LSA简化区”。当一个区域被定义为Stub区域时,该区域内的路由器发送的hello报文会将E位设置为0,而正常区域应该是1,所以该区域内的所有路由器都可以通过键入1 stub等命令正常形成邻接关系。

LSA的简化决定了存根区域会接受或拒绝LSA,但不会对该区域的信息对外公布产生任何影响,所以其他区域完全知道存根区域的信息。比如你想成为总存根区域,只需要给ABR加上关键字no-summary,因为它阻止了ABR向存根区域发送LSA3。

Stub区域不作为外部路由进行广告,也不能重新发布,但是它拥有OSPF区域内和区域间的完整信息,并通过一个默认路由O*IA与AS外部保持联系,该路由是通过LSA 3获知的。存根区域设计是为了路由器性能和该区域的路由入口要求而进行的LSA简化,但它不可避免地导致信息不对称,进而出现次优路径。

总存根比存根更彻底,甚至不需要OSPF地区之间的路由,只需要本地区的信息。ABR将默认路由注入到总存根区域中,通过它的不仅有外部路由,还有区域间的路由,同时ABR会阻止LSA 3 &;5 & amp除了通告默认路由的LSA3之外,在整个末节区域中泛洪。

公共区域中的路由器根据以下原则在区域之间路由:

路由总开销=从该路由器到ABR的开销+从ABR到目的网络开销最低的路由将被放入路由表。

设置为总存根的区域的路由器路由原则是:

路由总开销=该路由器到达ABR的开销最低的路由被放入路由表。

NSSA是当ASBR存在于存根区域时形成的区域。存根本身不能作为外部路由,不能重新发布,但他们别无选择,只能成为OSPF和其他IGP之间的边界,变得不那么短粗,从而形成一个NSSA地区。注入NSSA地区的外部路由经过LSA 7,并在ABR恢复到LSA 5。

简单来说:NSSA =存根+ASBR总NSSA =总存根+ASBR。

在Stub、Total Stub、NSSA、Total NSSA中,只有NSSA不会自动注入默认路由,但可以通过命令:1 NSSA default-information-origin实现,这样即使是其他地区注入的外部路由也可以到达,基本上是可以去任何地方。

如果NSSA地区的ABR也是一个ASBR,外部路由会以LSA 7的形式注入NSSA地区,那么可以使用命令区1nSSA no-redistribution来阻止外部路由的注入。

外部路由在NSSA以LSA 7号存在,并将在ABR中转换为LSA 5号以通知区域0。我们可以使用命令summary-address prefix mask not-advertisement来控制特定条目的LSA转换过程。如果未使用关键字not-advertisement,此命令用于总结外部路由,并在ASBR上执行。