Many wireless networking mechanisms, notably routing, require that wireless nodes be aware of their neighborhood. This means that the nodes must know which other nodes they can communicate with directly. The procedure used to acquire this knowledge is called neighbor discovery.
In wired networks, neighbor discovery is a simple issue, because neighbor relationships do not change often, and hence routers can be pre-configured with the list of their wired neighbors. In contrast, in mobile wireless networks, the neighbor relationships change dynamically, which makes neighbor discovery an important mechanism. It is particularly important in the upcoming wireless networks that we described in Chapter 2.
Neighbor discovery can be achieved through simple protocols, where a node that wants to determine who its neighbors are broadcasts a neighbor discovery request, and every node that receives this request responds with a neighbor discovery reply. Receiving a reply means that the requesting node and the responding node can hear each other's transmission. In other words, they can communicate with each other directly, and hence they should consider each other as neighbors. The neighbor discovery protocol is sometimes called “hello protocol,” and the request and the reply are called “hello messages.”
An adversary can try to thwart the successful execution of the neighbor discovery protocol, for instance, by jamming the communication between two nodes. In this way, the adversary achieves that two nodes, which otherwise could communicate directly, cannot establish a neighbor relationship.