二:OSPF的状态机   

Down状态,表示未被激活的状态,一旦本地发出hello包进入下一个状态机。

Init状态,表示初始化状态

Tow-way状态,双向通讯,表示建立了邻居关系  

匹配条件:在点到点的网络类型中直接进入下一个状态机,在MA网络中,将进行DR和BDR的选举;所有非DR/BDR的设备不能进入下一个状态机。

Exstart 状态:预启动状态  使用不携带数据库目录的DD包进行主从选举,RID数值大为主,优先进入下一个状态机。

Exchange 状态 :准交换,携带具体数据库目录信息的DD包进行交换,需要ACK确认。  

Loading 状态:加载  在查看完对端邻居的DD后,使用LSR来查询本地位置的LSA信息,对端使用LSU进行回复,本地还需要使用ACK来确认所接受到的LSU包。

Full状态:  转发  邻接关系的建立

三:ospf的工作过程

启动配置完成后,本地组播224.0.0.5 发送hello包;

Hellow包将携带本地的RID值,及本地已知的所有的RID值;

若接受到来自对端的hello包中,存在本段的RID,那么视为双方认识,邻居关系建立,生成邻居表。

邻居关系建立后,条件匹配,匹配失败将停留于邻居关系,仅发送Hello包保活即可。

若条件匹配成功,则表明可以建立邻接关系。

先使用不携带本地数据库目录的DD包进行主从选举,RID值大者为主,优先共享自己的数据库目录;最后本地在基于对端的DD包来查找本地的LSA信息。

之后使用LSR/LSU/LSack 来获取彼端的LSA信息。

最终生成数据库表(LSDB---链路状态数据库)

之后启用本地的SPF算法,基于本地的LSDB生成有向图,在计算出最短路径树,在基于树形结构,算出本地通往所有位置的最短路径,加载于本地的路由表中,收敛完成后,hello包周期保活。

每30min分钟邻接关系间,在进行DD包的对比,若一致,则继续保活,若不一致,将重新收敛。

结构突变:

  1. 新增一个网段  直连新增网段的设备,直接使用更新包告知邻接关系,需要adc确认。
  2. 断开一个网段   直接断开网络的设备,直接使用更新包告知邻接关系,需要ack确认。
  3. 无法沟通: hello time 10s;dead time 40s , 时间到了就删除邻居关系。

四:ospf的基础配置

  已经宣告 宣告:1.激活  2.传递路由或拓扑 3.区域划分  

[R1]ospf 1  router-id 1.1.1.1   启动协议时,需要定义进程号,仅具有本地意义,建议同时定义rid值,建议使用ip地址,全网唯一,手工配置; 要是不适用手工配置,则会自动配置----优先配置环回最大值,如果没有环回,则选择物理接口最大值。

[R1-ospf-1]area 0  定义区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1  0.0.0.0  宣告一个IP
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255  宣告一个网段

反掩码:掩码反过来   用255.255.255.255-对应网段掩码。

ospf 宣告必须使用反掩码