OSPF:开放式最短路径优先协议
无类别链路状态路由协议,组播更新224.0.0.5/6;
跨层封装到三层,协议号89;
基于拓扑工作,故更新量大,需要结构化部署:区域划分、地址规划、触发更新、每30min周期更新

三表五包七状态

邻居表:记录直连邻居的信息(display ospf peer) 拓扑表:记录整个拓扑的链路状态信息(display ospf lsdb) 路由表:存放最优的路径信息(display ip routing-table protocol ospf) OSPF的五种数据包类型 Hello:用于邻居、邻接 发现、建立、保活;hello time 默认10s或30s DBD:数据库描述包 LSR:链路状态请求 LSU:链路状态更新 LSACK:链路状态确认 OSPF的七种状态机 Down:一旦本地发出hello包进入下一个状态 Init:初始化 收到的hello包若存在本地的RID进入下一个状态 2way:双向通讯,邻居关系建立的标志;

条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;

Exstart:预启动,使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态 Exchange:准交换,使用真正的DBD进行数据库目录的共享,需要使用ACK确认 Loading:加载,使用LSR/LSU/LSACK来获取未知的LSA信息; Full:转发邻接关系建立的标志

OSPF工作过程
  1. 启动配置完成后,本地收发hello包,建立邻居关系,生成邻居表;
  2. 再进行条件的匹配,匹配失败将停留于邻居关系,仅hello包保活即可;
  3. 匹配成功者之间建立邻接关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,生成数据表–LSDB;
  4. LSDB建立完成后,本地基于OSPF选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中,完成收敛。
  5. 收敛完成后–hello包周期保活–30分钟周期的BDB比对,若不一致将会使用LSR/LSU/LSack重新获取。
LSA

类别

名称

传播范围

通告者

携带的信息

1类

Router LSA

本区域内

本区域的每台路由器

该区域内每台直连设备的直连拓扑

2类

Network LSA

本区域内

该网段的DR

该网段的拓扑

3类

Summary LSA

整个OSPF域

ABR

域间路由

4类

Summary ASBR LSA

除ASBR所在区域外的整个OSPF域

ABR

ASBR的位置

5类

Autonomous System External LSA

整个OSPF域

ASBR

域外路由信息

7类

NSSA External LSA

ASBR

特殊区域

不能是骨干区域,不能存在虚链路;

两种情况:

  1. 同时不存在ASBR
    (i)末梢区域—该区域拒绝4/5的LSA进入;由该区域连接骨干区域的ABR设备,向区域内发送一条3类的缺省路由;
    (ii)完全末梢区域,在末梢区域的基础上进一步拒绝3类的LSA;仅保留一条3类的缺省路由;先将该区域配置为末梢区域,然后仅在ABR上定义完全末梢即可。
  2. 同时存在ASBR
    (i)NSSA 非完全末梢区域—拒绝非本区域内部产生4/5LSA,本区域ASBR产生的5类将通过7类LSA传输,到达ABR处进入骨干区域时,由7类转换回5类;在cisco设备中为了避免环路的出现,OSPF协议在NSSA区域配置完成后,不会自动产生缺省路由;而是由管理员在缺省网络无环的前提下,手工添加;在华为的设备中让由该区域连接骨干0的ABR自动下发一下7类缺省;
    (ii)完全NSSA – 完全的非完全末梢区域;在普通NSSA的基础上,近一步拒绝3类的LSA,由ABR产生一条3类缺省,先将该区域配置为普通的NSSA,然后仅在ABR上定义完全NSSA即可。
网络接口类型
  1. P2P(串行HDLC/PPP/GRE):point_to_point ——hello time 10s,自动建邻,不选举DR/BDR;
  2. BMA(以太网):broadcast —— hello time 10s ,自动建邻,选DR/BDR;
  3. NBMA(MGRE,帧中继):point-to-multicast,hello time 30s 自动建邻,不选DR/BDR;
选路规则
  1. AD(管理距离)无关的一种情况:
    一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;(关注IOS版本,有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;)
  2. AD(管理距离)无关的第二种情况:
    (i)O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;
    (ii)若一条通过骨干区域传递,另一条同过非骨干区域传递–非骨干传递的路由无效
    (iii)OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;
  3. OE 与OE E为5类 N 为7类:
    (i)默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量;
    (ii)两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)
    (iii)两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;
    (iiii)OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改或使得总度量产生区别才能干涉选路;

拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得 内部优于外部 3类优于4/5/7类 类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2; E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类