Insert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereInsert non-formatted text hereA peer-to-peer (or P2P) computer network is any network that does not rely on dedicated servers for communication but instead mostly uses direct connections between clients (peers). A pure peer-to-peer network does not have the notion of clients or servers, but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network.
This model of network arrangement differs from the client-server model where communication is usually relayed by the server. A typical example for a non peer-to-peer communication is email, where the email is transmitted to the server for delivery, transmitted to the destination between servers, and is fetched later by the receiving client. A direct transmission from a client to another client is often impossible. In a peer-to-peer network, any node is able to initiate or complete any supported transaction with any other node. Peer nodes may differ in local configuration, processing speed, network bandwidth, and storage quantity. One of the first uses of the phrase "peer to peer" is in 1984, with the development of the "Advanced Peer to Peer Networking" architecture at IBM.
Different peer-to-peer networks have varying P2P overlays.
Note: The initialism P2P is often confused to refer to Point-to-Point, as used in telecommunications. More correctly, it should be used to refer to Peer-to-Peer connections.
Usage of the term
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, SMTP for mail transactions, 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 original incarnation of 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.
An important aspect in peer-to-peer networks is that the bandwith of all clients can be fully used, so the total bandwidth - and usually the available download bandwith for the average user - grows with the number of nodes, instead of all clients having to share the (limited) bandwidth of the server (so that more clients would mean slower data transfer for all users).
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 peer-to-peer paradigm has been used to deploy publish/subscribe systems, i.e, a system where users subscribe with a continuous query and asychronously receive notifications when matching events take place. One example of such publish subscribe system is P2P-DIET .
Generational classification of peer-to-peer networks
Some people describe peer-to-peer file-sharing networks by their 'generation'. In this context, they are referring only to the popular internet-based file-sharing networks, not earlier research- and business-oriented peer-to-peer systems, which pre-date them.
The first generation of peer-to-peer networks had a centralized file list, like Napster. Courts in the United States ruled that whoever controlled this centralized file list was responsible for any infringement of copyright, or any other illegal activities which might occur.
The second generation of peer-to-peer networks had decentralized file lists, such as Gnutella and FastTrack. This was a necessary step for the creators of the network, as any central body could be held liable for copyright infringement following the Napster court decision. The alternative, which is to monitor all shared content and filter out copyright-protected works, is not considered viable with current technologies.
Also usually included in the second generation are distributed hash table networks and other optimizations of decentralized searching.
The third generation of peer-to-peer networks are improvements upon generations one and two which often have efficiency, reliability, or anonymity features built in. Examples of anonymous networks are Freenet, I2P, GNUnet, Entropy. Friend-to-friend networks rely on each user vouching for other users, and some have restrictions on which nodes can share with others based on established relationships; some of these networks are: MUTE / ANts P2P / Metanet / WASTE.
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. One of the most famous leaks was unreleased Madonna songs including her 2000 hit "Music" prior to its official commercial release.
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 the RIAA and the MPAA spend large amounts of money attempting to lobby lawmakers for legal restrictions. A bill introduced by California Representative Berman, which would have granted 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, was defeated in committee in 2002. However the 'INDUCE Act' currently making its way through Congress could do severe damage to the peer-to-peer community in the United States (and according to its opponents it has implications for just about every piece of technology in modern life).
As attacks from media companies expand, the networks have seemed 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. (See Wireless Mesh Networking)
Anonymous peer-to-peer networks allow for distribution of material - legal or not - with little or no accountability for it. Many people believe this will lead to trading of child pornography and facilitate terrorism, and call for its regulation on those grounds. Others counter that the potential for illegal uses should not prevent the technology from being used for legal purposes, and the presumption of innocence should apply. They may also question the legitimacy of these fears, citing anti-communist and anti-homosexual "scares" of earlier times.
For more information about the various lawsuits surrounding P2P networks, see Respect P2P
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).
Many P2P systems use stronger peers (super-peers, super-nodes) as servers and client-peers are connected in a star like fashion to a single super-peer.
Sun added classes to the Java technology to speed the development 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 , ARPANET, the PAST storage utility , the P-Grid, a self-organized and emerging overlay network and the CoopNet content distribution system (see below for external links related to these projects).
Attacks on Peer-to-peer networks
Many of the peer-to-peer networks are constantly under attack by people with a variety of motives.
The attacks may be classified:
- poisoning attacks (for example providing files whose contents is different to the description)
- denial of service attacks (attacks that may make the network run very slowly or completely break)
- defection attacks (users or software that only make use of the network without contributing resources to the network)
- insertion of viruses to carried data (e.g. downloaded or carried files may be infected with viruses or other malware)
- malware in the peer-to-peer network software itself (e.g. the software may contain spyware)
- filtering (network operators may attempt to prevent peer-to-peer network data from being carried)
- identity attacks (e.g. tracking down the users of the network and harrassing or legally attacking them)
- spamming (e.g. sending unsolicited information across the network- not necessarily as a denial of service attack)
Most attacks can be defeated or controlled by careful design of the peer-to-peer network and through the use of encryption. P2P network defense is in fact closely related to the "Byzantine Generals Problem". However, almost any network will fail when the majority of the peers trying to damage it, and many protocols may be rendered impotent by far fewer numbers.
Networks, protocols and applications
- applications using that network (operating system)
All networks and protocols are in alphabetical order except very similar applications which are listed in one entry with the most important one first, determining the place of this very similar applications in the list.
- Applejuice network
- Applejuice Client
- BitTorrent network
- BirthdayCAKE the reference implementation of CAKE
- Direct Connect network
- eDonkey network
- ed2k (eDonkey 2000 protocol)
- FastTrack protocol
- Entropy (on its own network)
- Gnutella network
- Gnutella2 network
- Joltid PeerEnabler
- Kademlia protocol
- MANOLITO/MP2P network
- Napster network
- WPNP network
- other networks
- ANts P2P
- Ares Galaxy
- Audiogalaxy network
- The Circle
- EarthStation 5 network
- iFolder 
- IRC @find and XDCC, used by IRC clients including: mIRC and Trillian
- Peersites 
- Overnet network
- Solipsis a massively multi-participant virtual world
- SongSpy network
- SquidCam 
- Winny (Japanese)
All sites are ranked via http://zeropaid.com/ to help you find the most popular Peer-to-Peer network. An earlier generation of peer-to-peer systems were called "metacomputing" or were classed as "middleware". These include:
- application (networks/protocols) (operating systems)
- eMule (eDonkey, Kademlia) (Microsoft Windows)
- Epicea (Epicea , BitTorrent, eDonkey, Overnet, FastTrack, Gnutella) (Microsoft Windows)
- GiFT (own OpenFT protocol, and with plugins - FastTrack, eDonkey and Gnutella)
- Gnucleus (Gnutella, Gnutella2) (Microsoft Windows)
- iMesh Light (Fasttrack, eDonkey, Gnutella, Gnutella2) (Microsoft Windows)
- Kazaa (FastTrack, Joltid PeerEnabler ) (Microsoft Windows)
- Kazaa Lite (FastTrack, Joltid PeerEnabler) (Microsoft Windows)
- MindGem (eDonkey, Kademlia)
- MLDonkey (BitTorrent, eDonkey, FastTrack, Gnutella, Gnutella2, Kademlia) (Microsoft Windows, Linux, Mac OS X, Palm OS, Java)
- mlMac (BitTorrent, eDonkey, FastTrack, Gnutella, Gnutella2)
- Morpheus (Gnutella, Gnutella2) (Microsoft Windows)
- Poisoned (FastTrack, Gnutella)
- Shareaza (BitTorrent, eDonkey, Gnutella, Gnutella2) (Microsoft Windows)
- WinMX (Napster, WPNP) (Microsoft Windows)
- XNap (OpenNAP, GiFT, Limewire, Overnet, ICQ, IRC) (Java)
- Zultrax (Gnutella, ZEPP )
- BetBug BetBug is the first P2P network to enable secure financial transactions across an untrusted, anonymous P2P network
- IBM Developer Works: The practice of peer-to-peer computing
- MindGem - Current P2P News with a Special Focus on Legal Aspects of File Sharing (DEAD as of August 26th, 2004)
- bSoftware Peer to peer
- Wired News: Still Plenty of Music Out There - An overview of mostly peer-to-peer software, published Feb. 13, 2001.
- P2P.co.uk - A search engine which searches peer-to-peer networks.
- Slyck - A site giving greatly detailed information and advice on the different P2P networks and software
- Zeropaid.com - The File Sharing Portal - Programs, News, Forums
- The P2P Revolution - A white paper about the future of p2p networking and the entertainment industry. This paper was released just before the RIAA lawsuits against individual p2p users in 2003 and discussed what would happen if such was done. It was correct in its prediction. Time will tell if its other predictions are as accurate.
- A patent on a business method similar to some P2P obfuscation schemes
- wikibooks: P2P File sharing
- Using Linux firewalls to filter Peer-to-peer traffic
Canada's approach to p2p and copyright
- C|net Article entititled "Judge: File Sharing is Legal in Canada." In Spring 2004, file sharing via p2p networks was affirmed as legal in Canada.
- Canadian Private Copying Collective Since 1998, private copying of music for personal use is entirely legal in Canada. A levy was established on blank media sales in order to compensate artists for lost revenue due to file-sharing, and the CPCC was founded to oversee the levy process. The levy was renewed in December 2004.
- Copyright Board of Canada Government copyright policy.
- Copyfight: A Tale of Two Cities Article contrasting Ottawa and Washington, D.C.'s assessment of copyright parameters and the issue of criminal sanctions.
- Digital Rights Management in Canada An advocacy website offering an introduction to digital rights management and links to licensed file sharers.
- Digital Copyright Canada A forum created to host public dialogue concerning digital copyright and related issues. Includes a news aggregate.
- Numbers Don't Crunch Against Downloading Michael Geist, a professor at the University of Ottawa, discusses the financial impact of downloading on the recording industry. This column appeared in the Toronto Star, November 29th 2004.
- p2pnet.net An op-ed urging solidarity between musicians and Canadian consumers.
Computer science research
- Chord lookup service
- PAST distributed storage utility
- CoopNet cooperative content distribution system
- More peer-to-peer research resources
- Advanced Peer-Based Technology Business Models - P2P Industry Model from M.I.T.
- File Sharing Portal
- P2P Networks (history, music, copyright, Napster, GNUtella, YouServe, Freenet, search engines, routing, security)
- P2P Economics
P2P can also stand for Pay-to-play (as in Pay-to-play/P2P games).