开放最短路径优先(Open Shortest Path First) 。
为了克服RIP缺点而生。
算法: 最短路径算法SPF。
分布式的链路状态协议(Link state protocol)。
使用IP数据报传送。
IP协议字段值为89 。

OSPF使用组播 作为发送OSPF数据包目的地址 ospf使用分组来保持_数据库

各字段意义:
1 版本 当前版本是2
2 类型 可以是五种类型分组中的一种
3 分组长度 包括ospf 首部在内的分组长度,以字节为单位
4 路由器标志符 标志发送该分组的路由器的接口的IP地址
5 区域标识符 分组属于的区域的标识符
6 检验和 用来检验分组中的差错
7 鉴别类型 目前中有两种。0(不用)1 (口令)
8 鉴别 鉴别类型为0时就填入0。鉴别类型为1时,就填入8个字符的口令

与RIP的不同
1.向所有路由器发送路由信息。使用洪泛法(flooding)。
2. 发送的信息就是与本路由器相邻的所有路由器的链路状态。所谓链路状态说明本路由器和哪些路由器相邻,以及该链路的“度量”(metric)。OSPF将这个度量用来表示费用、距离、时延、带宽。代价。
3.只有当链路状态发生改变时,路由器才向所有路由器用洪泛法发送信息。

所有路由器都能建立一个链路状态数据库。全网一致的全网的拓扑结构图。
更新过程收敛快。
OSPF使用区域最好不要超200.

OSPF特点:
1.OSPF可由管理员指派代价,1-65535
2. 如果到一个目的网络由多条相同代价的路径,那么可以将通信量分配给这几条的路径。实现负载均衡。
3. 交换的分组都具有鉴别功能。
4. OSPF支持可变长度的子网划分和无分类的编址CIDR。
5. 每个链路状态都有一个更新序列号32位。越大越新。

五种分组:
1.问候分组: 发现和维持邻站的可达性
2. 数据库描述分组 :给邻居自己的链路状态库中的所有链路的摘要信息。
3. 链路状态请求分组: 请求对方发送某些链路状态项目的详细信息。
4. 链路状态更新分组: 泛洪法。更新全网链路状态。
5. 链路状态确认分组: 对链路更新分组的确认。

OSPF 两个相邻路由器每隔10S交换一次问候分组。
若40S内没有收到某个相邻路由器发来的问候分组,则可认为相邻路由器是不可达的,应立即修改链路状态数据库。并重新计算路由表。

基本操作:
启动OSPF的借口发送hello分组。协商hello 包里的参数,匹配后成邻居,测试先协商area ID ,再协商hello Interval .
建立邻接关系仍通过hello 包维护邻接关系。邻居之间发送LSA Link state advertisement
LSA描述路由器链路、借口、路由器的邻居、链路状态。
每台路由器收到LSA都会记录到数据库中,并发送一份拷贝给所有邻居。
整个区域里的路由器都形成同样的链路状态数据库。
数据库相同时,每台路由器以自己为根,使用SPF计算环路拓扑图。
每台路由器从这个拓扑图构建出自己的路由表。
每隔30分钟,重传一次所有LSA。