Peer-to-peer

Last updated
A peer-to-peer (P2P) network in which interconnected nodes ("peers") share resources amongst each other without the use of a centralized administrative system P2P network.svg
A peer-to-peer (P2P) network in which interconnected nodes ("peers") share resources amongst each other without the use of a centralized administrative system

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of nodes. [1] In addition, a personal area network (PAN) is also in nature a type of decentralized peer-to-peer network typically between two devices. [2]

Contents

The opposite of a peer-to-peer network: based on the client-server model, where individual clients request services and resources from centralized servers Server-based-network.svg
The opposite of a peer-to-peer network: based on the client–server model , where individual clients request services and resources from centralized servers

Peers make a portion of their resources, such as processing power, disk storage, or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. [3] Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model in which the consumption and supply of resources are divided. [4]

While P2P systems had previously been used in many application domains, [5] the architecture was popularized by the Internet file sharing system Napster, originally released in 1999. [6] P2P is used in many protocols such as BitTorrent file sharing over the Internet [7] and in personal networks like Miracast displaying and Bluetooth radio. [8] The concept has inspired new structures and philosophies in many areas of human interaction. In such social contexts, peer-to-peer as a meme refers to the egalitarian social networking that has emerged throughout society, enabled by Internet technologies in general.

Development

SETI@home was established in 1999. SETI@home Multi-Beam screensaver.png
SETI@home was established in 1999.

While P2P systems had previously been used in many application domains, [5] the concept was popularized by file sharing systems such as the music-sharing application Napster. The peer-to-peer movement allowed millions of Internet users to connect "directly, forming groups and collaborating to become user-created search engines, virtual supercomputers, and filesystems". [9] The basic concept of peer-to-peer computing was envisioned in earlier software systems and networking discussions, reaching back to principles stated in the first Request for Comments, RFC 1. [10]

Tim Berners-Lee's vision for the World Wide Web was close to a P2P network in that it assumed each user of the web would be an active editor and contributor, creating and linking content to form an interlinked "web" of links. The early Internet was more open than the present day, where two machines connected to the Internet could send packets to each other without firewalls and other security measures. [11] [9] [ page needed ] This contrasts with the broadcasting-like structure of the web as it has developed over the years. [12] [13] [14] As a precursor to the Internet, ARPANET was a successful peer-to-peer network where "every participating node could request and serve content". However, ARPANET was not self-organized, and it could not "provide any means for context or content-based routing beyond 'simple' address-based routing." [14]

Therefore, Usenet, a distributed messaging system that is often described as an early peer-to-peer architecture, was established. It was developed in 1979 as a system that enforces a decentralized model of control. [15] The basic model is a client–server model from the user or client perspective that offers a self-organizing approach to newsgroup servers. However, news servers communicate with one another as peers to propagate Usenet news articles over the entire group of network servers. The same consideration applies to SMTP email in the sense that the core email-relaying network of mail transfer agents has a peer-to-peer character, while the periphery of Email clients and their direct connections is strictly a client-server relationship. [16]

In May 1999, with millions more people on the Internet, Shawn Fanning introduced the music and file-sharing application called Napster. [14] Napster was the beginning of peer-to-peer networks, as we know them today, where "participating users establish a virtual network, entirely independent from the physical network, without having to obey any administrative authorities or restrictions". [14]

Architecture

A peer-to-peer network is designed around the notion of equal peer nodes simultaneously functioning as both "clients" and "servers" to the other nodes on the network. [17] This model of network arrangement differs from the client–server model where communication is usually to and from a central server. A typical example of a file transfer that uses the client-server model is the File Transfer Protocol (FTP) service in which the client and server programs are distinct: the clients initiate the transfer, and the servers satisfy these requests.

Routing and resource discovery

Peer-to-peer networks generally implement some form of virtual overlay network on top of the physical network topology, where the nodes in the overlay form a subset of the nodes in the physical network. [18] Data is still exchanged directly over the underlying TCP/IP network, but at the application layer peers can communicate with each other directly, via the logical overlay links (each of which corresponds to a path through the underlying physical network). Overlays are used for indexing and peer discovery, and make the P2P system independent from the physical network topology. Based on how the nodes are linked to each other within the overlay network, and how resources are indexed and located, we can classify networks as unstructured or structured (or as a hybrid between the two). [19] [20] [21]

Unstructured networks

Overlay network diagram for an unstructured P2P network, illustrating the ad hoc nature of the connections between nodes Unstructured peer-to-peer network diagram.png
Overlay network diagram for an unstructured P2P network, illustrating the ad hoc nature of the connections between nodes

Unstructured peer-to-peer networks do not impose a particular structure on the overlay network by design, but rather are formed by nodes that randomly form connections to each other. [22] (Gnutella, Gossip, and Kazaa are examples of unstructured P2P protocols). [23]

Because there is no structure globally imposed upon them, unstructured networks are easy to build and allow for localized optimizations to different regions of the overlay. [24] Also, because the role of all peers in the network is the same, unstructured networks are highly robust in the face of high rates of "churn"—that is, when large numbers of peers are frequently joining and leaving the network. [25] [26]

However, the primary limitations of unstructured networks also arise from this lack of structure. In particular, when a peer wants to find a desired piece of data in the network, the search query must be flooded through the network to find as many peers as possible that share the data. Flooding causes a very high amount of signaling traffic in the network, uses more CPU/memory (by requiring every peer to process all search queries), and does not ensure that search queries will always be resolved. Furthermore, since there is no correlation between a peer and the content managed by it, there is no guarantee that flooding will find a peer that has the desired data. Popular content is likely to be available at several peers and any peer searching for it is likely to find the same thing. But if a peer is looking for rare data shared by only a few other peers, then it is highly unlikely that the search will be successful. [27]

Structured networks

Overlay network diagram for a structured P2P network, using a distributed hash table (DHT) to identify and locate nodes/resources Structured (DHT) peer-to-peer network diagram.png
Overlay network diagram for a structured P2P network, using a distributed hash table (DHT) to identify and locate nodes/resources

