OSPF各类LSA

一、域内路由
路由器将接口宣告进OSPF进程后,形成的链路状态放入1类LSA中,用于描述路由器自身的直连状态。
1、 区域0为骨干区域,非0为非骨干区域。
2、 骨干区域有且只能存在一个。
3、 非骨干区域必须与骨干区域相连。
4、 每个区域都会维护一颗独立的SPF树。

LSA头部信息详解:

Type 1 LSA - Router LSA

作用:由每个OSPF路由器生成,描述路由器的链路状态和接口信息。
范围:仅在区域内传播。
内容:包括路由器接口、链路状态、开销等。


Type 2 LSA - Network LSA

作用:由DR(Designated Router)生成,描述多路访问网络(如以太网)中的路由器和网络信息。
范围:仅在区域内传播。
内容:包括DR连接的网络和路由器列表。

二、域间路由
Type 3 LSA - Summary LSA

作用:由ABR(Area Border Router)生成,用于在不同区域间传播路由信息。
范围:在区域间传播。
内容:包括目标网络的IP地址和开销。

Type 4 LSA - ASBR Summary LSA

作用:由ABR生成,用于通告ASBR(Autonomous System Boundary Router)的位置。
范围:在区域间传播。
内容:包括ASBR的Router ID和到达ASBR的开销。

四类LSA的由来:
1、当ASBR引入外部路由后,会在本区域内泛洪一个ASBR置位的1类LSA。告诉其他设备我变成ASBR了
2、当同区域且连接骨干区域的ABR收到这个ASBR置位的1类LSA后,由于自身是ABR,因此会将该ASBR置位的1类LSA转换为4类LSA发送到其他直连区域。
当一台设备同时是ABR和ASBR时,不会产生4类LSA

ABR定义:连接多个区域,并且在骨干区域存在一个活动的接口
功能

    1、将直连区域内的最优路由转换为3类LSA泛洪到其他连接的区域中。
    2、将骨干区域内的3类LSA,继续以3类LSA的形式泛洪到其他直连非骨干区域内。
当路由器具备ABR特性后,将会在自身产生的1类LSA中option置位ABR。

注意:华为的特殊情况,当在OSPF进程中配置多区域,但是没有宣告接口,也可以将路由器置为ABR,但是不具备ABR的功能。

ABR只能将骨干区域的3类LSA重新包装泛洪到非骨干区域,不能将非骨干区域的3类LSA重新包装泛洪到骨干区域
重新包装:1、将通告者更换成自己。2、重新计算metric
路由器在根据3类LSA计算路由时,会计算自身路由器到达ABR的cost+3类LSA携带的cost值。

域间路由防环原则:

原则一
    为了避免区域间的环路,OSPF规定不同区域间的路由器交互只能通过ABR实现。ABR是连接到骨干区域的,所以在区域设计上规定,所有非骨干区域要连接到骨干区域,区域间的通讯需要通过骨干区域,形成逻辑上的星状拓扑,且无环。

原则二
    1、ABR不会将非骨干区域的3类LSA传递到骨干区域(原则:OSPF设计/实现方式:不加表)
    2、ABR在骨干区域存在FULL关系的邻居时,不会计算非骨干区域的3类LSA
    3、ABR在骨干区域不存在邻居时,会计算非骨干区域的3类LSA

原则三
    1、无论cost大小,1类LSA优于3类LSA。

例题:

1.会 2.不会(原则二) 3.不会(因为R4不是abr)

三、外部路由
外部路由引入过程

1、在路由器进程中使用引入命令后,将路由表中的外部路由引入到OSPF中。
2、路由器会触发两条LSU报文,其中第一条LSU携带自身的1类LSA,并且ASBR置位。用来告知本区域内的其他路由器,我成为ASBR了,我要引入外部路由了,第二条LSU携带引入的外部路由(5类)。
35类LSA的同步和泛洪原则:5类LSA在整个OSPF自治域内泛洪,不基于区域传递,只要路由器之间建立了FULL关系,就可以传递。
4、所有的外部路由引入OSPF后,会以5类LSA存在于数据库中,外部的cost值将不再计算,将赋于该5类LSA一个种子度量值,默认为1,可以手动更改。这个开销值在OSPF计算外部路由时,会认为是ASBR路由器到达该目的网络的开销值。
路由引入时:import-route static是引入所有静态路由、默认路由。default-route-advertise是只引入默认路由,如果跟上always是如果设备没有默认路由,则下发一条默认路由

