链路状态通告

链路状态通告（LSA，英文：) 描述了所有的链路，接口和邻居等链路状态信息，OSPF路由协议对所有路由信息的描述，都是封装在链路状态通告LSA中发送出去的。

LSA的类型包括：

Router LSA
Network LSA
Network Summary LSA
ASBR Summary LSA
External LSA
NSSA External LSA

Router LSA
每一台运行了OSPF的路由器，都会产生一个Router LSA。Router LSA只在Area内部洪泛。（ABR会为每个Area产生一个不同的Router LSA。ABR跨越了几个Area，就会产生多少个Router LSA。） 这是一个Router LSA的动画视频

Router LSA的主要内容是：产生这条Router LSA的路由器连接了几条Link，每条Link的cost是多少。Router LSA的作用：例如，R1在area 0内部，它产生了R1 Router LSA。当Area 0内别的路由器收到R1 Router LSA，就能知道R1连接了哪些Link，并且知道如何到达这些Link，以及到达它们所需要的cost。

Network LSA
Network LSA由DR（Designated Router）产生，它只在Area内部洪泛。Network LSA记录了DR所在的子网有多少台OSPF路由器（必须是与DR建立了Full关系的路由器），以及这些路由器的Router ID。它的作用是让两台DROther（非DR路由器）之间计算路由的时候，把彼此当作“下一站”。 这是一个Network LSA的动画视频

在同一个子网中，可能同时连接了N台OSPF路由器，它们需要同步数据库。如果每两台之间都去建立Full关系，会增加网络以及路由器CPU的额外负担。因此，这N台路由器会选出一个DR，作为代言人。每台路由器都与DR建立Full关系，通过DR同步数据库。

但是，这样做会产生一个问题：例如，R1是DR，R2和R3都不是DR，R2和R3都是通过R1同步数据库。那么，R2计算到达R3的路径时，会把R1作为“下一站”，而不会认为R2-R3是直接连接的；同样，R3计算到达R2的路径，也会把R1作为“下一站”。为了解决这个问题，DR会产生一个Network LSA，它描述：该子网中有N台路由器，并记录下每台路由器的Router ID。当R2收到了这个Network LSA，看见名单中有R3，就会在计算路由时，直接把R3看作“下一站”。

Network Summary LSA
Network Summary LSA由ABR（Area Border Router）产生。它是用来告诉一个Area内部的路由器，如何到达另一个Area内的某条路径。 这是一个Network Summary LSA的动画视频

例如，3台路由器直接连接，拓扑图：R1-R2-R3。R2是一台ABR，R1-R2属于Area 0，R2-R3属于Area 1。R1的Router LSA只在Area 0内部洪泛，因此R3无法知道Link R1-R2。于是R2会产生一个Network Summary LSA来描述Link R1-R2。它在Area 1内部洪泛，当R3收到这条Network Summary LSA，就能知道到达Link R1-R2的路径。

External LSA
External LSA由ASBR（Autonomous System Boundary Router）产生。它是用来通告OSPF AS内部的路由器，如何到达OSPF AS外部的某个地址。External LSA在整个OSPF AS内部洪泛（除了stub area以外）。External LSA是唯一一种跨越Area洪泛的LSA。（External LSA又被称为AS External LSA） 这是一个External LSA的视频

例如：R1-R2-R3直接连接。R1-R2是OSPF路由器，属于Area 0；R3运行RIP。R2作为ASBR，运行了OSPF与RIP。为了让OSPF内部的R1知道Link R2-R3的网络地址，R2会产生一个External LSA，记录了2件事情：1）Link R2-R3的网络地址；2）经过ASBR（R2）能到达Link R2-R3。当R1收到这个External LSA，它会结合R2的Router LSA，计算出到达Link R2-R3的路径。

ASBR Summary LSA
在你了解ASBR Summary LSA之前，你必须先阅读了解External LSA。ASBR Summary LSA由ABR产生。它是用来通告一个Area内部的路由器：如何到达另一个Area内部的ASBR。 这是一个ASBR Summary LSA的视频

例如：4台路由器R1-R2-R3-R4直接连接。R1,R2,R3是OSPF路由器，R4运行RIP。R3作为ASBR，运行了OSPF和RIP。R1-R2属于Area 0，R2-R3属于Area 1。如何让OSPF路由器知道到达R4的路径呢？
R3作为ASBR，产生External LSA，记录了两件事情：1）目的地Link R3-R4的IP地址；2）经过R3（ASBR）可以到达这个目的地址。External LSA会在OSPF AS内部所有的Area（stub area除外）内洪泛。
R3属于Area 1，所以当Area 1内部的路由器收到External LSA，结合R3的Router LSA就知道了如何到达Link R3-R4。
R1是Area 0内部的路由器，它收到External LSA以后仍然不知道如何到达Link R3-R4。因为R1不知道如何到达ASBR（R3）。
R2作为ABR，它知道在Area 1内部有一台ASBR。因此，它会产生一个ASBR Summary LSA，通告Area 0内部的路由器：如何到达Area 1内部的ASBR（R3）。当R1收到这个ASBR Summary LSA，结合External LSA，就知道如何到达Link R3-R4。

NSSA External LSA
NSSA External LSA是由NSSA（Not So Stub Area）内部的ASBR产生的。它是让NSSA内部的路由器，知道如何到达OSPF AS外部的地址。（与AS External LSA的作用相似，但它只在NSSA内部洪泛。）

参考文献

Category:路由