In structured peer-to-peer networks the overlay is organized into a specific topology, and the protocol ensures that any node can efficiently [28] search the network for a file/resource, even if the resource is extremely rare. [23]

The most common type of structured P2P networks implement a distributed hash table (DHT), [4] [29] in which a variant of consistent hashing is used to assign ownership of each file to a particular peer. [30] [31] This enables peers to search for resources on the network using a hash table: that is, (key, value) pairs are stored in the DHT, and any participating node can efficiently retrieve the value associated with a given key. [32] [33]

Distributed hash tables DHT en.svg
Distributed hash tables

However, in order to route traffic efficiently through the network, nodes in a structured overlay must maintain lists of neighbors [34] that satisfy specific criteria. This makes them less robust in networks with a high rate of churn (i.e. with large numbers of nodes frequently joining and leaving the network). [26] [35] More recent evaluation of P2P resource discovery solutions under real workloads have pointed out several issues in DHT-based solutions such as high cost of advertising/discovering resources and static and dynamic load imbalance. [36]

Notable distributed networks that use DHTs include Tixati, an alternative to BitTorrent's distributed tracker, the Kad network, the Storm botnet, and the YaCy. Some prominent research projects include the Chord project, Kademlia, PAST storage utility, P-Grid, a self-organized and emerging overlay network, and CoopNet content distribution system. [37] DHT-based networks have also been widely utilized for accomplishing efficient resource discovery [38] [39] for grid computing systems, as it aids in resource management and scheduling of applications.

Hybrid models

Hybrid models are a combination of peer-to-peer and client–server models. [40] A common hybrid model is to have a central server that helps peers find each other. Spotify was an example of a hybrid model [until 2014].[ citation needed ] There are a variety of hybrid models, all of which make trade-offs between the centralized functionality provided by a structured server/client network and the node equality afforded by the pure peer-to-peer unstructured networks. Currently, hybrid models have better performance than either pure unstructured networks or pure structured networks because certain functions, such as searching, do require a centralized functionality but benefit from the decentralized aggregation of nodes provided by unstructured networks. [41]

CoopNet content distribution system

CoopNet (Cooperative Networking) was a proposed system for off-loading serving to peers who have recently downloaded content, proposed by computer scientists Venkata N. Padmanabhan and Kunwadee Sripanidkulchai, working at Microsoft Research and Carnegie Mellon University. [42] [43] When a server experiences an increase in load it redirects incoming peers to other peers who have agreed to mirror the content, thus off-loading balance from the server. All of the information is retained at the server. This system makes use of the fact that the bottleneck is most likely in the outgoing bandwidth than the CPU, hence its server-centric design. It assigns peers to other peers who are 'close in IP' to its neighbors [same prefix range] in an attempt to use locality. If multiple peers are found with the same file it designates that the node choose the fastest of its neighbors. Streaming media is transmitted by having clients cache the previous stream, and then transmit it piece-wise to new nodes.

Security and trust

Peer-to-peer systems pose unique challenges from a computer security perspective. Like any other form of software, P2P applications can contain vulnerabilities. What makes this particularly dangerous for P2P software, however, is that peer-to-peer applications act as servers as well as clients, meaning that they can be more vulnerable to remote exploits. [44]

Routing attacks

Since each node plays a role in routing traffic through the network, malicious users can perform a variety of "routing attacks", or denial of service attacks. Examples of common routing attacks include "incorrect lookup routing" whereby malicious nodes deliberately forward requests incorrectly or return false results, "incorrect routing updates" where malicious nodes corrupt the routing tables of neighboring nodes by sending them false information, and "incorrect routing network partition" where when new nodes are joining they bootstrap via a malicious node, which places the new node in a partition of the network that is populated by other malicious nodes. [44]

Corrupted data and malware

The prevalence of malware varies between different peer-to-peer protocols. [45] Studies analyzing the spread of malware on P2P networks found, for example, that 63% of the answered download requests on the gnutella network contained some form of malware, whereas only 3% of the content on OpenFT contained malware. In both cases, the top three most common types of malware accounted for the large majority of cases (99% in gnutella, and 65% in OpenFT). Another study analyzing traffic on the Kazaa network found that 15% of the 500,000 file sample taken were infected by one or more of the 365 different computer viruses that were tested for. [46]

Corrupted data can also be distributed on P2P networks by modifying files that are already being shared on the network. For example, on the FastTrack network, the RIAA managed to introduce faked chunks into downloads and downloaded files (mostly MP3 files). Files infected with the RIAA virus were unusable afterwards and contained malicious code. The RIAA is also known to have uploaded fake music and movies to P2P networks in order to deter illegal file sharing. [47] Consequently, the P2P networks of today have seen an enormous increase of their security and file verification mechanisms. Modern hashing, chunk verification and different encryption methods have made most networks resistant to almost any type of attack, even when major parts of the respective network have been replaced by faked or nonfunctional hosts. [48]

Resilient and scalable computer networks

The decentralized nature of P2P networks increases robustness because it removes the single point of failure that can be inherent in a client–server based system. [49] As nodes arrive and demand on the system increases, the total capacity of the system also increases, and the likelihood of failure decreases. If one peer on the network fails to function properly, the whole network is not compromised or damaged. In contrast, in a typical client–server architecture, clients share only their demands with the system, but not their resources. In this case, as more clients join the system, fewer resources are available to serve each client, and if the central server fails, the entire network is taken down.

Search results for the query "software libre" using YaCy, a free distributed search engine that runs on a peer-to-peer network instead of making requests to centralized index servers Yacy-resultados.png
Search results for the query "software libre" using YaCy, a free distributed search engine that runs on a peer-to-peer network instead of making requests to centralized index servers