Type 5 LSA - AS External LSA

作用:由ASBR生成,用于通告外部路由(如从其他路由协议学到的路由)。
范围:在整个OSPF自治系统内传播。
内容:包括外部网络的IP地址、掩码和开销。

Type 7 LSA - NSSA External LSA

作用:在NSSA(Not-So-Stubby Area)中由ASBR生成,用于通告外部路由。
范围:仅在NSSA内传播,ABR会将其转换为Type 5 LSA后传播到其他区域。
内容:类似于Type 5 LSA,但仅在NSSA内使用。

类型

Type 1:OSPF引入外部路由时,可以通过命令将开销值类型改为type1,当路由器计算type1类型的5类LSA时会计算OSPF内部的开销值累加。
Type 2:OSPF引入外部路由默认开销值类型为type2,当路由器计算type2类型的5类LSA时,不会计算OSPF内部的开销值,只计算5类LSA携带的cost值。

5类LSA的同步和泛洪原则:5类LSA在整个OSPF自治域内泛洪,不基于区域传递,只要路由器之间建立了FULL关系,就可以传递。

FA地址
FA地址生成的条件:(同时满足)

1.ASBR去往外部路由的接口被宣告进OSPF中。
2.ASBR去往外部路由的接口没有被配置为静默接口。
    OSPF视图下:silent-interface GigabitEthernet 0/0/0
3.ASBR去往外部路由的接口网络类型不是P2P。

FA地址的作用:解决次优路由的问题

1.当5类LSA中的FA地址为0.0.0.0时,代表FA地址为空,那么在计算这条外部路由时,会通过寻找ASBR来计算
2.当5类LSA中的FA地址为具体IP地址时,代表存在FA地址,那么在计算这条外部路由时,就会通过路由器的SPF树,来寻找FA地址进行计算

四、OSPF特殊区域
OSPF优化的一种手段,当路由器无法承载大量的LSA时,会考虑减少LSA数量来进行优化。末节区域不允许存在5类,也就没有4类
一、stub区域: 末节区域存在1类、2类、3类、3类缺省

1)stub区域:末节区域存在1类、2类、3类、3类缺省

1.当区域配置为stub区域后,发出hello包中的options字段中的E置位为0,代表该区域没有处理外部路由的能力。此区域无法泛红和传递5类LSA,ABR也不再向此区域传递4类LSA,区域下所有设备都要更改为stub区域。
2.由于stub区域没有4类和5类LSA,没有办法计算外部路由。因此ABR会下发一条缺省的3类LSA,让stub区域的设备可以访问到外部路由。stub只存在123类LSA
3.如果stub区域存在多台ABR设备,ABR都会下发缺省路由且不存在4类和5类LSA,可能存在负载分担多条路由,由于stub缺少对外部的感知能力,可能存在次优路径的风险
    解决方案:
        1.更改stub区域内部接口开销值
            IR设备上接口视图下:ospf cost 100
        2.在ABR调整3类缺省路由的种子度量值
            ABR设备上OSPF区域视图下:default-cost 2
        3.修改下一跳的权重值(权重值默认255,越小越优)
            IR设备上OSPF视图下:nexthop 12.0.0.2 weight 254

2)完全stub区域:完全末节区域 stub no-summr 存在1类、2类、3类缺省

1.完全末节区域是在末节区域的基础上,将该区域内的3类LSA路由过滤掉
2.完全末节区域只保留该区域的1类和2类LSA,以及ABR下发的3类缺省LSA
3.完全末节区域继承了末节区域的所有特性,包括多ABR设备时次优路径的风险问题

二、NSSA区域: 非完全末节区域存在1类、2类、3类、7类、7类缺省

NSSA区域:非完全末节区域存在1类、2类、3类、7类、7类缺省

