P2P File-Sharing Networks Explained: Torrents, DC, and eD2k |
Posted: March 20, 2019 |
A Peer-to-Peer (P2P) network is based on the equality of participants. Such networks have no central Command and Control (C&C) server. In fact, each computer in such a network is both a client that receives data from the network and a server that can transfer data stored on its hard disk to other network participants. Let’s have a look at the three most popular types of P2P networks: torrents, DC, and eD2k. Each type has its own specific use cases, data transfer characteristics and protocols, and, of course, individual software clients. TorrentsTorrent (or more precisely BitTorrent) is a network protocol for cooperative file sharing over the internet. The protocol was created in 2001 by Bram Cohen. For each file distribution, a metadata file is created with the extension .torrent, containing the following information: 1. The URL address of the torrent tracker (search website) 2. General information about the file (names, size, etc.) 3. A cryptographic hash of all file segments (file pieces) 4. The user passkey (if there is a need to register on the tracker website to participate in the distribution) The size of file segments (pieces) is usually chosen in the range from 32 KB to 16 MB, depending on the total volume of distribution. If the distribution consists of a group of files, their corresponding hashes form a continuous stream of data. Therefore, the end of one file might appear in a segment together with the beginning of the next file. If the user does not want to download all files participating in the distribution, there may be cases of downloading extra pieces of data (beginnings or endings of files not selected for download, as they lie in the same segment as active files). These extra pieces of data are stored in a separate temporary file in the root distribution folder. Principles of operation Before starting data download, the software client connects to the torrent tracker via the URL specified in the torrent file. The client exchanges IP addresses and a hash sum with the tracker, after which the tracker sends the client information about other clients participating in the distribution. This data exchange is called an announcement. Further, during the direct participation in the distribution process, this announcement gets transferred by default, usually every 30 minutes. This is done to update information about the clients involved in the distribution process. After the announcement, the client takes turns checking the list of other clients participating in this distribution and sends each client a request for new segments. Actually, the more distribution participants are there, the higher the data upload and download rates. After downloading a separate file segment, the program checks the hash sum, and if it passes the test, a new download request is sent through the released connection. If a segment fails the test, then a request is sent to transfer this segment again (this continues until the segment passes the hash sum test correctly). Having downloaded even one segment out of a thousand, a user can immediately start distributing it to those users who have not yet downloaded it. This reduces the network load. All peers involved in the distribution download data not only from one seeder (distributor) but from each other. Technically, use of the Torrent protocol isn’t illegal. This might change, though, if you use it to download proprietary, copyrighted content. Your ISP can easily identify your torrenting activity unless you take precautions to avoid this surveillance. These days people who use torrents connect to them through VPNs in order to hide their download and upload data and maintain privacy. The most popular torrent programs are uTorrent and BitTorrent. The most popular torrent trackers are The Pirate Bay, RARBG, and 1337x. DCDirect Connect (DC) is a partially centralized P2P network. The administrative server role is performed by the hub, which stores and transfers to the DC client information about other DC clients. This information includes IP address, user name, and amount of information opened by the DC client for downloading. Also, most modern DC hubs have the ability to communicate in real time using a built-in chat feature. A special feature of this protocol is the availability of slots. Slots are a limited number of DC client connections available for downloading files. When the number of users is greater than the number of slots, a download queue is created. Each DC client (along with the file it uploads) is assigned a priority based on a random number generator. Principles of operation First, users need to create a new connection with one of the DC hubs. To do this: 1. Enter the network address of the DC hub (dchub://[Hub domain or IP ]:[port] 2. Enter the username and password (if the password is required) 3. Create a connection name After entering all the details and saving the connection settings, the software client can connect to the DC hub. The standard user interface of the hub is divided into three zones: 1. List of available DC clients 2. Hub chat 3. List of active file transfer processes To download files, users should get a list of files available for downloading from a DC client. Usually, the file list has a tree structure. The download method is very similar to downloading from an FTP server. Users can select several folders or files for simultaneous downloading. Having selected the necessary files, users should add them to the list of downloads. The download list allows for setting a priority order for individual files or folders. The main difference between DC and torrents is that the distributing client does not create a strictly defined distribution with a constant hash sum, but instead provides open access to files and folders on local computer. Comparing to torrent networks, DC networks provide an easier way to add files for sharing downloading. Here, the distributing user is not required to create and update every download link. All this is done automatically by a DC hub. A user who downloads files just needs to restart the connection in case of any issues. Most DC hubs are created based on geographic principal (city, country, or hubs of individual network segments) or divided by subject (music, movies, dating, and so on). Popular client programs include DC ++, ApexDC ++, AirDC++, StrongDC++, and FlylinkDC++. ED2KED2k or eDonkey Network is a P2P file sharing network. Users opt for one of two main client programs, eDonkey and eMule. The latter provides higher performance and a more user-friendly interface. Principles of operation Connecting software clients on one of these networks is somewhat similar to on DC networks. The client connects to the global server and sends it information about the files available for download, which are located on the user computer. The server, in turn, enables peers to search for the necessary files opened for download by other users. When a file is requested for downloading, the server polls all clients connected to it and scans the lists of other servers for the presence of this file. An availability index is then formed, and an algorithm for downloading distribution segments is created. At this stage, the download process is very similar to the download process in torrent networks. After the download is complete, the file is checked for compliance with the original hash sum. It is then moved from the temporary download folder to the main folder. I mentioned that DCsoftware clients have a built-in chat feature. ED2k clients have a built-inIRC client. Internet Relay Chat (IRC) is an application-level protocol for real-time messaging. This client enables you to send not only textual information but also files of various types. There are many software programs that may act as the client parts of the network. The most popular are eDonkey2000, which is closed-source but free, and eMule, which his no longer maintained but still favored by many users.
|
||||||||||||||||
|