Generally, a peer-to-peer (or P2P) computer network refers to any network that does not have fixed clients and servers, but a number of peer nodes that function as both clients and servers to the other nodes on the network. This model of network arrangement is contrasted with the client-server model. Any node is able to initiate or complete any supported transaction. Peer nodes may differ in local configuration, processing speed, network bandwidth, and storage quantity. Popular examples of P2P are file sharing-networks.
|Table of contents|
2 Legal controversy
3 Peer-to-peer from a computer science perspective
4 Peer-to-Peer networks/protocols and applications
5 External links
Although the term may technically be applied to any number of networking technologies and applications that use this model (such as the NNTP protocol used for transferring Usenet news), ARPANET, decentralized live chat java applets, or BBS FidoNet , it is most frequently used to refer to file sharing networks such as Gnutella, FastTrack, and the now-defunct Napster which provide facilities for free (and somewhat anonymous) file transfer between personal computers connected to the Internet.
Some networks and channels, such as Napster, OpenNap, or IRC @find, use a client-server structure for some tasks (e.g. searching) and a peer-to-peer structure for others. Networks such as Gnutella or Freenet, use a peer-to-peer structure for all purposes and are referred to as true peer-to-peer networks.
When the term peer-to-peer was used to describe the Napster network, it implied that the peer protocol nature was important, but in reality the great achievement of Napster was the empowerment of the peers (i.e., the fringes of the network). The peer protocol was just a common way to achieve this.
The most commonly shared files on such networks are mp3 files of popular music and DivX movie files. This has led many observers, including most media companies and some peer-to-peer advocates, to conclude that these networks pose grave threats to the business models of established media companies. Consequently, peer-to-peer networks have been targeted by industry trade organizations such as the RIAA and MPAA as a potential threat. The Napster service was shut down by an RIAA lawsuit; both groups the RIAA and MPAA spend large amounts of money attempting to lobby lawmakers for legal restrictions. The most extreme manifestation of these efforts to date (as of January, 2003) has been a bill introduced by California Representative Berman, which would grant copyright holders the legal right to break into computer systems believed to be illegally distributing copyrighted material, and to subvert the operation of peer-to-peer networks. The bill was defeated in committee in 2002, but Rep. Berman has indicated that he will reintroduce it during the 2003 sessions.
As attacks from Media companies expand the networks have seem to adapt at a quick pace and have become technologically more difficult to dismantle. This has caused the users of such systems to become targets. Some have predicted that open networks may give way to closed, encrypted ones where the identity of the sharing party is not known by the requesting party. Other trends towards immunity from media companies seem to be in wireless adhoc networks where each device is connected in a true peer-to-peer sense to those in the immediate vicinity.
Peer-to-peer from a computer science perspective
Technically, a true peer-to-peer application must implement only peering protocols that do not recognize the concepts of "server" and "client". Such pure peer applications and networks are rare. Most networks and applications described as peer-to-peer actually contain or rely on some non-peer elements, such as DNS. Also, real world applications often use multiple protocols and act as client, server, and peer simultaneously, or over time. Completely decentralized networks of peers have been in use for many years, two examples include USENET (1979) and FidoNet (1984).
Sun added objects to the Java language to speed the developement of peer-to-peer applications quickly in the late 1990s so that developers could build decentralized real time chat applets and applications before Instant Messaging networks were popular. This effort is now being continued with the JXTA project.
Peer-to-peer systems and applications have attracted a great deal of attention from computer science research; some prominent research projects include the Chord lookup service, APRANET, the PAST storage utility, and the CoopNet content distribution system (see below for external links related to these projects).
Peer-to-Peer networks/protocols and applications
An earlier generation of peer-to-peer systems were called "metacomputing" or were classed as "middleware". These include: