Brief Introduction of Peer-to-Peer Technologies
What Is Peer-to-Peer?
The term “peer-to-peer” has various meanings under different circumstances, when mentioned in the context of digital and network settings, especially nowadays with the popularity of Internet usage, this term is often used to describe a type of decentralized and distributed network architecture, in which individual nodes in the network act as both suppliers and consumers of data resources (ref.); these nodes, i.e. the “peers”, are actually end-user devices, such as personal computers, PDAs, iPads, and mobile devices with accessibility to Internet.
Initially, when different kinds of end-user devices become common in people’s daily life, they are often connected together through the local area networks to certain central servers to get access to files, videos, audios, and other information. These central servers are typically more powerful than the personal computers, so any large data processing can take place on these central servers, allowing the end-users to download files onto their personal computers.
In contrast to the centralized client–server network architecture, where the clients request access to resources provided by central servers, the peer-to-peer network will “share” the computing power among multiple inter-connected peers, who each make a portion of their resources, such as data computing, disk storage, or network bandwidth etc., directly available to other network participants without the need for any coordination by the central servers (ref.). Under the peer-to-peer network architecture, various end-user devices become much more powerful; they are now able to process the data locally rather than on central servers. As a result, the peer-to-peer network architecture and related technologies allow individual end-user devices to bypass the central servers to connect and collaborate directly with each other (ref.).
For example, in a centralized network architecture, when an end-user downloads a file from a website, an HTTP GET request is sent out first. This request will use one TCP socket and then communicate with one server which will transfer the entire file (ref.). The same request will be performed in a different way in a peer-to-peer network. The peer-to-peer protocol will create TCP connections with multiple hosts and make many small data requests to each. The peer-to-peer client then combines the chunks to recreate the file. Any single host only has limited upload capacity, but connecting to many hosts at the same time can allow for faster file transfers, and spread out the costs related to data transfers. In addition, a client mid-way will act as a server and host together the data that has already been downloaded. As a result, the peer-to-peer architecture can lead to lower costs and higher redundancy of network computing power (ref.).
Because of the above mentioned differences between the centralized client-server and peer-to-peer network...