Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities and either party can initiate a communication session. Unlike the client/server model, in which the client makes a service request and the server fulfills the request, the P2P network model allows each node to function as both a client and server.
P2P systems can be used to provide anonymized routing of network traffic, massive parallel computing environments, distributed storage and other functions. Most P2P programs are focused on media sharing and P2P is therefore often associated with software piracy and copyright violation.
Typically, peer-to-peer applications allow users to control many parameters of operation: how many member connections to seek or allow at one time; whose systems to connect to or avoid; what services to offer; and how many system resources to devote to the network. Some simply connect to some subset of active nodes in the network with little user control, however.
Although uses for the P2P networking topologies have been explored since the days of ARPANET, the advantages of the P2P communications model didn't become obvious to the general public until the late 1990s, when music-sharing P2P applications like Napster appeared. Napster and its successors -- like Gnutella, and more recently, BitTorrent -- cut into music and movie industry profits and changed how people thought about acquiring and consuming media.
System administrators tend to discourage the use of P2P applications. In addition to tying up bandwidth and possibly exposing the administrator's organization legally, P2P applications can be used to bypass firewalls and distribute malware. Networks are often set up to prevent peer-to-peer "side talk" by PCs.