There are both advantages and disadvantages in P2P networks related to the topic of data backup, recovery, and availability. In a centralized network, the system administrators are the only forces controlling the availability of files being shared. If the administrators decide to no longer distribute a file, they simply have to remove it from their servers, and it will no longer be available to users. Along with leaving the users powerless in deciding what is distributed throughout the community, this makes the entire system vulnerable to threats and requests from the government and other large forces.

For example, YouTube has been pressured by the RIAA, MPAA, and entertainment industry to filter out copyrighted content. Although server-client networks are able to monitor and manage content availability, they can have more stability in the availability of the content they choose to host. A client should not have trouble accessing obscure content that is being shared on a stable centralized network. P2P networks, however, are more unreliable in sharing unpopular files because sharing files in a P2P network requires that at least one node in the network has the requested data, and that node must be able to connect to the node requesting the data. This requirement is occasionally hard to meet because users may delete or stop sharing data at any point. [50]

In a P2P network, the community of users is entirely responsible for deciding which content is available. Unpopular files eventually disappear and become unavailable as fewer people share them. Popular files, however, are highly and easily distributed. Popular files on a P2P network are more stable and available than files on central networks. In a centralized network, a simple loss of connection between the server and clients can cause a failure, but in P2P networks, the connections between every node must be lost to cause a data-sharing failure. In a centralized system, the administrators are responsible for all data recovery and backups, while in P2P systems, each node requires its backup system. Because of the lack of central authority in P2P networks, forces such as the recording industry, RIAA, MPAA, and the government are unable to delete or stop the sharing of content on P2P systems. [51]

Applications

Content delivery

In P2P networks, clients both provide and use resources. This means that unlike client–server systems, the content-serving capacity of peer-to-peer networks can actually increase as more users begin to access the content (especially with protocols such as Bittorrent that require users to share, refer a performance measurement study [52] ). This property is one of the major advantages of using P2P networks because it makes the setup and running costs very small for the original content distributor. [53] [54]

File-sharing networks

Peer-to-peer file sharing networks such as Gnutella, G2, and the eDonkey network have been useful in popularizing peer-to-peer technologies. These advancements have paved the way for Peer-to-peer content delivery networks and services, including distributed caching systems like Correli Caches to enhance performance. [55] Furthermore, peer-to-peer networks have made possible the software publication and distribution, enabling efficient sharing of Linux distribution and various games though file sharing networks.

Peer-to-peer networking involves data transfer from one user to another without using an intermediate server. Companies developing P2P applications have been involved in numerous legal cases, primarily in the United States, over conflicts with copyright law. [56] Two major cases are Grokster vs RIAA and MGM Studios, Inc. v. Grokster, Ltd. . [57] In the last case, the Court unanimously held that defendant peer-to-peer file sharing companies Grokster and Streamcast could be sued for inducing copyright infringement.

Multimedia

The P2PTV and PDTP protocols are used in various peer-to-peer applications. Some proprietary multimedia applications leverage a peer-to-peer network in conjunction with streaming servers to stream audio and video to their clients. Peercasting is employed for multicasting streams. Additionally, a project called LionShare, undertaken by Pennsylvania State University, MIT, and Simon Fraser University , aims to facilitate file sharing among educational institutions globally. Another notable program, Osiris, enables users to create anonymous and autonomous web portals that are distributed via a peer-to-peer network.

Other P2P applications

Torrent file connect peers Torrent peers.png
Torrent file connect peers

Dat is a distributed version-controlled publishing platform. I2P, is an overlay network used to browse the Internet anonymously. Unlike the related I2P, the Tor network is not itself peer-to-peer[ dubious discuss ]; however, it can enable peer-to-peer applications to be built on top of it via onion services. The InterPlanetary File System (IPFS) is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia distribution protocol, with nodes in the IPFS network forming a distributed file system. Jami is a peer-to-peer chat and SIP app. JXTA is a peer-to-peer protocol designed for the Java platform. Netsukuku is a Wireless community network designed to be independent from the Internet. Open Garden is a connection-sharing application that shares Internet access with other devices using Wi-Fi or Bluetooth.

Resilio Sync is a directory-syncing app. Research includes projects such as the Chord project, the PAST storage utility, the P-Grid,and the CoopNet content distribution system. Secure Scuttlebutt is a peer-to-peer gossip protocol capable of supporting many different types of applications, primarily social networking. Syncthing is also a directory-syncing app. Tradepal l and M-commerce applications are designed to power real-time marketplaces. The U.S. Department of Defense is conducting research on P2P networks as part of its modern network warfare strategy. [58] In May 2003, Anthony Tether, then director of DARPA, testified that the United States military uses P2P networks. WebTorrent is a P2P streaming torrent client in JavaScript for use in web browsers, as well as in the WebTorrent Desktop standalone version that bridges WebTorrent and BitTorrent serverless networks. Microsoft , in Windows 10, uses a proprietary peer-to-peer technology called "Delivery Optimization" to deploy operating system updates using end-users' PCs either on the local network or other PCs. According to Microsoft's Channel 9, this led to a 30%-50% reduction in Internet bandwidth usage. [59] Artisoft's LANtastic was built as a peer-to-peer operating system where machines can function as both servers and workstations simultaneously. Hotline Communications Hotline Client was built with decentralized servers and tracker software dedicated to any type of files and continues to operate today. Cryptocurrencies are peer-to-peer-based digital currencies that use blockchains

Social implications

Incentivizing resource sharing and cooperation

The BitTorrent protocol: In this animation, the colored bars beneath all of the 7 clients in the upper region above represent the file being shared, with each color representing an individual piece of the file. After the initial pieces transfer from the seed (large system at the bottom), the pieces are individually transferred from client to client. The original seeder only needs to send out one copy of the file for all the clients to receive a copy. Torrentcomp small.gif
The BitTorrent protocol: In this animation, the colored bars beneath all of the 7 clients in the upper region above represent the file being shared, with each color representing an individual piece of the file. After the initial pieces transfer from the seed (large system at the bottom), the pieces are individually transferred from client to client. The original seeder only needs to send out one copy of the file for all the clients to receive a copy.

