OSPF 是链路状态协议,链路状态协议通告的是链路状态而不是路由表。运行链路状态协议的路由器会先建立一个协议的邻居关系,然后彼此交互LSA(链路状态通告),每台路由器都会产生LSA,路由器将收到的LSA放到自己的LSDB中。路由器通过LSDB即可掌握全网拓扑结构。每台路由器基于LSDB,使用SPF(最短路径优先Shortest Path First)算法计算出一颗以自己为根,无环树,即到达各个网络的最优路径。然后生成路由表。
骨干路由器(Backbone Router , BR):至少有一个接口属于骨干区域
区域内路由器:所有接口都属于同一OSPF区域。
区域边界路由器(Area Border Router ,, ABR):可以同时属于两个以上的区域,但其中一个必须是骨干区域
自治系统边界路由器(AS Boundary Router,ASBR):只要有一台OSPF设备 引入外部路由的信息,即是ASBR
Totally Stub Area(完全末梢区域)
- 定义:OSPF 特殊区域,用于精简路由表,是 Stub 区域的增强版本。
- 报文规则:拒绝接收 3 类、4 类、5 类 LSA,仅保留区域内路由;由 ABR 下发一条默认路由 0.0.0.0/0。
- 配置:区域内所有设备配置 stub;ABR 额外添加 no-summary,整体为 stub no-summary。
- 约束:不能是 Area 0,不支持虚链路与 ASBR,建议仅部署单台 ABR。
- 区分对比:普通 Stub 允许 3 类区域间路由;完全末梢区域彻底屏蔽所有区域间路由,路由条目最少。
Totally NSSA(完全非末梢区域)
- 定义:OSPF 特殊边缘区域,是 NSSA 区域的增强版本,兼顾精简路由表与引入本地外部路由的需求。
- LSA 规则:允许 1 类、2 类、7 类 LSA;过滤 3 类、4 类、5 类 LSA。区域内 ASBR 发布 7 类 LSA 传递本地外部路由,ABR 会将 7 类 LSA 转为 5 类 LSA 向骨干区域转发;ABR 自动下发一条默认路由 0.0.0.0/0 指导区域流量外出。
- 配置规范:区域内所有路由器配置 nssa;仅 ABR 增加 no-summary 关键字,完整命令为 area 区域号 nssa no-summary。
- 核心约束:不可设置为骨干区域 Area 0,不支持虚链路;区域内允许部署 ASBR 引入外部路由,建议仅部署单台 ABR,避免路由紊乱。
- 场景与区分:适用于末端区域,既需要接入外部路由,又要最大限度缩减路由表。和普通 NSSA 相比,它额外屏蔽了区域间明细路由;和 Totally Stub 相比,它支持通过 7 类 LSA 引入本地外部路由。
LSA三元组
Link-State Advertisement Type LSA 类型
Link State ID 链路状态ID
Advertising Router 通告路由器
OSPF支持等价路由进行负载分担
OSPF支持报文加密
OSPF支持CIDR
OSPF以组播形式收发报文,可以减少对其他不运行OSPF路由器的影响。
LSA链路状态通告,OSPF 用来描述链路信息的数据包,路由器靠 LSA 生成路由表。

Router-Type1-LSA
最基本的LSA,即Type1 LSA。
每台路由器都会发布Type1 LSA,且只发一条。
用于描述设备的链路状态和开销,在路由器所属的区域内传播
直接使用通告路由器的RID作为LS ID--链路状态ID
R2在area0和area1区域会分别发布LSA。
用来描述路由器的所有接口信息
| 命令 | 作用 | 对应 LSA 类型 |
|---|---|---|
display ospf lsdb |
查看所有 LSA 摘要(LSDB 拓扑库) | 全类型汇总 |
display ospf lsdb router |
查看 1 类路由器 LSA | Type1 |
display ospf lsdb network |
查看 2 类网络 LSA | Type2 |
display ospf lsdb summary |
查看 3 类域间汇总 LSA | Type3 |
display ospf lsdb asbr |
查看 4 类 ASBR 汇总 LSA | Type4 |
display ospf lsdb ase |
查看 5 类外部 LSA | Type5 |
display ospf lsdb nssa |
查看 7 类 NSSA 外部 LSA | Type7 |
display ospf lsdb verbose |
查看单条 LSA 完整报文详情(掩码、开销、链路明细) | 指定全部细节 |
display ospf lsdb area 0 verbose |
只看 0 区域全部 LSA 详细信息 | 指定区域 |

LSA头部字段

