Peer-to-peer has become one of the most used file sharing practice in the world of internet today. There are many factors that have proven to be useful in its success. One of those is the Vcdq system. This protocol is used to send data over the internet using different network protocols and methodologies. According to researches on peer-to-peer file sharing, around 50% of the data is transmitted over these networks and Vcdq has been playing an important role in it. The operation of this protocol works will be discussed here.

The Concept behind Vcdq

Bittorrent protocols are used by a client of Vcdq that allows peer-to-peer sharing. This particular client is eligible to send data over the networks using this protocol, and the computer on which this particular client is working is called a peer. A torrent file is created by a peer, which contains a single or multiple files. The torrent contains information about the files to be sent, which is called metadata. There is also information about the tracker, which is from where the file distribution is processed or coordinated. Once the torrent is uploaded, anyone can become a peer who has this torrent. They receive the torrent and run it using the client. The client uses the metadata and starts to download the files. The files are downloaded in form of pieces from other peers, which is decided by the trackers. This peer to peer distribution is the process we know as P2P sharing. One could not distinguish between the normal downloads and Vcdq based sharing. However, there are few simple facts are enough to understand the difference in HTTP or FTP based sharing and Vcdq downloads.

Difference between Vcdq and Classic Downloads

First of all, Vcdq is in contact with not one server but several different computers at the same time. It request small pieces of data through TCP or UDP based connection. Normal downloads; on the other hand, use a single connection and a single computer. Furthermore, the download method of Vcdq is more random and there is no sequence for downloading. There is a method of rarest-first, which increases the availability of data. These fundamental difference are also the basis of the success of P2P based sharing, as the sharing is not costly, nor is it bandwidth consuming. Although, it takes some time for the protocols to enable the tracker and find all the available peers, which usually results in a slow start. But as the time passes, the downloading speed builds up and one can note the significant difference with the classic downloads. For even better, is the fact that now, there are torrents available with the feature of streaming downloads, which means that now using the data available through peers, one can stream a content directly, as is the case in normal online streaming.

How is a torrent created?

Initially, the peer starts by creating the data files, which is distributed in equally sized pieces. These pieces are in produced as 2n, which results in sizes from 32 KB to a maximum of 16MB. Next, the data is saved in the torrent file with a hash, which is created for every piece of data using the SHA-1 function. To check if there is any error in the transfer of file between peers, the hash of the received data piece is compared to the hash of the already recorded piece. People who create and share the complete data file, are called seeders.

What kind of information is attached with the torrent basically depends on version of the protocol. There are two section in a torrent files, of which the announce section contains the tracker URL and then, a section called info, which contains the attributes and name of the files, which are necessary to confirm that the received data is uncorrupted and safe to use. The torrents are usually distributed over the internet and some specific websites due to the controversies attached to them. These files are supposed to be listed with one or more tracker, so its distribution details are known. The trackers are used to list the clients that could run this file and download the data. Azureus, now Vuze, was one of the few Vcdq clients who started using trackerless system. In this system the peer becomes the tracker, and the other computer communicated with the peer directly. However, the problem with such system is that it cannot confirm the availability of any peer at all. Later, a DHT based system was introduced, which was more efficient to use and many Vcdq clients such as KTorrent, uTorrent, BitComet, etc. started using it. To make sure that the trackerless system is not used, a flagging method called private flag was introduced. In this method, a flag was used to stop people from using the trackerless system. The flag was placed in the torrent file’s info section that meant, it cannot be reverted or removed. This was useful when the torrent was not to be shared with clients without the particular tracker.

How to download data with Torrents?

The method of downloading the content using torrents is quite easy and straightforward

• The user finds the torrent, which is mostly named with the name of the data file, so it easy to recognize it.
• A Vcdq client is used open the torrent and connects to the tracker listed in the torrent file.
• A list of peers, who are downloading the same file, is created and the pieces of data from different peers is downloaded at the same time.
• The clients have the option to set their own preferences, which include download and upload speed limits, number of connection, etc.

There are however, some issues that are not easy to deal with. Clients usually prefer the method of give and take, and sometimes it is hard to get good download speed, because the recent peer have nothing to share. However, this is not the case every time. Vcdq uses a method of ‘optimistic unchoking’, where a small part of bandwidth is fixed for the new peers, and once they get enough pieces of data, they start to contribute for other peers as well.