OSPFv2需要了解的6种LSA,分别是:1类LSA、2类LSA、3类LSA、4类LSA、5类LSA、7类LSA。
开始了解每一类之前,我们要先了解LSA的组成,LSA由LSA头部和LSA内容组成,其中LSA头部是每一类LSA都相同的,有type、LS ID、ADV是LSA的三要素用于唯一表示一条LSA;age、seq、checksum是用于比较LSA的新旧。
LSA的内容我们下面来具体学习:
Router-LSA:1类LSA,用于描述每台路由器在所在区域的链路状态信息,每台路由器都会产生,并且在本区域内泛洪。在1类LSA中有使用四种链路类型,来描述不同直连链路的信息,每种链路类型由link id、data、metric进行描述。
1、transnet:用于描述一个NBMA/BMA网络的邻居关系,描述的是拓扑信息。
2、 P2P:用于描述一个P2P/P2MP链路上的邻居,描述的是网络的拓扑信息。
3、Stubnet:用于描述叶子路由信息,没有邻居(即描述自身直连的网络号),描述直连的路由信息。
4、V-link:用于描述虚链路连接的邻居,描述的是网络的拓扑信息。
当然和你预想的一样,1类LSA中不光只存在四种链路类型,还有重要的Options(选项)、Flags(标志)等参数信息。
Options参数有
DN bit:主要是在MPLS VPN网络中用于防止环路
O bit:表明是否支持9、10、11类LSA
DC bit:是否支持按需链路,即OSPF不发送hello报文,但是邻居不老化
L bit:表明是否支持8类LSA
N bit:表示是否为NSSA区域,即是否支持7类LSA
MC bit:表示是否支持组播数据包的转发能力
E bit:表示是否支持外部路由,即5类LSA
MT bit:表示是否支持多拓扑OSPF
Flags参数有
V bit:表示是否存在虚链路的邻居
E bit:表示本路由器是不是ASBR
B bit:表示本路由器是不是ABR
Network-LSA:2类LSA,用于描述NBMA/BMA网络的链路状态信息,只有在MA网络才会产生,由MA的DR产生,在本区域泛洪。描述路由信息和拓扑信息
在2类LSA中,携带的link state ID和Netmast用于表示广播域的路由信息,Attached Router,用于表示所连接的设备,即拓扑信息。
Network-summary-LSA:三类LSA,用于描述区域间路由信息,由区域间ABR产生,并在本区域泛洪,ABR可以将该LSA继续泛洪到其他区域,但是需要修改ADV和Metric等参数,在跨区域传递时,需要逐个区域修改ADV为ABR的RID,而且该LSA在跨区域传递需要累积路由的开销作为3LSA的开销。
下面就是3类LSA的显示,只通过Link State ID和Netmask描述了其他区域的路由信息。
下面解释下ABR的功效:
路由器类型ABR:区域间路由器,一般指骨干区域和非骨干区域之间的路由器,用于实现区域间的路由的传递。
ABR定义:
连接多个区域 且 至少 有一个活动的接口 属于区域0 的路由器。
如果区域0中没有活动接口;那么ABR依然会在非骨干区域中 通告一类LSA时,option 字段的ABR置位,但是不转换3LSA进入区域。0,存在vlink的路由器。
ABR 行为:
1、ABR 将直连区域的区域内路由转化成其他区域的type 3LSA。
如上图所示,AR2为区域0、区域1、区域2的ABR,根据上述定义的ABR的行为将直连区域内的路由转化为其他区域的3类LSA。所以AR2将区域1内的1类、2类转化为3类直接通告进区域0和区域2。
ASBR-summary-LSA:四类LSA,用于描述ASBR的信息,辅助5LSA完成外部路由的计算,由ABR产生,在产生区域泛洪,由于该LSA和3LSA是类似的,都是描述区域间的信息(3:路由4:ASBR),所以在传递时,传递规则是一样的,ADV会逐个区域改变,metric会逐个区域累积,在进行空引入时,会在其他区域产生4LSA,但没有5LSA。
下面是4类LSA的显示,通过Link State ID和Netmask来表示ASBR是谁。值得一说的就是4类LSA描述的是路由信息,即告诉其他路由器怎么去往ASBR。
AS-external-LSA:五类LSA,用于描述OSPF外部路由信息,由ASBR产生并在OSPF域内泛洪,且在OSPF域内泛洪时ADV Router 是不会被更改的,所以需要四类来进行描述。
下面就是5类LSA的描述信息,在5类LSA中还携带了特殊的字段信息,External Type、Forwarding Address。
在解释External Type和Forwarding Address之前,需要先解释下ASBR。
ASBR的定义:
1、只要执行了引入动作,路由器就会认为自己是ASBR。
空引入后,不会产生五类LSA,但是会产生四类LSA。且与ASBR不在同一个区域的路由器,只要有四类LSA,就会计算去往ASBR的路由。(直接OSPF视图下引入静态,但是不存在静态路由)
2、NSSA区域执行7转5的ABR 也是ASBR
External Type,它是外部路由的开销类型,OSPF在引入外部路由是都会标注该外部路由开销的类型。
同ASBR在一个区域内的路由器外部路由计算:
Type 1:(FA地址为0.0.0.0)
①开销=自身到ASBR的开销+引入时路由的开销
②下一跳=自身到ASBR的下一跳
Type 2:(FA地址为0.0.0.0)
①开销=引入时路由的开销 (但是并不代表 域内不路由器不去找ASBR时,走最优路径)
②下一跳=自身到ASBR的下一跳
和ASBR不在同一个区域的路由器外部路由计算:
Type 1:(FA地址为0.0.0.0)
①开销=通过4类LSA计算到ASBR的开销+引入时路由的开销
②下一跳=自身到ASBR的下一跳
Type 2:(FA地址为0.0.0.0)
①开销=引入时路由的开销 (但是并不代表 域内路由器去找ABR时,不走最优路径)
②下一跳=自身到ASBR的下一跳
外部路由选路机制:(当不同区域引入相同的外部路由时)
Type 1:就是管理员希望按路由意义的最短路径访问外部网络。
①选择开销和值小的最优
②如果相同,则负载分担
Type 2:就是管理员希望按管理意义上最短路由访问外部网络。
①引入时开销小的优先,不考虑AS内部开销
②引入时开销相同,选择到ASBR开销小的
③引入时开销相同,到ASBR的开销也相同,则负载分担
Forwarding Address,转发地址
作用:用于优化路径,如果携带转发地址,则优先查找转发地址访问外部路由而不会查找路由表下一跳地址。
携带转发地址的条件:要求ASBR访问外部路由的出接口满足以下三个要求
·该接口通告进OSPF
·该接口的网络类型必须为BMA或NBMA
·该接口不能时silent-interface
满足以上三个条件,ASBR在产生五类LSA时会携带转发地址为ASBR到达外部路由的下一跳
如图所示,AR1、AR2、AR3在同一个广播域中,AR1和AR2建立了OSPF邻居,AR2和AR3建立了RIP邻居,且AR3存在一条32位的主机路由。AR2将RIP引入OSPF,就会转发地址置位,置位的转发地址是AR3的G0/0/0接口的地址。根据上述转发地址的作用,AR1可以直接根据转发地址寻找3.3.3.3,下一跳为AR3。如果没有转发地址的存在,那么AR1去访问3.3.3.3会先寻找到AR2,由AR2在去往3.3.3.3,下一跳为AR3。这就是转发地址的作用。
NSSA AS-External-LSA:7类LSA,和5类LSA作用相同,但是7类LSA只在特殊区域NSSA中才会出现,如果该LSA泛洪到其他区域时会由NSSA区域的ABR进行7转5的操作,即将7类LSA转换为5类LSA,具体解释下一章OSPF的特殊区域。
7类LSA和5类LSA的内容相同,都是用于描述外部路由信息的,但是7类LSA的转发地址和5类LSA略有不同。下面时7类LSA的信息。
Forwarding Address:对于7类LSA而言如果和5类LSA产生转发地址的场景一致,即当被引入路由的出解耦使能在同一个NSSA区域内,而且该出接口为广播类型,则FA的取值为被引入路由的下一跳地址。
如果场景不一致的话:
1. 如果该NSSA区域内存在Loopback接口,则转发地址的值选取Loopback接口地址
2. 如果没有Loopback接口,则转发地址的值选取该NSSA区域内第一个IP的接口地址
3. 如果不符合上述两个条件,则转发地址的值为0