| A peer-to-peer (or P2P) computer network is a network that relies on
computing power at the edges (ends) of a connection rather than in the network itself. It's one of the key technical concepts of
the internet, described in the first internet RFC,
"RFC 1, Host Software" [1] (http://www.ietf.org/rfc/rfc1.txt) dated
7 April 1969. More recently the concept has
achieved wide prominence among the general public in the context of the absence of central indexing servers in architectures used for exchanging multimedia files.
One example of a peer-to-peer system is email sending and integrity checking. A typical email is prepared by the sender,
passes through many network switches, routers and mail hubs and then arrives at the recipient's email client. One approach to
ensuring the integrity of the email would be to have every connection along the route understand the email protocol and verify
the integrity of the email at each step. Changing the email system, perhaps to add support for HTML emails, audio or video, would
require changing all of the network equipment between each sender and recipient, a massive task. Instead, the intelligence to
verify the integrity of the email is placed at each edge of the exchange, in the sending and receiving email systems. If the
email is damaged, the receiving system notices and informs the sender, who can retransmit the email.
Networking technologies and applications which use this model include the NNTP protocol
used for transferring Usenet news, SMTP for mail
transactions, ARPANET, decentralized live chat Java applets or BBS FidoNet. Indeed, almost all models used with the internet are peer to peer at the network
levels.
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.
The peer-to-peer paradigm has been used to deploy publish/subscribe systems (i.e, a system where users subscribe via the
creation of a persistent query and asynchronously receive notifications when matching events take place). An example of such
publish/subscribe system is P2P-DIET.
File sharing networks such as Gnutella, FastTrack, and the original incarnation of Napster provide facilities for free (and somewhat anonymous) file transfer between personal computers connected to the Internet.
A pure peer-to-peer file transfer 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 to and from a central server. A typical example for a non
peer-to-peer file transfer is an FTP server. One user uploads a file to the FTP server, then
many others download it, with no need for the uploader and downloader to be connected at the same time.
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 sometimes referred to as true peer-to-peer networks, though Gnutella at least is greatly
facilitated by directory servers which inform peers of the network addresses of other peers.
An important goal in peer-to-peer networks is that the bandwidth of all clients can be used, so the total bandwidth - and
usually the available download bandwidth for the average user - grows with the number of nodes, instead of all clients having to
share the bandwidth of one server, where adding more clients could 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) in association with a central index
which made it fast and efficient to locate available content. The peer protocol was just a common way to achieve this.
While much media attention has focussed on copyright infringing uses of file trading networks there are a vast number of
entirely non-infringing uses. BitTorrent was originally designed with the idea
to keep sites from getting overwhelmed by "flash crowds" and heavy traffic. That makes it very suitable for many situations where
there are massive peaks of demand. Most Linux distributions are
released via BitTorrent to help with their bandwidth needs. Another example is Blizzard Entertainment (http://www.blizzard.com), which uses a modified version of BitTorrent to distribute patches
to its game World of
Warcraft (http://www.worldofwarcraft.com) (often complained about due to a
bandwidth cap which almost defeats its purpose).
There are other peer-to-peer networks in development too, such as PeerCast which
allows someone to broadcast an Internet radio or TV station with very little upstream bandwidth due to its distributed nature.
Other peer-to-peer broadcast tools, sometime called Peercasting, include the
IceShare project, and FreeCast (http://www.freecast.org).
Generational classification of peer-to-peer file sharing 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.
First generation
The first generation of peer-to-peer file sharing networks had a centralized file list, like Napster. Courts in the United States ruled that whoever
controlled this centralized file list containing works being infringed was responsible for any infringement of copyright. Ultimately, Napster was held liable even if it used the most advanced
technology available to identify works copyright holders had asked it to block, because no technology which can identify works
with 100% certainty exists or can exist. This effectively forced the company out of business.
Second generation
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.
Also usually included in the second generation are distributed hash table networks and other optimizations of decentralized searching.
Third generation
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 only allow already known users (aka
"friends") to connect to your computer, then each node can
forward requests and files anonymously between its own "friends" nodes; some of these networks are: MUTE / Napshare / ANts P2P
/ WASTE.
Legal controversy
The files shared on such networks are often popular music files in MP3 format, and popular
movies in MPEG-4 format. 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 established distribution model for
copyrighted multimedia works. 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 the representatives of those artists and organizations who license
their creative works, including 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 the enforcement of existing laws.
As actions to defend artists' rights by 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, because while
the underlying technology may be legal, the abuse of it by individuals redistributing content in a copyright infringing way is
clearly not.
Anonymous peer-to-peer networks allow for
distribution of material - legal or not - with little or no legal accountability. 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 that the presumption of innocence should apply.
Computer science perspective
Technically, a completely pure 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 project, 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 peer-to-peer networks are under constant attack by people with a variety of motives.
Examples include:
- poisoning attacks (providing files whose contents are different than the description)
- denial of service attacks (attacks that may make the network run very slowly or break completely)
- defection attacks (users or software that make use of the network without contributing resources to it)
- 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 are trying to damage it, and many
protocols may be rendered impotent by far fewer numbers.
Networks, protocols and applications
Format:
- network/protocol
- 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.
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:
Multi-network applications
Format:
- 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)
External links
- BetBug (http://www.BetBug.com) BetBug was the first P2P network to enable secure financial
transactions across an untrusted, anonymous P2P network
- The File Sharing Portal (http://filesharing.bz/) - Programs, News, Forums
- myBittorrent (http://www.myBittorrent.com) myBittorrent is the biggest BitTorrent site offering everything
you need for the Torrent P2P network
- IBM Developer Works: The practice of peer-to-peer
computing (http://www-106.ibm.com/developerworks/java/library/j-p2pcol.html)
- MindGem (http://www.mindgem.com/experience/article-topic-7.html) - Current P2P News with a Special
Focus on Legal Aspects of File Sharing (DEAD as of August 26th, 2004)
- OpenP2P (http://www.openp2p.com/)
- bSoftware Peer to peer (http://www.bsoftware.com/)
- http://best2p.com/ The File Sharing Forum]
- Wired News: Still Plenty of Music Out There (http://www.wired.com/news/business/0,1367,41775,00.html) - An overview of mostly peer-to-peer
software, published Feb. 13, 2001.
- P2P.co.uk (http://www.p2p.co.uk/) - A search engine which searches peer-to-peer networks.
- Slyck (http://www.slyck.com/)- A site giving greatly detailed information and advice on the
different P2P networks and software
- The File Sharing News (http://www.p2pinfo.net/)
- Zeropaid.com (http://www.zeropaid.com/) - The File Sharing Portal - Programs, News, Forums
- The P2P Revolution (http://www.scottjensenshow.com/P2PRevolution.pdf) - 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.
- wikibooks: P2P File
sharing
- Using Linux firewalls to filter
Peer-to-peer traffic (http://www.lowth.com/p2pwall)
- CyberTelly.com (http://www.cybertelly.com/) - Web site with information about ByteTornado
Canada's approach to p2p and copyright
- C|net (http://news.com.com/2100-1027_3-5182641.html) 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 (http://www.cpcc.ca/english/index.htm) 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 (http://www.cb-cda.gc.ca/news/c20032004fs-e.html) Government copyright policy.
-
Copyfight: A Tale of Two Cities (http://www.lexinformatica.org/modules.php?op=modload&name=News&file=article&sid=33&mode=thread&order=0&thold=0)
Article contrasting Ottawa and Washington, D.C.'s assessment of copyright parameters and the issue of criminal sanctions.
- Digital Rights Management in Canada (http://www.info-mech.com/drm_in_canada.html) An advocacy website offering an introduction to
digital rights management and links to licensed file sharers.
- Digital Copyright
Canada (http://www.digital-copyright.ca/) A forum created to host public
dialogue concerning digital copyright and related issues. Includes a news aggregate.
- Numbers Don't Crunch Against Downloading (http://www.michaelgeist.ca/resc/html_bkup/nov292004.html) 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 (http://p2pnet.net/story/3122) An op-ed urging solidarity between musicians and Canadian
consumers.
Computer science research
- Brief of Computer Science Professors (http://eff.org/IP/P2P/MGM_v_Grokster/20050301_cs_profs.pdf) MGM v. Grokster, March 2005. Covers
the early history of the internet and how P2P is a core part of it.
- Chord lookup
service (http://www.pdos.lcs.mit.edu/chord/)
- PAST distributed storage utility (http://www.research.microsoft.com/~antr/PAST/)
- CoopNet cooperative content distribution system (http://research.microsoft.com/~padmanab/projects/coopnet/)
- More peer-to-peer research resources (http://www-2.cs.cmu.edu/~kunwadee/research/p2p/links.html)
- Advanced Peer-Based Technology Business
Models (http://shumans.com) - P2P Industry Model from M.I.T.
- P2P Networks (history, music, copyright, Napster, GNUtella, YouServe,
Freenet, search engines, routing, security) (http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/Intro.html)
- P2P Economics (http://nes.aueb.gr/p2p.html)
- P2P Economics (http://p2pecon.berkeley.edu/)
- P2P Content Distribution Resources (http://www.cs.huji.ac.il/labs/danss/p2p/resources.html) P2P and Content Distribution
Resources from HUJI
In telecommunications, the acronym P2P is often used to refer to Point-to-Point.
P2P can also stand for Pay-to-play (as in Pay-to-play/P2P games).
|