Cooperation among a community of participants is key to the continued success of P2P systems aimed at casual human users; these reach their full potential only when large numbers of nodes contribute resources. But in current practice, P2P networks often contain large numbers of users who utilize resources shared by other nodes, but who do not share anything themselves (often referred to as the "freeloader problem").

Freeloading can have a profound impact on the network and in some cases can cause the community to collapse. [60] In these types of networks "users have natural disincentives to cooperate because cooperation consumes their own resources and may degrade their own performance". [61] Studying the social attributes of P2P networks is challenging due to large populations of turnover, asymmetry of interest and zero-cost identity. [61] A variety of incentive mechanisms have been implemented to encourage or even force nodes to contribute resources. [62] [44]

Some researchers have explored the benefits of enabling virtual communities to self-organize and introduce incentives for resource sharing and cooperation, arguing that the social aspect missing from today's P2P systems should be seen both as a goal and a means for self-organized virtual communities to be built and fostered. [63] Ongoing research efforts for designing effective incentive mechanisms in P2P systems, based on principles from game theory, are beginning to take on a more psychological and information-processing direction.

Privacy and anonymity

Some peer-to-peer networks (e.g. Freenet) place a heavy emphasis on privacy and anonymity—that is, ensuring that the contents of communications are hidden from eavesdroppers, and that the identities/locations of the participants are concealed. Public key cryptography can be used to provide encryption, data validation, authorization, and authentication for data/messages. Onion routing and other mix network protocols (e.g. Tarzan) can be used to provide anonymity. [64]

Perpetrators of live streaming sexual abuse and other cybercrimes have used peer-to-peer platforms to carry out activities with anonymity. [65]

Political implications

Intellectual property law and illegal sharing

Although peer-to-peer networks can be used for legitimate purposes, rights holders have targeted peer-to-peer over the involvement with sharing copyrighted material. Peer-to-peer networking involves data transfer from one user to another without using an intermediate server. Companies developing P2P applications have been involved in numerous legal cases, primarily in the United States, primarily over issues surrounding copyright law. [56] Two major cases are Grokster vs RIAA and MGM Studios, Inc. v. Grokster, Ltd. [57] In both of the cases the file sharing technology was ruled to be legal as long as the developers had no ability to prevent the sharing of the copyrighted material.

To establish criminal liability for the copyright infringement on peer-to-peer systems, the government must prove that the defendant infringed a copyright willingly for the purpose of personal financial gain or commercial advantage. [66] Fair use exceptions allow limited use of copyrighted material to be downloaded without acquiring permission from the rights holders. These documents are usually news reporting or under the lines of research and scholarly work. Controversies have developed over the concern of illegitimate use of peer-to-peer networks regarding public safety and national security. When a file is downloaded through a peer-to-peer network, it is impossible to know who created the file or what users are connected to the network at a given time. Trustworthiness of sources is a potential security threat that can be seen with peer-to-peer systems. [67]

A study ordered by the European Union found that illegal downloading may lead to an increase in overall video game sales because newer games charge for extra features or levels. The paper concluded that piracy had a negative financial impact on movies, music, and literature. The study relied on self-reported data about game purchases and use of illegal download sites. Pains were taken to remove effects of false and misremembered responses. [68] [69] [70]

Network neutrality

Peer-to-peer applications present one of the core issues in the network neutrality controversy. Internet service providers (ISPs) have been known to throttle P2P file-sharing traffic due to its high-bandwidth usage. [71] Compared to Web browsing, e-mail or many other uses of the internet, where data is only transferred in short intervals and relative small quantities, P2P file-sharing often consists of relatively heavy bandwidth usage due to ongoing file transfers and swarm/network coordination packets. In October 2007, Comcast, one of the largest broadband Internet providers in the United States, started blocking P2P applications such as BitTorrent. Their rationale was that P2P is mostly used to share illegal content, and their infrastructure is not designed for continuous, high-bandwidth traffic.

Critics point out that P2P networking has legitimate legal uses, and that this is another way that large providers are trying to control use and content on the Internet, and direct people towards a client–server-based application architecture. The client–server model provides financial barriers-to-entry to small publishers and individuals, and can be less efficient for sharing large files. As a reaction to this bandwidth throttling, several P2P applications started implementing protocol obfuscation, such as the BitTorrent protocol encryption. Techniques for achieving "protocol obfuscation" involves removing otherwise easily identifiable properties of protocols, such as deterministic byte sequences and packet sizes, by making the data look as if it were random. [72] The ISP's solution to the high bandwidth is P2P caching, where an ISP stores the part of files most accessed by P2P clients in order to save access to the Internet.

Current research

Researchers have used computer simulations to aid in understanding and evaluating the complex behaviors of individuals within the network. "Networking research often relies on simulation in order to test and evaluate new ideas. An important requirement of this process is that results must be reproducible so that other researchers can replicate, validate, and extend existing work." [73] If the research cannot be reproduced, then the opportunity for further research is hindered. "Even though new simulators continue to be released, the research community tends towards only a handful of open-source simulators. The demand for features in simulators, as shown by our criteria and survey, is high. Therefore, the community should work together to get these features in open-source software. This would reduce the need for custom simulators, and hence increase repeatability and reputability of experiments." [73]

Popular simulators that were widely used in the past are NS2, OMNeT++, SimPy, NetLogo, PlanetLab, ProtoPeer, QTM, PeerSim, ONE, P2PStrmSim, PlanetSim, GNUSim, and Bharambe. [74]

Besides all the above stated facts, there has also been work done on ns-2 open source network simulators. One research issue related to free rider detection and punishment has been explored using ns-2 simulator here. [75]

See also

Related Research Articles

<span class="mw-page-title-main">Client–server model</span> Distributed application structure in computing

The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server host runs one or more server programs, which share their resources with clients. A client usually does not share any of its resources, but it requests content or service from a server. Clients, therefore, initiate communication sessions with servers, which await incoming requests. Examples of computer applications that use the client–server model are email, network printing, and the World Wide Web.

