二: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包的对比,若一致,则继续保活,若不一致,将重新收敛。
结构突变:
- 新增一个网段 直连新增网段的设备,直接使用更新包告知邻接关系,需要adc确认。
- 断开一个网段 直接断开网络的设备,直接使用更新包告知邻接关系,需要ack确认。
- 无法沟通: 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 宣告必须使用反掩码