Protocol and test application for discovering neighbors on the same LAN. Discovery works by broadcasting/multicasting advertisements over a broadcast neighbor capability. When an advertisement capsule is received it is compared against previously seen advertisements before taking one of the following actions:
  1. If it is our own advertisement, it is ignored and immediately dropped.
  2. If it hasn't been seen, any local advertisements attached to the receiving neighbor are rebroadcast to bring the new neighbor up to date. Then it is added to the NodeCache with a user specified expiration time and any external interests are notified.
  3. If it has been seen, the expiration time is refreshed.
Optionally, the protocol can be configured to verify advertisements against a public key. This can ensure that a node doesn't associate with unauthorized neighbors, or, can be used as a simple grouping methodology. For example, groups of nodes on the same LAN can limit associations by using a separate key pair for each group.

In addition to the normal class files, the protocol also carries the protocol.properties file. This is a Java properties file that carries some configuration data and describes the protocol to the webmin interface. Properties that the protocol will pay attention to are as follows:

Note: If you would like to change these in the development environment you need to edit the protocol.properties.in file and rerun make.