Uploading refers to transmitting data from one computer system to another through means of a network. Common methods of uploading include: uploading via web browsers, FTP clients, and terminals (SCP/SFTP). Uploading can be used in the context of clients that send files to a central server. While uploading can also be defined in the context of sending files between distributed clients, such as with a peer-to-peer (P2P) file-sharing protocol like BitTorrent, the term file sharing is more often used in this case. Moving files within a computer system, as opposed to over a network, is called file copying.

eDonkey2000

eDonkey2000 was a peer-to-peer file sharing application developed by US company MetaMachine, using the Multisource File Transfer Protocol. It supported both the eDonkey2000 network and the Overnet network.

<span class="mw-page-title-main">Distributed hash table</span> Decentralized distributed system with lookup service

A distributed hash table (DHT) is a distributed system that provides a lookup service similar to a hash table. Key–value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The main advantage of a DHT is that nodes can be added or removed with minimum work around re-distributing keys. Keys are unique identifiers which map to particular values, which in turn can be anything from addresses, to documents, to arbitrary data. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption. This allows a DHT to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures.

BitTorrent, also referred to simply as torrent, is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.

gtk-gnutella

gtk-gnutella is a peer-to-peer file sharing application which runs on the gnutella network. gtk-gnutella uses the GTK+ toolkit for its graphical user interface. Released under the GNU General Public License, gtk-gnutella is free software.

An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.

<span class="mw-page-title-main">Content delivery network</span> Layer in the internet ecosystem addressing bottlenecks

A content delivery network or content distribution network (CDN) is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance ("speed") by distributing the service spatially relative to end users. CDNs came into existence in the late 1990s as a means for alleviating the performance bottlenecks of the Internet as the Internet was starting to become a mission-critical medium for people and enterprises. Since then, CDNs have grown to serve a large portion of the Internet content today, including web objects, downloadable objects, applications, live streaming media, on-demand streaming media, and social media sites.

The Kad network is a peer-to-peer (P2P) network which implements the Kademlia P2P overlay protocol. The majority of users on the Kad Network are also connected to servers on the eDonkey network, and Kad Network clients typically query known nodes on the eDonkey network in order to find an initial node on the Kad network.

<span class="mw-page-title-main">Peer-to-peer file sharing</span> Data distribution using P2P networking technology

Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program that searches for other connected computers on a P2P network to locate the desired content. The nodes (peers) of such networks are end-user computers and distribution servers.

In computing, a shared resource, or network share, is a computer resource made available from one host to other hosts on a computer network. It is a device or piece of information on a computer that can be remotely accessed from another computer transparently as if it were a resource in the local machine. Network sharing is made possible by inter-process communication over the network.

<span class="mw-page-title-main">Tribler</span> Peer-to-peer filesharing software and protocol

Tribler is an open source decentralized BitTorrent client which allows anonymous peer-to-peer by default. Tribler is based on the BitTorrent protocol and uses an overlay network for content searching. Due to this overlay network, Tribler does not require an external website or indexing service to discover content. The user interface of Tribler is very basic and focused on ease of use instead of diversity of features. Tribler is available for Linux, Windows, and OS X.

Peer-to-peer file sharing (P2P) systems like Gnutella, KaZaA, and eDonkey/eMule, have become extremely popular in recent years, with the estimated user population in the millions. An academic research paper analyzed Gnutella and eMule protocols and found weaknesses in the protocol; many of the issues found in these networks are fundamental and probably common on other P2P networks. Users of file sharing networks, such as eMule and Gnutella, are subject to monitoring of their activity. Clients may be tracked by IP address, DNS name, software version they use, files they share, queries they initiate, and queries they answer to. Clients may also share their private files to the network without notice due to inappropriate settings.

Distributed networking is a distributed computing network system where components of the program and data depend on multiple sources.

Peer-to-peer SIP (P2P-SIP) is an implementation of a distributed voice over Internet Protocol (VoIP) or instant messaging communications application using a peer-to-peer (P2P) architecture in which session control between communication end points is facilitated with the Session Initiation Protocol (SIP).

The Secure Real-Time Media Flow Protocol (RTMFP) is a protocol suite developed by Adobe Systems for encrypted, efficient multimedia delivery through both client-server and peer-to-peer models over the Internet. The protocol was originally proprietary, but was later opened up and is now published as RFC 7016.

Peer-to-peer web hosting is using peer-to-peer networking to distribute access to webpages. This is differentiated from the client–server model which involves the distribution of web data between dedicated web servers and user-end client computers. Peer-to-peer web hosting may also take the form of P2P web caches and content delivery networks.

Torrent poisoning is intentionally sharing corrupt data or data with misleading, deceiving file names using the BitTorrent protocol. This practice of uploading fake torrents is sometimes carried out by anti-infringement organisations as an attempt to prevent the peer-to-peer (P2P) sharing of copyrighted content, and to gather the IP addresses of downloaders.

<span class="mw-page-title-main">InterPlanetary File System</span> Content-addressable, peer-to-peer hypermedia distribution protocol

The InterPlanetary File System (IPFS) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed file system. By using content addressing, IPFS uniquely identifies each file in a global namespace that connects IPFS hosts, creating a resilient system of file storage and sharing.

<span class="mw-page-title-main">Seeding (computing)</span>

In computing, and specifically peer-to-peer file sharing, seeding is the uploading of already downloaded content for others to download from. A peer, a computer that is connected to the network, becomes a seed when having acquired the entire set of data, it begins to offer its upload bandwidth to other peers attempting to download the file. This data consists of small parts so that seeds can effectively share their content with other peers, handing out the missing pieces. A peer deliberately chooses to become a seed by leaving the upload task active once the content has downloaded. The motivation to seed is mainly to keep the file being shared in circulation and a desire to not act as a parasite. The opposite of a seed is a leech, a peer that downloads more than they upload.

