【1】ospf的5种数据包:
Hello 邻居的发现,关系的建立;周期(10s)的保活 携带rid
Dbd 数据库描述包;本地数据库目录
Lsr 链路状态请求
Lsu 链路状态更新
Lsack 链路状态确认
Lsa -链路状态,具体一条一条路由信息或拓扑信息;但它不是一个包,是被lsu数据包来携带;
【2】Ospf的7个状态机:
Down :一旦接收到的hello 包,进入下一个状态机
Init 初始化: 一旦接收到的hello包中,存在本地的rid,进入下一个状态
2way 双向通讯: 邻居关系建立的标志
关注条件:
Exstart 预启动: 使用不携带目录信息的DBD包,进行主从关系的选举;rid大为主,优先进入下一个状态;解决了目录共享时的无序;
Exchange 准交换:使用携带目标信息的dbd包,共享本地数据库目录;
loading加载:查看完邻接的dbd信息后,对比本地,然后基于本地未知的lsa进行查询;
使用lsr 向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要
lsack来进去确认;
Full :邻接关系建立的标志; 意味着邻接间,数据库同步(一致)
ospf的工作过程
启动配置完成后,邻居间开始收发hello包;hello包中将携带本地及本地所有已知邻居的rid;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅hello包周期保活即可;
若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;
之后本地基于lsdb,使用spf算法,生成有向图—>最短路径树——>计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;
收敛完成后,邻居和邻接关系间均hello每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;
结构突变:
lsdb:链路状态数据库 – 所有lsa的集合
IGP的分类:
【1】基于工作特点进行分类:
DV 距离矢量 RIP EIGRP ......
LS 链路状态 OSPF ISIS ......
【2】基于更新时是否携带子网掩码
有类别 -- 不携带子网掩码,按主类定义子网掩码
无类别 -- 携带子网掩码,基于实际掩码来判断网段
RIP:路由信息协议 距离矢量协议
存在V1/V2/NG(下一代IPV6专用)
基于UDP520端口工作;使用跳数作为度量;更新方式:30s周期更新、触发更新
周期更新--保活 取代确认 优先级100;支持等开销负载均衡;
V1和V2的区别: