What is a Peer-to-Peer (P2P) network and how does it differ from client-server?
In P2P, peers share resources directly with no dedicated server — each peer acts as both client and server, with roles decided per request, unlike the fixed roles in client-server.
Peer-to-Peer (P2P) Network:
A network where two or more computers are connected and can share resources without a dedicated server.
Key characteristics:
- Every connected device (peer) can function as both a server and a client
- Roles are set on a per-request basis
- One computer might serve files while simultaneously being a client for another service
P2P Applications require:
- A user interface
- A background service running on each device
Example - Hybrid P2P: Some P2P applications use an index server where peers look up the location of resources stored on other peers, then connect directly to download.
Common P2P Applications:
- BitTorrent
- Direct Connect
- eDonkey
- Freenet
- Gnutella (LimeWire)
Key insight: Many P2P applications allow users to share pieces of files with multiple peers simultaneously - this is BitTorrent technology.
Go deeper:
Peer-to-peer (Wikipedia) — how peers share resources directly without a dedicated server.