References

  1. Cope, James (2002-04-08). "What's a Peer-to-Peer (P2P) Network?". Computerworld. Retrieved 2021-12-21.
  2. Desire Athow (12 July 2016). "Why personal area networks are the best thing to happen to hotel Wi-Fi".
  3. Rüdiger Schollmeier, A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications, Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE (2002).
  4. 1 2 Bandara, H. M. N. D; A. P. Jayasumana (2012). "Collaborative Applications over Peer-to-Peer Systems – Challenges and Solutions". Peer-to-Peer Networking and Applications. 6 (3): 257–276. arXiv: 1207.0790 . Bibcode:2012arXiv1207.0790D. doi:10.1007/s12083-012-0157-3. S2CID   14008541.
  5. 1 2 Barkai, David (2001). Peer-to-peer computing : technologies for sharing and collaborating on the net. Hillsboro, OR: Intel Press. ISBN   978-0970284679. OCLC   49354877.
  6. Saroiu, Stefan; Gummadi, Krishna P.; Gribble, Steven D. (2003-08-01). "Measuring and analyzing the characteristics of Napster and Gnutella hosts". Multimedia Systems. 9 (2): 170–184. doi:10.1007/s00530-003-0088-1. ISSN   1432-1882. S2CID   15963045.
  7. "What Is BitTorrent and Is It Safe?". www.kaspersky.com. 2023-04-19. Retrieved 2023-10-24.
  8. "האוניברסיטה הפתוחה". www.openu.ac.il. Retrieved 2024-07-15.
  9. 1 2 Oram, Andrew, ed. (2001). Peer-to-peer: harnessing the benefits of disruptive technology. Sebastopol, California: O'Reilly. ISBN   9780596001100. OCLC   123103147.
  10. RFC 1, Host Software, S. Crocker, IETF Working Group (April 7, 1969)
  11. Oppliger, R. (1995). "Internet security enters the Middle Ages". Computer. 28 (10): 100–101. doi:10.1109/2.467613 . Retrieved 2023-12-14.
  12. Berners-Lee, Tim (August 1996). "The World Wide Web: Past, Present and Future" . Retrieved 5 November 2011.
  13. Sandhu, R.; Zhang, X. (2005). "Peer-to-peer access control architecture using trusted computing technology". Proceedings of the tenth ACM symposium on Access control models and technologies. pp. 147–158. doi:10.1145/1063979.1064005. ISBN   1595930450. S2CID   1478064.
  14. 1 2 3 4 Steinmetz, Ralf; Wehrle, Klaus (2005). "2. What Is This "Peer-to-Peer" About?". Peer-to-Peer Systems and Applications. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. pp. 9–16. doi:10.1007/11530657_2. ISBN   9783540291923.
  15. Horton, Mark, and Rick Adams. "Standard for interchange of USENET messages." (1987): 1. https://www.hjp.at/doc/rfc/rfc1036.html Archived 2021-06-12 at the Wayback Machine
  16. Sharma, M. K. "CLIENT SERVER TECHNOLOGY" (PDF). SWAMI VIVEKANAND SUBHARTI UNIVERSITY.
  17. "Practical Applications of Peer-to-Peer Networks in File Sharing and Content Distribution | SimpleSwap". SimpleSwap | Cryptocurrency exchange blog. Retrieved 2024-08-21.
  18. "Overlay Network - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2024-08-21.
  19. Ahson, Syed A.; Ilyas, Mohammad, eds. (2008). SIP Handbook: Services, Technologies, and Security of Session Initiation Protocol. Taylor & Francis. p. 204. ISBN   9781420066043.
  20. Zhu, Ce; et al., eds. (2010). Streaming Media Architectures: Techniques and Applications: Recent Advances. IGI Global. p. 265. ISBN   9781616928339.
  21. Kamel, Mina; et al. (2007). "Optimal Topology Design for Overlay Networks". In Akyildiz, Ian F. (ed.). Networking 2007: Ad Hoc and Sensor Networks, Wireless Networks, Next Generation Internet: 6th International IFIP-TC6 Networking Conference, Atlanta, GA, USA, May 14-18, 2007 Proceedings. Springer. p. 714. ISBN   9783540726050.
  22. Filali, Imen; et al. (2011). "A Survey of Structured P2P Systems for RDF Data Storage and Retrieval". In Hameurlain, Abdelkader; et al. (eds.). Transactions on Large-Scale Data- and Knowledge-Centered Systems III: Special Issue on Data and Knowledge Management in Grid and PSP Systems. Springer. p. 21. ISBN   9783642230738.
  23. 1 2 Zulhasnine, Mohammed; et al. (2013). "P2P Streaming Over Cellular Networks: Issues, Challenges, and Opportunities". In Pathan; et al. (eds.). Building Next-Generation Converged Networks: Theory and Practice. CRC Press. p. 99. ISBN   9781466507616.
  24. Chervenak, Ann; Bharathi, Shishir (2008). "Peer-to-peer Approaches to Grid Resource Discovery". In Danelutto, Marco; et al. (eds.). Making Grids Work: Proceedings of the CoreGRID Workshop on Programming Models Grid and P2P System Architecture Grid Systems, Tools and Environments 12-13 June 2007, Heraklion, Crete, Greece. Springer. p. 67. ISBN   9780387784489.
  25. Jin, Xing; Chan, S.-H. Gary (2010). "Unstructured Peer-to-Peer Network Architectures". In Shen; et al. (eds.). Handbook of Peer-to-Peer Networking. Springer. p. 119. ISBN   978-0-387-09750-3.
  26. 1 2 Lv, Qin; et al. (2002). "Can Heterogeneity Make Gnutella Stable?". In Druschel, Peter; et al. (eds.). Peer-to-Peer Systems: First International Workshop, IPTPS 2002, Cambridge, MA, USA, March 7-8, 2002, Revised Papers. Springer. p.  94. ISBN   9783540441793.
  27. Shen, Xuemin; Yu, Heather; Buford, John; Akon, Mursalin (2009). Handbook of Peer-to-Peer Networking (1st ed.). New York: Springer. p. 118. ISBN   978-0-387-09750-3.
  28. Dhara, Krishna; Kolberg, Mario (January 2010). "Overview of Structured Peer-to-Peer Overlay Algorithms".
  29. R. Ranjan, A. Harwood, and R. Buyya, "Peer-to-peer based resource discovery in global grids: a tutorial," IEEE Commun. Surv., vol. 10, no. 2. and P. Trunfio, "Peer-to-Peer resource discovery in Grids: Models and systems," Future Generation Computer Systems archive, vol. 23, no. 7, Aug. 2007.
  30. Kelaskar, M.; Matossian, V.; Mehra, P.; Paul, D.; Parashar, M. (2002). A Study of Discovery Mechanisms for Peer-to-Peer Application. IEEE Computer Society. pp. 444–. ISBN   9780769515823.
  31. Dabek, Frank; Zhao, Ben; Druschel, Peter; Kubiatowicz, John; Stoica, Ion (2003). "Towards a Common API for Structured Peer-to-Peer Overlays". Peer-to-Peer Systems II. Lecture Notes in Computer Science. Vol. 2735. pp. 33–44. CiteSeerX   10.1.1.12.5548 . doi:10.1007/978-3-540-45172-3_3. ISBN   978-3-540-40724-9.
  32. Moni Naor and Udi Wieder. Novel Architectures for P2P Applications: the Continuous-Discrete Approach Archived 2019-12-09 at the Wayback Machine . Proc. SPAA, 2003.
  33. Gurmeet Singh Manku. Dipsea: A Modular Distributed Hash Table Archived 2004-09-10 at the Wayback Machine . Ph. D. Thesis (Stanford University), August 2004.
  34. Byung-Gon Chun, Ben Y. Zhao, John D. Kubiatowicz (2005-02-24). "Impact of Neighbor Selection on Performance and Resilience of Structured P2P Networks" (PDF). Retrieved 2019-08-24.{{cite web}}: CS1 maint: multiple names: authors list (link)
  35. Li, Deng; et al. (2009). Vasilakos, A.V.; et al. (eds.). An Efficient, Scalable, and Robust P2P Overlay for Autonomic Communication. Springer. p. 329. ISBN   978-0-387-09752-7.
  36. Bandara, H. M. N. Dilum; Jayasumana, Anura P. (January 2012). "Evaluation of P2P Resource Discovery Architectures Using Real-Life Multi-Attribute Resource and Query Characteristics". IEEE Consumer Communications and Networking Conf. (CCNC '12).
  37. Korzun, Dmitry; Gurtov, Andrei (November 2012). Structured P2P Systems: Fundamentals of Hierarchical Organization, Routing, Scaling, and Security. Springer. ISBN   978-1-4614-5482-3.
  38. Ranjan, Rajiv; Harwood, Aaron; Buyya, Rajkumar (1 December 2006). "A Study on Peer-to-Peer Based Discovery of Grid Resource Information" (PDF). Archived from the original (PDF) on 14 May 2011. Retrieved 25 August 2008.
  39. Ranjan, Rajiv; Chan, Lipo; Harwood, Aaron; Karunasekera, Shanika; Buyya, Rajkumar. "Decentralised Resource Discovery Service for Large Scale Federated Grids" (PDF). Archived from the original (PDF) on 2008-09-10.
  40. Darlagiannis, Vasilios (2005). "Hybrid Peer-to-Peer Systems". In Steinmetz, Ralf; Wehrle, Klaus (eds.). Peer-to-Peer Systems and Applications. Springer. ISBN   9783540291923.
  41. Yang, Beverly; Garcia-Molina, Hector (2001). "Comparing Hybrid Peer-to-Peer Systems" (PDF). Very Large Data Bases. Retrieved 8 October 2013.
  42. Padmanabhan, Venkata N.; Sripanidkulchai, Kunwadee (2002). The Case for Cooperative Networking (PostScript with addendum). Lecture Notes in Computer Science. Vol. Proceedings of the First International Workshop on Peer-to-Peer Systems. Cambridge, MA: Springer (published March 2002). pp.  178. doi:10.1007/3-540-45748-8_17. ISBN   978-3-540-44179-3. PDF (Microsoft, with addendum) Archived 2007-04-17 at the Wayback Machine PDF (Springer, original, fee may be required) Archived 2023-01-01 at the Wayback Machine
  43. "CoopNet: Cooperative Networking". Microsoft Research. Project home page.
  44. 1 2 3 Vu, Quang H.; et al. (2010). Peer-to-Peer Computing: Principles and Applications. Springer. p. 8. ISBN   978-3-642-03513-5.
  45. "Malware Propagation Modelling in Peer-to-Peer Networks: A Review" (PDF).
  46. Goebel, Jan; et al. (2007). "Measurement and Analysis of Autonomous Spreading Malware in a University Environment". In Hämmerli, Bernhard Markus; Sommer, Robin (eds.). Detection of Intrusions and Malware, and Vulnerability Assessment: 4th International Conference, DIMVA 2007 Lucerne, Switzerland, July 12-13, 2007 Proceedings. Springer. p. 112. ISBN   9783540736134.
  47. Sorkin, Andrew Ross (4 May 2003). "Software Bullet Is Sought to Kill Musical Piracy". New York Times. Retrieved 5 November 2011.
  48. Singh, Vivek; Gupta, Himani (2012). Anonymous File Sharing in Peer to Peer System by Random Walks (Technical report). SRM University. 123456789/9306.
  49. Lua, Eng Keong; Crowcroft, Jon; Pias, Marcelo; Sharma, Ravi; Lim, Steven (2005). "A survey and comparison of peer-to-peer overlay network schemes". Archived from the original on 2012-07-24.
  50. Balakrishnan, Hari; Kaashoek, M. Frans; Karger, David; Morris, Robert; Stoica, Ion (2003). "Looking up data in P2P systems" (PDF). Communications of the ACM. 46 (2): 43–48. CiteSeerX   10.1.1.5.3597 . doi:10.1145/606272.606299. S2CID   2731647 . Retrieved 8 October 2013.
  51. "Art thou a Peer?". www.p2pnews.net. 14 June 2012. Archived from the original on 6 October 2013. Retrieved 10 October 2013.
  52. Sharma, Parul; Bhakuni, Anuja; Kaushal, Rishabh (2013). "Performance analysis of BitTorrent protocol". 2013 National Conference on Communications (NCC). pp. 1–5. doi:10.1109/NCC.2013.6488040. ISBN   978-1-4673-5952-8.
  53. Li, Jin (2008). "On peer-to-peer (P2P) content delivery" (PDF). Peer-to-Peer Networking and Applications. 1 (1): 45–63 ≤≥. doi:10.1007/s12083-007-0003-1. S2CID   16438304.
  54. Stutzbach, Daniel; et al. (2005). "The scalability of swarming peer-to-peer content delivery" (PDF). In Boutaba, Raouf; et al. (eds.). NETWORKING 2005 -- Networking Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications Systems. Springer. pp. 15–26. ISBN   978-3-540-25809-4.
  55. Gareth Tyson, Andreas Mauthe, Sebastian Kaune, Mu Mu and Thomas Plagemann. Corelli: A Dynamic Replication Service for Supporting Latency-Dependent Content in Community Networks. In Proc. 16th ACM/SPIE Multimedia Computing and Networking Conference (MMCN), San Jose, CA (2009). "Archived copy" (PDF). Archived from the original (PDF) on 2011-04-29. Retrieved 2011-03-12.{{cite web}}: CS1 maint: archived copy as title (link)
  56. 1 2 Glorioso, Andrea; et al. (2010). "The Social Impact of P2P Systems". In Shen; et al. (eds.). Handbook of Peer-to-Peer Networking. Springer. p. 48. ISBN   978-0-387-09750-3.
  57. 1 2 John Borland (April 25, 2003). "Judge: File-Swapping Tools are Legal". news.cnet.com. Archived from the original on 2012-03-10.
  58. Walker, Leslie (2001-11-08). "Uncle Sam Wants Napster!". The Washington Post. Retrieved 2010-05-22.
  59. Hammerksjold Andreas; Engler, Narkis, "Delivery Optimization - a deep dive" Archived 2019-02-04 at the Wayback Machine , Channel 9 , 11 October 2017, Retrieved on 4 February 2019.
  60. Krishnan, R., Smith, M. D., Tang, Z., & Telang, R. (2004, January). The impact of free-riding on peer-to-peer networks. In System Sciences, 2004. Proceedings of the 37th Annual Hawaii International Conference on (pp. 10-pp). IEEE.
  61. 1 2 Feldman, M., Lai, K., Stoica, I., & Chuang, J. (2004, May). Robust incentive techniques for peer-to-peer networks. In Proceedings of the 5th ACM conference on Electronic commerce (pp. 102-111). ACM.
  62. Vu, Quang H.; et al. (2010). Peer-to-Peer Computing: Principles and Applications. Springer. p. 172. ISBN   978-3-642-03513-5.
  63. P. Antoniadis and B. Le Grand, "Incentives for resource sharing in self-organized communities: From economics to social psychology," Digital Information Management (ICDIM '07), 2007
  64. Vu, Quang H.; et al. (2010). Peer-to-Peer Computing: Principles and Applications. Springer. pp. 179–181. ISBN   978-3-642-03513-5.
  65. "No country is free from child sexual abuse, exploitation, UN's top rights forum hears". UN News. March 3, 2020.
  66. Majoras, D. B. (2005). Peer-to-peer file-sharing technology consumer protection and competition issues. Federal Trade Commission, Retrieved from http://www.ftc.gov/reports/p2p05/050623p2prpt.pdf Archived 2012-11-01 at the Wayback Machine
  67. The Government of the Hong Kong Special Administrative Region, (2008). Peer-to-peer network. Retrieved from website: http://www.infosec.gov.hk/english/technical/files/peer.pdf Archived 2019-12-09 at the Wayback Machine
  68. Sanders, Linley (2017-09-22). "Illegal downloads may not actually harm sales, but the European Union doesn't want you to know that". Newsweek. Retrieved 2018-03-29.
  69. Polgar, David Ryan (October 15, 2017). "Does Video Game Piracy Actually Result in More Sales?". Big Think. Retrieved 2018-03-29.
  70. Orland, Kyle (September 26, 2017). "EU study finds piracy doesn't hurt game sales, may actually help". Ars Technica. Retrieved 2018-03-29.
  71. "What is bandwidth throttling? How to stop it | NordVPN". nordvpn.com. 2022-07-01. Retrieved 2024-08-21.
  72. Hjelmvik, Erik; John, Wolfgang (2010-07-27). "Breaking and Improving Protocol Obfuscation" (PDF). Technical Report. ISSN   1652-926X.
  73. 1 2 Basu, A., Fleming, S., Stanier, J., Naicken, S., Wakeman, I., & Gurbani, V. K. (2013). The state of peer-to-peer network simulators. ACM Computing Surveys, 45(4), 46.
  74. Ihle, Cornelius; Trautwein, Dennis; Schubotz, Moritz; Meuschke, Norman; Gipp, Bela (2023-01-24). "Incentive Mechanisms in Peer-to-Peer Networks — A Systematic Literature Review". ACM Computing Surveys. 55 (14s): 1–69. doi: 10.1145/3578581 . ISSN   0360-0300. S2CID   256106264.
  75. A Bhakuni, P Sharma, R Kaushal "Free-rider detection and punishment in BitTorrent based P2P networks", International Advanced Computing Conference, 2014. doi : 10.1109/IAdCC.2014.6779311