Hello报文
(1)Hello报文的主要作用
①邻居发现:自动发现邻居路由器;
②邻居建立:完成Hello报文中的参数协商,建立邻居关系;
③邻居保持:通过周期性发送和接收,检测邻居运行状态。
(2)Hello报文字段
Network Mask:发送Hello报文的接口的网络掩码;
HelloInterval:发送Hello报文的时间间隔,通常为10s;
RouterDeadInterval:失效时间;若此时间内未收到邻居发来的hello报文,则认为邻居失效,通常为40s;
Neighbor:邻居,以Router ID标识;
Options:E:是否支持外部路由;MC:是否支持转发组播数据包;N/P:是否为NSSA区域;
Router Priority: DR优先级,默认为1;若设置为0,则路由器不能参与DR或BDR的选举;
Designated Router: DR的接口地址;
Backup Designated Router: BDR的接口地址。
邻居关系的建立
(1)DD报文
DD报文字段
I:发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0;
M (More):当发送连续多个报文时,如果这是最后的一个DD报文,则置为0,否则值为1,表示后面还有其他DD报文;
Ms (Master/Slave) :当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master;当值为1时表示发送方为Master;
DD sequence number: DD报文序列号,主从双方利用序列号来保证DD报文传输时的可靠性和完整性;
Interface MUT:指示在不分片的情况下,此接口最大可发出的IP报文长度;两个邻居发送的DD报文中包含MTU参数,若收到的DD报文中MTU和本端的MTU不相等,则丢弃该DD报文;缺省情况下,华为设备未开启MTU检查;
options:字段同Hello报文。
DD报文包含LSA头部信息,包括Ls Type、LS ID、Advertising Router、LS Sequence、LS Sequence Number、LS Checksum。
(2)邻居状态
Exstart:邻居状态变成此状态后,路由器开始向邻居发送DD报文(不包含摘要报文);再次状态下发送的DD报文不包含链路状态描述;
Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文;
Loading:在此状态下,路由器与邻居之间相互发送LSA报文、LSU报文、LSAck报文;
Full:路由器已经完成了邻居的LSDB同步。
DR和BDR
(1)DR的作用
DR(指定路由器)负责在MA网络建立和维护临街关系并负责LSA的同步;
DR与其他所有路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息;为了规避单点故障风险,通过选举BDR(备份指定路由器),在DR失效是快速接管DR的工作。
(2)选举规则
DR/BDR的选举是非抢占的;
DR/BDR的选举是基于接口的;接口的DR优先级越大越优先;接口的DR优先级相等时,RouterID越大越优先。
(3)不同网络类型中DR与BDR的选举规则