(1)基本信息
范围:IGP
设计原理:LS(链路状态)
无类(掩码可以是任意长度)
封装:封装在IP报文中,协议号89
组播地址:224.0.0.5(其它的路由器监听),224.0.0.6(DR、BDR监听)
邻居表、拓扑表(包括所有的路由信息和完整的拓扑结构信息)、路由表
链路状态协议的结构一般都要:划分区域(对路由进行“域间汇总”)--按照接口来划分区域。
路由器分为:骨干路由器,区域边界路由器(ABR),域内路由器
(2)邻居关系建立
邻居关系:交互hello包(没交互路由信息);邻接关系:不仅交互hello包,还交互LSA信息。
P-to-P(P2P)连接的路由器的所有邻居关系会变成fully邻接;而在MA连接中,为了减少链路中LSA信息的传输,会首先选出DR(指定路由器—班长)和BDR(备份指定路由器—副班长),其它路由器和DR、BDR之间可以传输LSA信息以建立邻接关系,其它路由器之间只能建立邻居关系。
建立邻居关系的hello包以下信息必须一致:(1)hello和dead时间间隔,(2)区域ID,(3)认证密钥,(4)stub区域标识。
OSPF的报文类型:hello、DB摘要(DBD--节约带宽)、LS请求(LSR)、LS更新(LSU)、LS确认(LS ack)。路由器之间建立邻居关系后,会首先发送LSDB摘要,其它路由器收到摘要后会查看缺的路由条目,然后会发送LSR,相应路由器会发送LSU应答,收到路由条目的路由器会发送LS确认信息(可靠机制)。
路由器从初始到建立邻接关系的整个过程需要经过几个状态:a、initial—发送hello报文;b、2way—收到包含自己routerID的hello报文(如果是P2P连接,则直接进入下一阶段,如果是MA连接,则先选出DR和BDR);c、Exstart—通过first DBD报文确定主从关系(发送DBD的先后顺序);d、Exchange—DBD信息交互;e、Loading—LSR、LSU;f、full状态。
(3)路由计算
一个区域内的每个路由器有相同的LSDB(所有的路由信息和拓扑),但是每个路由器会以自己为根计算最短路径,形成路由表。
LSA(类似于路由条目)更新有增量更新和周期更新,OSPF采用了这两种方式,但是周期更新的时间较长(30分钟),如果在60分钟之内还是没有收到更新则删除路由条目。
收到路由条目后,如何判断是否是最新的?根据序列号—序列号越大,LSA越有效。
(4)router ID的选举方式:a、手工指定(任意、唯一);b、lookback口中最大的IP地址;c、物理接口中最大的IP地址。
DR的选举方式:a、较大的priority(default=1);b、较大的router ID。
DR的特点:
- 不抢占(在DR、BDR确定后,网络拓扑不发生时,改变路由器的优先级不会改变DR、BDR的情况,这种设置对网络稳定性有好处)
- 当DR down后,BDR升为DR,然后重新选举BDR。
- DR/BDR/DR OTHER是接口概念。
- 不同网段分别选取DR、BDR。