P2P
Stands for "Peer to Peer."
A P2P network connects computer systems to each other, over a local network or the internet, without a central server. P2P networks use distributed applications to split tasks between multiple computers. File-sharing networks, video chat clients, and multiplayer gaming commonly use P2P networks to connect computers together.
Each computer or node on a P2P network is an equal peer to the rest. Unlike in the client-server model, every computer in a P2P network acts as both a client and a server. P2P networks are highly scalable since they do not use a central server that would require additional capacity for more clients. Having no central server also means that P2P networks are resilient and difficult to take down.
P2P networks have several common uses:
- File sharing is the most common use, hosting files on many computers spread across a network instead of a single file server.
- Distributed computing (also known as grid computing) delegates processing tasks to any computer on the network, often for scientific applications like modeling molecular structures.
- Video and voice chat applications often use a central server to establish connections, then switch to a P2P network connection to allow two or more computers to send video and audio directly.
- Games often use P2P connections for multiplayer gaming to reduce lag and improve performance.
P2P File Sharing
P2P file-sharing networks like BitTorrent allow a computer to download a file from any other computer sharing the file. They may even download a file from multiple computers simultaneously to maximize available bandwidth. After completing the download, the P2P application makes it available to upload to other computers.
Napster popularized P2P file-sharing in 1999, allowing anyone to share their music library with every other computer on the network. Other file-sharing networks, like Gnutella, allowed users to share more than just music. These networks made music and software piracy easy but were also used to spread malware disguised as music, movies, and software.