Peer-to-peer
|
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. P2P networks are used for sharing content like audio, video, data or anything in digital format. P2P network can also mean grid computing.
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.
Peer-to-peer architecture embodies 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.
Contents |
Operation of peer-to-peer networks
Three major types of P2P network are:
Pure P2P:
- Peers act as clients and server
- There is no central server
- There is no central router
Hybrid P2P:
- Has a central server that keeps information on peers and responds to requests for that information.
- Peers are responsible for hosting the information as the central server doesn't store files, for letting the central server know what files they want to share and for downloading its shareable resources to peers that request it.
- Route terminals are used addresses, which are referenced by a set of indices to obtain an absolute address.
Mixed P2P:
- Has both pure and hybrid characteristics
Advantages of peer-to-peer networks
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.
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. Napster continues to operate today but the company has taken a new direction and is now legally distributing music under a subscription based model.
In the centralized peer to peer model, a user would send a search to the centralized server of what they were looking for, i.e. song, video, movie. The server then sends back a list of which peers have the data and facilitates the connection and download.
Second generation
After Napster encountered legal troubles, Justin Frankel of Nullsoft set out to create a network without a central index server, and Gnutella was the result. Unfortunately, the Gnutella model of all nodes being equal quickly died from bottlenecks as the network grew from incoming Napster refugees. FastTrack solved the problem by having some nodes 'more equal than others'.
By electing some nodes which had more capacity as indexing nodes, and having lower capacity nodes branching off from them, it allowed for a network which could scale to a much larger size. Gnutella quickly adopted this model, and most current peer to peer networks follow this model, as it allows for large and efficient networks without central servers.
Also included in the second generation are distributed hash tables, which solve the scalability problem by electing various nodes to index certain hashes (which are used to identify files), allowing for fast and efficient searching for any instances of a file on the network, though they are not without their own drawbacks, such as stale hosts and network splits.
Third generation
The third generation of peer-to-peer networks are those which have 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.
Third generation networks, however, have not reached mass usage for file sharing because of the extreme overhead which anonymity features introduce, multiplying the bandwidth required to send a file with each intermediary used.
Legal controversy
Under US law, "the Betamax decision" case holds that copying technologies are not inherently illegal, if substantial non-infringing use can be made of them. This decision, predating the widespread use of the Internet applies to most data networks, including peer-to-peer networks, since distribution of correctly licensed files can be performed. These non-infringing uses include sending open source software, public domain files and out of copyright works. Other jurisdictions tend to view the situation in somewhat similar ways.
In practice, many, often most, of the files shared on peer-to-peer networks are copies of copyrighted popular music and movies in wide variety of formats (MP3, MPEG, RM etc...). Sharing of these copies are illegal in most jurisdictions. This has led many observers, including most media companies and some peer-to-peer advocates, to conclude that the networks themselves pose grave threats to the established distribution model. Interestingly, the research that attempts to measure actual monetary loss has been somewhat equivocal. Whilst on paper the existence of these networks results in massive losses, the actual income doesn't seem to have changed much since these networks started up. Whether the threat is real or not, both the RIAA and the MPAA now spend large amounts of money attempting to lobby lawmakers for the creation of new laws, and some copyright owners pay companies to help legally challenge users engaging in illegal sharing of their material.
In spite of 'the Betamax decision' peer-to-peer networks themselves 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. In this case, Napster had been deliberately marketed as a way to distribute audio files without permission from the copyright owners.
As actions to defend copyright infringement by media companies expand, the networks have quickly adapted and constantly become both technologically and legally more difficult to dismantle. This has caused the users that are actually breaking the law to become targets, because whilst 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 across a wide variety of jurisdictions. Many people profess to believe that this will lead to greater or easier trading of illegal material and even (in some unclear way) 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, that the presumption of innocence must apply, and that non peer-to-peer technologies like email, which also possess anonymizing services, have similar capabilities.
Important Cases
- US law
- Sony Corp. v. Universal City Studios (The Betamax decision)
- MGM v. Grokster
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 harassing 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: list of 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)
- Avalanche
- BitTorrent network: ABC, Azureus, BitAnarch, BitComet, BitSpirit, BitTornado, BitTorrent, BitTorrent++, BitTorrent.Net, G3 Torrent, mlMac, MLDonkey, QTorrent, SimpleBT, Shareaza, TomatoTorrent (Mac OS X) [2] (http://sarwat.net/bittorrent/), TorrentStorm
- CAKE network: BirthdayCAKE the reference implementation of CAKE
- Direct Connect network: BCDC++, CZDC++, DC++, NeoModus Direct Connect, JavaDC, DCGUI-QT
- eDonkey network: aMule (Linux, Mac OS X, others), eDonkey2000, eMule, LMule, MindGem, MLDonkey, mlMac, Shareaza, xMule, iMesh Light, ed2k (eDonkey 2000 protocol)
- FastTrack protocol: giFT, Grokster, iMesh (and its variants stripped of adware including iMesh Light), Kazaa by Sharman Networks (and its variants stripped of adware including: Kazaa Lite, K++, Diet Kaza and CleanKazaa), KCeasy, Mammoth, MLDonkey, mlMac, Poisoned
- Freenet network: Entropy (on its own network), Freenet, Frost
- Gnutella network: Acquisitionx (Mac OS X), BearShare, BetBug, Cabos, CocoGnut (RISC OS) [3] (http://www.alpha-programming.co.uk/software/cocognut/), Gnucleus Grokster, iMesh, gtk-gnutella (Unix), LimeWire (Java), MLDonkey, mlMac, Morpheus, Phex Poisoned, Swapper, Shareaza, XoloX
- Gnutella2 network: Adagio, Caribou, Gnucleus, iMesh, MLDonkey, mlMac, Morpheus, Shareaza, TrustyFiles
- HyperCast [4] (http://www.cs.virginia.edu/hypercast)
- Joltid PeerEnabler: Altnet, Bullguard, Joltid, Kazaa, Kazaa Lite
- Kad Network (using Kademila protocol): eMule, MindGem, MLDonkey
- LUSerNet (using LUSerNet protocol): LUSerNet
- MANOLITO/MP2P network: Blubster, Piolet, RockItNet
- Napster network: Napigator, OpenNap, WinMX
- Peercasting type networks: PeerCast, IceShare - P2P implementation of IceCast, Freecast (http://www.freecast.org/)
- TVP2P type networks: CoolStreaming, Cybersky-TV
- WPNP network: WinMX
- other networks: Akamai, Alpine, ANts P2P, Ares Galaxy, Audiogalaxy network, Carracho, Chord, The Circle, Coral[5] (http://www.scs.cs.nyu.edu/coral/), Dexter, Diet-Agents, EarthStation 5 network, Evernet, FileTopia, GNUnet, Grapevine, Groove, Hotwire, iFolder[6] (http://www.ifolder.com/), konspire2b, Madster/Aimster, MUTE, Napshare, OpenFT (Poisoned), P-Grid[7] (http://www.p-grid.org), IRC @find and XDCC, used by IRC clients including: mIRC and Trillian, JXTA, Peersites [8] (http://www.peersites.com), MojoNation, Mnet, Overnet network, Scour, Scribe, Skype, Solipsis a massively multi-participant virtual world, SongSpy network, Soulseek, SPIN, SpinXpress, SquidCam [9] (http://www.squidsoft.com), Swarmcast, WASTE, Warez P2P, Winny, AsagumoWeb, OpenExt, Tesla, soribada, fileswapping,
An earlier generation of peer-to-peer systems were called "metacomputing" or were classed as "middleware". These include: Legion, Globus, Condor, ByteTornado
Multi-network applications
Format: application (networks/protocols) (operating systems)
- eMule (Edonkey Network, Kad Network) (Microsoft Windows, Linux)
- aMule (eDonkey network) (Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Windows and Solaris Operating Environment)
- Epicea (Epicea, BitTorrent, Edonkey Network, Overnet, FastTrack, Gnutella) (Microsoft Windows)
- GiFT (own OpenFT protocol, and with plugins - FastTrack, eDonkey and Gnutella)
- xfactor (uses GiFT) (Mac OS X)
- Gnucleus (Gnutella, Gnutella2) (Microsoft Windows)
- Hydranode (eDonkey2000) (Microsoft Windows, Linux, Mac OS X)
- iMesh (Fasttrack, Edonkey Network, Gnutella, Gnutella2) (Microsoft Windows)
- Kazaa (FastTrack, Joltid PeerEnabler) (Microsoft Windows)
- Kazaa Lite (FastTrack, Joltid PeerEnabler) (Microsoft Windows)
- KCeasy (Gnutella, Ares, giFT)
- MindGem (Edonkey Network, 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)
See also
External links
- P2P Core (http://www.p2pcore.com/) File Sharing (P2P) News, BitTorrent/Edonkey Site Listings, Programs, etc.
- peerSynth (http://www.peersynth.de/) P2P network music synthesizer. Musicians are connected over a small p2p network and can jam in real-time.
- P2P (http://www.filesharingcenter.net/) P2P File sharing programs.
- BetBug (http://www.BetBug.com) BetBug was the first P2P network to enable secure financial transactions across an untrusted, anonymous P2P network
- 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/)
- 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.
- p2p.info.pl P2P news, beginners' guide, programs descriptions, forum, Linux-friendly. (currently under maintenance :( )
- 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/) In Polish and Hungarian.
- 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.
- Respect P2P (http://respectp2p.org/) Online magazine.
- wikibooks: P2P File sharing
- Using Linux firewalls to filter Peer-to-peer traffic (http://www.lowth.com/p2pwall)
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
- PlanetP: A decentralized content search and retrieval infrastructure powered by randomized gossiping (http://www.panic-lab.rutgers.edu/Research/planetp/)
In telecommunications, the acronym PTP is used to refer to the term Point-to-Point which is sometimes incorrectly written as P2P.
P2P can also stand for Pay-to-play (as in Pay-to-play/P2P games).ca:D'igual a igual cs:Peer-to-peer da:Peer-to-peer de:Peer-to-Peer es:P2P fa:همکار به همکار (رایانه) fr:Poste--poste ko:P2P it:Peer-to-peer lt:P2P ms:Rakan-ke-rakan nl:Peer-to-peer ja:P2P no:Peer-to-peer pl:P2P pt:P2P ru:Пиринговые сети sk:Peer-to-peer fi:Vertaisverkko sv:P2P-ntverk zh:P2P