Одноранговое приложение (P2P) позволяет устройству выступать в роли как клиента, так и сервера в пределах одного сеанса связи, как показано на рисунке. В этой модели каждый клиент сопряжен с серверным модулем, а каждый сервер имеет клиентский модуль. Оба из них могут начать сеанс связи и считаются равноправными в процессе обмена данными. Однако для P2P-приложений требуется, чтобы каждое оконечное устройство предоставляло пользовательский интерфейс и запускало сервис в фоновом режиме. P2P-приложение при запуске открывает соответствующий пользовательский интерфейс и запускает фоновые сервисы. После этого устройства могут обмениваться данными напрямую.

В некоторых P2P-приложениях используется гибридная система, где общий доступ к ресурсам децентрализован, а индексы, указывающие на местоположения ресурсов, хранятся в центральном каталоге. В гибридной системе каждый узел обращается к серверу индексации, чтобы получить местоположение ресурса, который хранится на другом узле. Сервер индексации также может помогать узлам подключаться друг к другу, но после установки соединения узлы обмениваются данными без дополнительного обращения к серверу.

P2P-приложения могут использоваться в одноранговых сетях, в сетях модели «клиент-сервер» и в сети Интернет.