First you need some of the information from somewhere. You cannot just turn it on and start a conversation without knowing where everything is. You can have one node that is constantly on the network and knows several other nodes. The remaining nodes will know the other nodes, and they will know more, etc. It is debatable whether you will call this static node "server" or not. It can be your friend node or a public IP address. Once you are done, you will no longer need to start the node.
In this type of system, you will need to ask your neighbors if you need any kind of identification other than an IP address. An IP address also has its drawbacks, because you can have two people behind a router on a home DSL connection. A unique identifier will require a recursive query across the entire grid to find out if your identifier is unique.
In this type of system, you will only need to know a limited number of people in order to communicate with anyone, since you can request everyone around you (and the request happens recursively) for that personโs location. An artificial limit on the number of people stored on the local node can be implemented using the Least Recent Used algorithm, such as the processor cache.
source share