What Are Peer-to-Peer Networks?
A P2P network connects roughly equivalent computers on a roughly equal basis without the mediation of a different computer. P2P differs from client/server networks where many computers connect to a single larger server that directs the communication within the network. Computers in a peer-to-peer network are typically situated physically near each other and run similar networking protocols and software. Before home networking became popular, only small businesses and schools built peer-to-peer networks.
Home Peer-to-Peer Networks
Most home computer networks today are peer-to-peer networks. Residential users configure their computers in peer workgroups to allow sharing of files, printers, and other resources equally among all devices. Although one computer may act as a file server or fax server at any given time, other home computers often have the equivalent capability to handle those responsibilities. Both wired and wireless home networks qualify as peer-to-peer environments. A router joins the home network to the internet; it does not change how resources within the network are shared.
P2P File Sharing Networks
When most people hear the term P2P, they think of peer-to-peer file sharing over the internet. P2P file-sharing systems like Napster became the most popular type of internet application in the first decade of this century. A P2P network implements search and data transfer protocols above the Internet Protocol. To access a P2P network, download and install a suitable P2P client application. Some P2P applications work only with one P2P network, while others operate cross-network. Likewise, some P2P networks support only one application, while others support multiple applications.
What Are P2P Software Applications?
A good definition of P2P software was proposed by Dave Winer of UserLand Software many years ago when P2P was first becoming mainstream. He suggests that P2P software applications include these seven key characteristics:
The user interface runs outside of a web browser. Computers in the system can act as both clients and servers. The software is easy to use and well integrated. The application includes tools to support users wanting to create content or add functionality. The application makes connections with other users. The application does something new or exciting. The software supports cross-network protocols like SOAP or XML-RPC.
In this modern view of peer-to-peer computing, P2P networks stretch across the internet, not just a home local area network (LAN). Easy-to-use P2P software applications allow both tech professionals and non-technical people to participate.
Kazaa, Napster, and More P2P Software Applications
The original MP3 file-sharing system, Napster became the world’s most popular internet software application almost overnight. Napster typified the new modern P2P system defined above: a simple user interface running outside of the browser supporting both file serving and downloads. Furthermore, Napster offered chat rooms to connect its millions of users and performed a new and exciting service. The name Napster referred both to the P2P network and the file-sharing client that it supported. Besides being limited to a single client application, Napster employed a proprietary network protocol, but these technical details did not materially affect its popularity. When the original unregulated Napster service was shut down, several P2P systems competed for that audience. Most Napster users migrated to the Kazaa and Kazaa Lite software applications and the FastTrack network. FastTrack grew to become even larger than the original Napster network.
Popular P2P Applications and Networks
No one P2P application or network enjoys exclusive dominance today. Popular P2P networks include eDonkey, BitTorrent, Gnutella, and eMule.