9.5. Sending Hello packets
Hello packets are sent out each functioning router interface.
They are used to discover and maintain neighbor
relationships.[6] On multi-access networks, Hello Packets are
also used to elect the Designated Router and Backup Designated
Router, and in that way determine what adjacencies should be
formed.
The format of an Hello packet is detailed in Section A.3.2. The
Hello Packet contains the router's Router Priority (used in
choosing the Designated Router), and the interval between Hello
Packets sent out the interface (HelloInterval). The Hello
Packet also indicates how often a neighbor must be heard from to
remain active (RouterDeadInterval). Both HelloInterval and
RouterDeadInterval must be the same for all routers attached to
a common network. The Hello packet also contains the IP address
mask of the attached network (Network Mask). On unnumbered
point-to-point networks and on virtual links this field should
be set to 0.0.0.0.
The Hello packet's Options field describes the router's optional
OSPF capabilities. There are currently two optional
capabilities defined (see Sections 4.5 and A.2). The T-bit of
the Options field should be set if the router is capable of
calculating separate routes for each IP TOS. The E-bit should
be set if and only if the attached area is capable of processing
AS external advertisements (i.e., it is not a stub area). If
the E-bit is set incorrectly the neighboring routers will refuse
to accept the Hello Packet (see Section 10.5). The rest of the
Hello Packet's Options field should be set to zero.
In order to ensure two-way communication between adjacent
routers, the Hello packet contains the list of all routers from
which Hello Packets have been seen recently. The Hello packet
also contains the router's current choice for Designated Router
and Backup Designated Router. A value of 0.0.0.0 in these
fields means that one has not yet been selected.
On broadcast networks and physical point-to-point networks,
Hello packets are sent every HelloInterval seconds to the IP
multicast address AllSPFRouters. On virtual links, Hello
packets are sent as unicasts (addressed directly to the other
end of the virtual link) every HelloInterval seconds. On non-
broadcast networks, the sending of Hello packets is more
complicated. This will be covered in the next section.