LS AGE
链路状态的老化时间---最大年龄1800s ---从一条LSA诞生开始计时,之后,在整个网络传播过程中,计时不间断,当一条LSA的老化时间达到1800s时,则将重新发送一条新的 LSA ,新的LSA会替换掉旧的LSA,为了防止周期更新机制异常,ospf设置了最大老化时 间---3600s,如果一条LSA的老化时间达到3600s,则将认为该LSA失效,直接删除
LEN---长度
options---选项
1、E 位(External,第 2 比特)
- E = 置 1 :该路由器处于普通标准区域(非 Stub/NSSA) ,支持外部路由,可以接收、泛洪五类外部 LSA;
- E=0:Stub 区域,不允许外部 LSA。
2、ABR 位(A 比特,Area Border Router)
- ABR = 置 1 :此设备是区域边界路由器 ABR,同时连接 Area1 和骨干 Area0,能够生成三类 Summary-LSA、在不同区域间传递路由;
Seq---序号
指的是设备发出的LSA的序号,指的是每一条的新旧 ,设备在发出同一条LSA 时,将附加一个序号,并且依次加1,用来判断LSA的新旧 ---十六进制
取值范围:0X80000001---0x7FFFFFFE。序列号越大LSA越新
注意:
当一条LSA序号使用到最后的序号时 ,发送时会将该LSA的老化时间设置为3600s,之 后,发送给其他设备,其他设备收到后,先根据序列号进行新旧判断,覆盖本地相同的LSA,
又因为该LSA的老化时间为3600s,则将该LSA删除,之后,发送设备再发送一遍该LSA,里面 的序列号用0x80000001,起到刷新序列号空间的效果
校验和
用来保证数据传输的完整性,也会参与到LSA的新旧判断中
如果收到两条相同的LSA 序号也相同 ,则将比较校验和,优先认为校验和数值大的为新。
序列号和校验和一样时比较Age。
如果校验和也相同
LSA的Age为MaxAge,则该LSA更"新"
如果LSA间Age差值超过15min,则Age小的LSA更加新
差值在15min内,则两则同样新,只保留先收到的。
AR2接口0/0/0的LSA报文

LSA头部字段

1.LSA类型
Router-LSA
2.链路状态ID
在Router-LSA中代表始发该LSA设备的Router-id,这里即R2自己的。
3.通告路由器
这里是R2 的Router-id
LSA信息字段

Link---用来描述接口连接情况的参数,一个接口可以由多条link进行描述
通过每一条Link可以画出整个拓扑
用于将自己连接的所有链路状态以及开销告诉给LSA泛洪区域内的其他路由器。

链路类型Type为Transit,
DR接口的IP地址(ID)12.0.0.2,
和网络相连得通告路由器接口得IP地址是12.0.0.2(Data),
到达该网络得开销值是(Metric)1.
开销值计算:参考带宽(100)/真实带宽(1000)千兆口=0.1<1 ,向上取整为1.大于1向下取整
收到该LSA得路由器根据这些链路状态描述信息生成拓扑。
链路类型(Type)
有四种类型,ID和Data的值根据Type不同而不同
| 链路类型 | 描述 | Link-ID含义 | Link-Data含义 |
|---|---|---|---|
| Point-to-Point | 点到点链路 | 邻居 Router-ID | 自己接口的IP地址 |
| TransNet (Transit Network) | MA类型链路 | DR 接口 IP | 自己接口IP地址 |
| StubNet | 末梢链路,环回口 | IP网络号 | 网络的IP子网掩码 |
| Virtual | 虚链路 | Vlink对端的ABR的RID | 本地VLINK的IP地址 |
TransNet---如果在一个MA网络中,link的类型为TransNet
StubNet---末梢网络---如果是在末梢网络中,指对端连接的不是路由器,类型为stubnet
Virtual---描述虚链路,如果存在虚链路则会出现这个类型的link描述
Network-Type2-LSA
Type2 -LSA,由DR产生 ,描述本网段的链路状态,在所属区域内传播。
用来补充一类LSA在描述MA网络时缺失的内容,一个MA网络只需要一条2类LSA即 可,使用DR的IP地址作为LS ID
除了一类和二类LSA外,其余的四种LSA携带的均为路由信息,并且,他们都需要通过一类和二 类LSA的验算




Attached Router = 接入该广播网段的所有 OSPF 路由器的 Router-ID 列表,所有在这个 MA 网段建立 Full 邻接的路由器 RID 都会被 DR 写入本字段。


对一类LSA补充,掩码
Network-summary -Type3-LSA
Type3 LSA,由ABR发布
用来描述区域间的路由信息
ABR将Network-summary-LSA发布到一个区域,通告该区域到其他区域的目的地址,实际上是将区域内部的Type1和Type2的信息收集起来并汇总之后扩散出去。
使用通告路由器的目标网络号作为Ls ID ,使用通告者到达目标网段的开销值的累加值作为开销值 ,之后,设备将该路由信息加表时 ,开销值需要用携带的开销值加上自己到达通告者的开销值---所谓的验算过程就是需要通过一类和二类LSA计算 出通告者的位置信息

开销值为ABR到目标网络的最小开销值
R2g0/0/0口

Link State ID 字段代表该LSA所描述网络的网络地址。在该LSA中LSA由Router ID 为22.22.22.22的路由器发布,可以到达34.0.0.0网络,掩码为255.255.255.0。让Area1中的路由器直到该网络里的路径,实现区域间通信。
如果一台ABR设备在与他本身相连的区域内由多条路由可以到达目的地,那么它将只会向骨干区域发送一条网络的汇总LSA,而且这条汇总LSA是多条路由中代价最小的。
Type3 LSA特性
1)边界路由器ABR为区域内每条OSPF各产生一份LSA3并向其他区域通告
2)边界若有多个ABR,则每个ABR都产生LSA3来通告区域间路由,通告Adveritsing Router字段区分。
3)区域间传递的是路由,LSA3是由每个区域的ABR产生,并仅在该区域内泛洪的一种LSA。路由进入其他区域后,再由该区域的ABR产生LSA3继续泛洪
4)OSPF在区域边界上具有矢量性,只有出现在ABR路由表里的路由才会被通告给邻居区域
5)计算路由时,路由器计算自己区域内到ABR的成本加上LSA3传递的区域间成本,得到的是当前路由器到目标网络端到端的成本。
6)如果ABR路由器上路由表中的OSPF路由不再可达,则ABR设备会立即停止产生一份Age为3600s的LSA3向区域内泛洪,用于再区域里撤销该网络。