「OSPF」- 报文:HELLO

  CREATED BY JENKINSBOT

报文的主要作用:
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 标识;