OSPF工作过程

路由器之间发现并建立邻居关系。

每台路由器产生并向邻居泛洪链路状态信息,同时收集来自其他路由器链路状态信息,完成LSDB(Link State Database)的同步。

每台路由器基于LSDB通过SPF算法,计算得到一棵以自己为根的SPT(Shortest Path Tree),再以SPT为基础计算去往各目的网络的最优路由,并形成路由表。

OSPF报文

ospf option字段 ospfv3中的option字段_链路

Version :对于当前所使用的OSPFv2(IPV4),该字段的值为2。    IPV6 OSPFv3

Type:OSPF报文类型。

Packet length:表示整个OSPF报文的长度,单位是字节。

Router ID:表示生成此报文的路由器的Router ID。

Area ID:表示此报文需要被通告到的区域。

Checksum:校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部。

Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密(MD5)认证。

Authentication:认证所需的信息。该字段的内容随AuType的值不同而不同。

LSA报文

ospf option字段 ospfv3中的option字段_OSPF_02

LS age:此字段表示LSA已经生存的时间,单位是秒。

LS type:此字段标识了LSA的格式和功能。常用的LSA类型有五种。

Link State ID:此字段是该LSA所描述的那部分链路的标识,例如Router ID等。

Advertising Router:此字段是产生此LSA的路由器的Router ID。

LS sequence number:此字段用于检测旧的和重复的LSA。

LS type,Link State ID和Advertising Router的组合共同标识一条LSA。

LSDB中除了自己生成的LSA,另一部分是从邻居路由器接收的。邻居路由器之间相互更新LSA必然需要一个“通道”。

LSA分类 

1类  Router LSA          每台域内路由器只会收到各自区域内的所有1类LSA  ABR会有其连接的区域的

每一台路由器都会产生 1 类 LSA 通告。这个最基本的 LSA 通告列出了路由器所有的链路或接口,并指明了它们的状态和沿每条链路方向出站的代价,以及该链路上所有已知的 OSPF 邻居;另外,1 类 LSA 同时也指出了路由器是不是 ABR 或 ASBR 。这些 LSA 通告只会在始发它们的区域内部进行泛洪扩散

2类  Network LSA       每台路由器收到的数量与1类LSA类似

是 DR 为区域中每个中转的广播网络或 NBMA 网络生成的。中转网络至少与两台 OSPF 路由器直接相连,诸如以太网等多路访问网络就属于中转网络。2 类 LSA 列出了构成中转网络的所有路由器(包括 DR 本身)和链路的子网掩码。中转链路的 DR 负责通告 2 类 LSA ,2 类 LSA 随后被扩散到区域内所有的路由器,2 类 LSA 不会跨越区域边界进行传播

3类  Network  summary  LSA     

由 ABR 生成,它将一个区域内的网络通告给 OSPF 自治系统中的其他区域( 1 类和 2 类 LSA 是被限制在区域内的)。ABR 从区域内的其他路由器那里收到 1 类 LSA 后,向外发送 3 类 LSA ,以便将通过 1 类 LSA 获悉的网络通告给其他区域。1 类 LSA 只在一个区域内扩散,但 ABR 重新生成 3 类 LSA 以便将其扩散到其他区域。

4类  ASBR  summary  LSA

仅当区域中有 ASBR 时,ABR 才会生成 4 类 LSA 。4 类 LSA 标识 ASBR ,并提供一条前往该 ASBR 的路由。前往外部自治系统的数据流要求路由表包含有关通告外部路由的 ASBR 的信息。链路状态 ID 被设置为 ASBR 的路由器 ID 。使用命令 dispaly ospf lsdb asbr-summary 可以查看 ASBR 汇总 LSA 的信息。这里要注意的是,其中目的地是一个主机地址,并且掩码是 0(通过ASBR 汇总 LSA 通告的目的地将总是一个主机地址,因为它是一条到达一台路由器的路由)。

5类  Autonomous  system  external  LSA

描述了前往 OSPF 自治系统外的网络的路由(也包括 OSPF 自治系统外部的缺省路由),它由 ASBR 发送并被扩散到整个 AS。5 类 LSA 是链路状态数据库中唯一不与具体的区域相关联的 LSA 通告(即自治系统外部路由不属于某个 Area ,是独立的  不同协议)。

6类  Group  menbership  LSA

是用在 OSPF 协议的一个增强版本 ―― 组播 OSPF 协议( MOSPF 协议)中的。MOSPF 协议将数据包从一个单一的源地址转发到多个目的地,或者是一组共享 D 类组播地址的成员。

7类  NSSA  External  LSA

是指在非纯末梢区域( Not-So-Stubby Area ,NSSA )内始发于 ASBR 路由器的 LSA 通告。NSSA 外部 LSA 通告几乎和 5 类 LSA 通告是相同的。只是不像 5 类 LSA 通告那样在整个 OSPF 自治系统内进行泛洪扩散,NSSA 外部 LSA 通告仅仅在始发这个 NSSA 外部 LSA 通告的非纯末梢区域内部进行泛洪扩散。