报文的主要作用:
1)邻居发现:自动发现邻居路由器;
2)邻居建立:完成 Hello 报文中的参数协商,建立邻居关系;
3)邻居保持:通过周期性发送和接收,检测邻居运行状态;
在以太网链路上,路由器通常以组播形式来发送 Hello 报文:
1)224.0.0.5 的组播地址为 OSPF 设备的预留IP组播地址。
2)224.0.0.6 的组播地址为 OSPF DR/BDR 的预留IP组播地址。
3)对于不支持组播的链路,OSPF 支持采用 Unicast 的方式发送 Hello 报文。
OSPF_Header.Type = 1
Open Shortest Path First OSPF Header OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval [sec]: 10 Options: 0x02, (E) External Routing 0... .... = DN: Not set .0.. .... = O: Not set ..0. .... = (DC) Demand Circuits: Not supported ...0 .... = (L) LLS Data block: Not Present .... 0... = (N) NSSA: Not supported .... .0.. = (MC) Multicast: Not capable .... ..1. = (E) External Routing: Capable .... ...0 = (MT) Multi-Topology Routing: No Router Priority: 1 Router Dead Interval [sec]: 40 Designated Router: 10.0.12.2 Backup Designated Router: 10.0.12.3 Active Neighbor: 1.1.1.1 Active Neighbor: 3.3.3.3 Active Neighbor: 4.4.4.4
Network Mask:发送 Hello 报文的接口的网络掩码。某些厂商的设备要求网段相同,否则无法建立邻居关系;
Hello Interval:发送 Hello 报文的时间间隔;在以太网中,为 10s 时间;
Options:
1)E:是否支持外部路由;两端需要同时支持才能建立邻居关系;例如 错误配置导致两端没有同时配置 Stub Area,进而导致该选项不一致而无法建立邻居关系;
2)MC:是否支持转发组播数据包;
3)N/P:是否为 NSSA 区域;
Router Priority:default=1,用于选举 DR(指定路由器),BDR(备份指定路由器)
Router Dead Interval:通常为 Hello Interval * 4 时间;如果该时间未收到 Hello 则认为邻居关系解除,关系进入 Down 状态;
Designated Router:default=0,经过优先级选举之后,该字段才会有值,其为接口地址;
Backup Designated Router:default=0,经过优先级选举之后,才会有值,为接口地址;
Active Neighbor:邻居,以 Router ID 标识;