P2P アプリケーションでは、アプリケーションを実行するネットワーク上の各コンピュータは、アプリケーションを実行するネットワーク上の他のコンピュータのクライアントまたはサーバとして機能します。 一般的な P2P アプリケーションには、次のものがあります。
- eDonkey
- eMule
- Shareaza
- BitTorrent
- Bitcoin
- LionShare
一部の P2P アプリケーションは Gnutella プロトコルに基づいています。 ユーザは、ハード ディスク上のファイルを他のユーザと共有できます。 図で示されているように、Gnutella 互換のクライアント ソフトウェアを使用すると、ユーザはインターネット経由で Gnutella サービスに接続し、他の Gnutella ピアによって共有されているリソースを検索してアクセスできます。 BearShare、Gnucleus、LimeWire、Morpheus、WinMX、XoloX など、多くのクライアント アプリケーションを使用して Gnutella ネットワークにアクセスできます。
Gnutella Developer Forum では基本的なプロトコルが管理されていますが、アプリケーション ベンダーによってアプリケーションでのプロトコルの動作を向上させるための拡張が行われていることがよくあります。
一般に、P2P アプリケーションは、各ピアで使用できるすべてのファイルを中央データベースに記録しません。 ネットワーク上の各デバイスは、他のデバイスから問い合わせを受けると、使用できるファイルをそのデバイスに伝え、ファイル共有プロトコルおよびサービスを使用して位置特定リソースをサポートします。