Для начала вам понадобится некоторая информация откуда-то. Вы не можете просто включить его и начать общаться, не зная, где все. У вас может быть один узел, который постоянно подключен к сети и знает несколько других узлов. Другие узлы будут знать другие узлы и те будут знать больше, и т.д. Это спорно, будете ли или не вы называете этот статический узел «сервером» или нет. Это может быть просто узел вашего друга или общедоступный IP-адрес. После того, как вы приступите к работе, вам больше не понадобится начальный узел.
В этом типе системы вам нужно будет запросить соседей, если вы хотите какую-то идентификацию помимо IP-адреса. У IP-адреса также есть свои недостатки: у вас может быть два человека за маршрутизатором при домашнем соединении DSL. Для уникальных идентификаторов потребуется рекурсивный запрос по всей сетке, чтобы выяснить, является ли ваш идентификатор уникальным.
В этом типе системы вам нужно знать только ограниченное количество людей, чтобы общаться с кем-либо, поскольку вы можете запросить всех вокруг вас (и запрос происходит рекурсивно) для определения местонахождения этого человека. Искусственный лимит на количество людей, хранящихся на локальном узле, может быть реализован с помощью алгоритма наименьшего количества недавно использованных, вроде кеша ЦП.