Одноранговые сети: В сети присутствует некоторое количество машин, при этом каждая может связаться с любой из других. Каждая из этих машин может посылать запросы другим машинам на предоставление каких-либо ресурсов в пределах этой сети и, таким образом, выступать в роли клиента. Будучи сервером, каждая машина должна быть способной обрабатывать запросы от других машин в сети, отсылать то, что было запрошено. Каждая машина также должна выполнять некоторые вспомогательные и административные функции (например, хранить список других известных машин-«соседей» и поддерживать его актуальность).
Любой член данной сети не гарантирует свое присутствие на постоянной основе. Он может появляться и исчезать в любой момент времени. Но при достижении определённого критического размера сети наступает такой момент, что в сети одновременно существует множество серверов с одинаковыми функциями.
Пример такой сети: I2P, Gnutella2.
сеть с использованием отдельного сервера: у такой сети все компьютеры связаны друг с другом через сервер а не напрямую. Для получения какой-либо информации с другого компьютера запрос поступает не на тот компьютер откуда должна быть взята информация а сначала поступает на сервер. Там эта информация обрабатывается, сервер ищет ответ и высылает его обратно.