Previous

Content

Next 


2.7.- The Hello Protocol

 

Google
OSPF creates adjacencies between neighboring routers for the purpose of exchanging routing information. Not every two neighboring routers will become adjacent.
The Hello Protocol is responsible for establishing and maintaining neighbor relationships. It also ensures that communication between neighbors is bidirectional. Hello packets are sent periodically out all router interfaces. Bidirectional communication is indicated when the router sees itself listed in the neighbor's Hello packet. On broadcast and NBMA networks, the Hello Protocol elects a Designated Router for the network.
On broadcast networks, each router advertises itself by periodically multicasting Hello packets. This allows neighbors to be discovery dynamically. On NBMA networks each router that may potentially become Designated Router has a list of other routers attached to the network. A router, having DR potential, sends Hello packets to all other potential DR when its interface to the NBMA network becomes operational. This is an attempt to find the DR for the network. If the router itself is elected DR, it begins sending Hello packets to all other routers attached to the network. On Point-to-Multipoint (P2MP) networks, a router sends Hello packets to all neighbors with which it can communicate directly. These neighbors may be discovered through Inverse ARP or they may be configured.
After a neighbor has been discovered, bidirectional communication ensured and (on broadcast and NBMA networks) a DR elected, a decision is made regarding whether or not an adjacency should be formed with the neighbor. If an adjacency is formed, the first step is to synchronize the neighbor's link-state databases (LS-databases)..
Synchronization of databases
In a link-state routing protocol, it is very important for all router's LS-databases to stay synchronized. Each router describes its database by sending a sequence of Database Description (DD) packets to its neighbors. Each DD packet describes a set of LSAs belonging to the router's database. When the neighbor sees an LSA that is more recent that its own database copy, it makes a note that this newer LSA should be requested.  

This sending and receiving of DD packets is called the "Database Exchange Process". During this process the two routers form a master/slave relationship. Each DD packet has a sequence number. DD packets sent by the master are acked by the slave through echoing of the sequence number. Each DD packet with the M-bit set, indicates that there are more packets to follow. The Database Exchange Process is over when a router has received and sent a DD packet with the M-bit off.
During and after the Database Exchange Process, each router has a list of those LSAs for which the neighbor has more up-to-date instances. These LSAs are requested in Link State Request (LSR) packets. LSR packets that are not satisfied are retransmitted at fixed intervals of time RxtmInterval. When the Database Exchange Process has been completed and all LSRs have been satisfied, the databases are deemed synchronized and the routers are marked as fully adjacent. At this time the adjacency is fully-functional and is advertised in the two router's router-LSAs.

Previous

Content

Next