1NSSA区域也是一个末节区域,也要做LSA优化。
    1.ABR不会向NSSA区域泛洪4类和5类LSA
    2.ABR会向NSSA区域内下发一条7类缺省LSA,帮助NSSA区域没补路由器计算缺省路由下一跳指向ABR设备,而非外部路由。

2NSSA区域引入了外部路由,需要让其他区域的路由器学习到这个外部路由
    1.NSSA区域的ABR会将7类LSA转换成5类LSA,传递到其他直连区域内,方便其他区域的路由设备学习外部路由。
    2.7类只能在NSSA区域内泛洪,不能传递到其他区域
    3.ABR具有将7类LSA转换到5类LSA的能力,因此具备ASBR的能力,就会将自身1类LSA的ASBR置位为13、当NSSA区域存在多ABR时:
    1.多ABR时,由router-id大的ABR路由器执行75操作
    2.router-id小的ABR路由器也具有75的能力,当router-id大的ABR路由器宕机,需要承担备份作用
    3.多ABR时会同时产生7类缺省,计算缺省路由可能会负载分担,产生次优路径

4、关于7类LSA的传递问题:在7类LSA的option字段会也P置位
    如果P置位,将会在ABR路由器执行75操作,如果没有P置位,将不会执行75

57类LSA的FA地址问题:
    1.FA地址和5类LSA的FA地址作用相同,都是用来优化链路的
    2.7类LSA的FA地址不会为空(7类缺省除外)
    如果场景和5类LSA相同,那么FA地址会使用外部路由的下一跳作为FA地址
    否则取值为路由器最大的环回接口地址作为7类LSA的FA地址,且接口宣告OSPF
    否则取值为路由器第一个UP的物理接口地址作为7类LSA的FA地址

完全NSSA区域:完全非完全末节区域存在1类、2类、3类缺省、7类缺省、7类

1、完全NSSA区域继承了NSSA的特性
2、完全NSSA区域的ABR会生成2条缺省LSA,分别是3类的缺省LSA和7类的缺省LSA,华为会使用3类缺省LSA。
优先级:12类>3类>57

五、OSPF路由汇总

一、区域间路由汇总(只能在ABR上汇总)
    1.在ABR上,可以针对区域内的1类和2类计算出的最优路由进行汇总,汇总后以3LSA形式泛洪到其他直连区域内  备注:明细路由来着哪个区域,就要在哪个区域下敲命令
        ospf区域视图下:abr-summary 192.168.0.0 255.255.0.0

    2.只要在LSDB中存在一条明细,那么汇总后的3LSA就不会受影响,只有当区域中所有明细全部消失后,汇总的3类才会失效
    3.关于汇总后的cost值,会使用明细路由中cost值最大的作为汇总后LSA的cost值
    4.在多ABR时,如果只在一台ABR路由器上进行汇总,那么另外的ABR将传递明细路由,那么在区域0中,将同时有汇总后的3LSA和明细3LSA
    注意:多ABR汇总后的3LSA,会在区域0进行泛洪并传递给另外的ABR设备,此时另外的ABR设备不会计算这条3类汇总LSA,避免产生环路

二、外部路由汇总(只能在ASBR上汇总)
    在ASBR上针对自身引入的外部路由进行汇总
        ospf区域视图下:asbr-summary 192.168.0.0 255.255.0.0

    1.针对type-1类型的外部路由,汇总后的开销值是所有被汇总明细中开销值最大的
    2.针对type-2类型的外部路由,汇总后的开销值是所有被汇总明细中开销值最大的+1
    如果明细路由一条是type-1,一条是type-2,这种情况如何理解?汇总后会使用type-2作为开销值类型,开销值会选择明细中最大的开销值+1

OSPF无法建立邻居关系的因素

1、认证模式不匹配(区域认证和接口认证)
2、区域ID不一致
3、Hello/Dead时间不一致
4、MTU不匹配
5、Router-ID冲突/重复
6、网络类型不匹配
7IP地址或子网掩码不匹配
8、ACL或防火墙阻止OSPF流量
9、OSPF区域类型不匹配
posted @   YZreal  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示