A logical distributed server is generated for managing (Internet Protocol
(IP) address allocation for an ad-hoc, self-forming peer-to-peer (P2P)
network. The logical distributed server is generated according to
messaging scheme where nodes on the P2P network allocate addresses for
themselves and for clients connected to them. Each node implements a
server that listens on the incoming client connections. Each node
maintains data structures that represent the current state of an address
database. Routing requests are fielded by the nodes from the clients and
the messaging scheme is used to inform other nodes of its action so a
consistent address space is maintained between all the nodes on the P2P
network.