BitTorrent tracker

Last updated

A BitTorrent tracker is a special type of server that assists in the communication between peers using the BitTorrent protocol.

Contents

In peer-to-peer file sharing, a software client on an end-user PC requests a file, and portions of the requested file residing on peer machines are sent to the client, and then reassembled into a full copy of the requested file. The "tracker" server keeps track of where file copies reside on peer machines, which ones are available at time of the client request, and helps coordinate efficient transmission and reassembly of the copied file. Clients that have already begun downloading a file communicate with the tracker periodically to negotiate faster file transfer with new peers, and provide network performance statistics; however, after the initial peer-to-peer file download is started, peer-to-peer communication can continue without the connection to a tracker.

Modern BitTorrent clients may implement a distributed hash table and the peer exchange protocol to discover peers without trackers; however, trackers are still often included with torrents to improve the speed of peer discovery. [1]

Public vs private trackers

Public trackers

Public or open trackers can be used by anyone by adding the tracker address to an existing torrent, or they can be used by any newly created torrent, like OpenBitTorrent. The Pirate Bay operated one of the most popular public trackers until disabling it in 2009 due to legal trouble, and thereafter offered only magnet links.

Private trackers

A private tracker is a BitTorrent tracker that restricts use by requiring users to register with the site. The method for controlling registration used among many private trackers is an invitation system, in which active and contributing members are given the ability to grant a new user permission to register at the site, or a new user goes through an interview process. [2]

There are several circumstances under which it is legal to distribute copyrighted material or parts thereof.

There are also experiments that legally sell content that is distributed over BitTorrent using a "secure" tracker system.

Improving torrent reliability

Trackers are the primary reason for a damaged BitTorrent "swarm". (Other reasons are mostly related to damaged or hacked clients uploading corrupt data.) The reliability of trackers has been improved through two main innovations in the BitTorrent protocol.

Multi-tracker torrents

Multi-tracker torrents contain multiple trackers in a single torrent file. This provides redundancy in the case that one tracker fails, the other trackers can continue to maintain the swarm for the torrent. One disadvantage to this is that it becomes possible to have multiple unconnected swarms for a single torrent where some users can connect to one specific tracker while being unable to connect to another. This can create a disjoint set which can impede the efficiency of a torrent to transfer the files it describes. Additional extensions such as Peer exchange and DHT mitigate this effect by rapidly merging otherwise disjoint graphs of peers.

Trackerless torrents

Vuze (formerly Azureus) was the first BitTorrent client to implement such a system through the distributed hash table (DHT) method. An alternative and incompatible DHT system, known as Mainline DHT, was developed simultaneously and later adopted by the BitTorrent (Mainline), μTorrent, Transmission, rTorrent, KTorrent, BitComet, and Deluge clients.

Current versions of the official BitTorrent client, μTorrent, BitComet, Transmission and BitSpirit all share compatibility with Mainline DHT. Both DHT implementations are based on Kademlia. As of version 3.0.5.0, Vuze also supports Mainline DHT in addition to its own distributed database through use of an optional application plugin MainlineDHT Plugin. This potentially allows the Vuze client to reach a bigger swarm.

Most BitTorrent clients also use Peer exchange (PeX) to gather peers in addition to trackers and DHT. Peer exchange checks with known peers to see if they know of any other peers. With the 3.0.5.0 release of Vuze, all major BitTorrent clients now have compatible peer exchange.

IPv6 support

One of the options for this HTTP based tracker protocol is the "compact" flag. This flag, as defined in BEP 23, [3] specifies that the tracker can compact the response by encoding IPv4 addresses as a set of 4 bytes (32 bits). IPv6 addresses, though, are 128 bits long, and as such, the "compact" would break IPv6 support. To handle that situation clients and trackers must either avoid using compact announces over IPv6 or implement BEP 07 [4]

Software

opentracker from Dirk Engling powered one of the biggest BitTorrent trackers, The Pirate Bay tracker.

qBittorrent is an open source BitTorrent client with a built-in tracker support.

BitTorious is an open source, commercially supported tracker with integrated web-based management portal.

See also

Related Research Articles

<span class="mw-page-title-main">Shareaza</span> Peer-to-peer file sharing application

Shareaza is a peer-to-peer file sharing client running under Microsoft Windows which supports the Gnutella, Gnutella2 (G2), eDonkey, BitTorrent, FTP, HTTP and HTTPS network protocols and handles magnet links, ed2k links, and the now deprecated gnutella and Piolet links. It is available in 30 languages.

<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 as simply 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.

MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs.

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.

The Invisible Internet Project (I2P) is an anonymous network layer that allows for censorship-resistant, peer-to-peer communication. Anonymous connections are achieved by encrypting the user's traffic, and sending it through a volunteer-run network of roughly 55,000 computers distributed around the world. Given the high number of possible paths the traffic can transit, a third party watching a full connection is unlikely. The software that implements this layer is called an "I2P router", and a computer running I2P is called an "I2P node". I2P is free and open sourced, and is published under multiple licenses.

<span class="mw-page-title-main">BitComet</span> BitTorrent, FTP and HTTP client

BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.

eXeem was a peer-to-peer (P2P) file sharing client using the BitTorrent protocol. eXeem was designed to replace the need for centralized trackers. It largely failed to achieve this goal, and the project was canceled and eXeem's network was shut down by the end of 2005.

<span class="mw-page-title-main">Magnet URI scheme</span> Scheme that defines the format of magnet links

Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files (URN) by their content, via cryptographic hash value rather than by their location.

Protocol encryption (PE), message stream encryption (MSE) or protocol header encrypt (PHE) are related features of some peer-to-peer file-sharing clients, including BitTorrent clients. They attempt to enhance privacy and confidentiality. In addition, they attempt to make traffic harder to identify by third parties including internet service providers (ISPs). However, encryption will not protect one from DMCA notices from sharing not legal content, as one is still uploading material and the monitoring firms can merely connect to the swarm.

Peer exchange or PEX is a communications protocol that augments the BitTorrent file sharing protocol. It allows a group of users that are collaborating to share a given file to do so more swiftly and efficiently.

<span class="mw-page-title-main">Vuze</span> BitTorrent client

Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content. Content is presented through channels and categories containing TV shows, music videos, movies, video games, series and others.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

This is a glossary of jargon related to peer-to-peer file sharing via the BitTorrent protocol.

libtorrent

libtorrent is an open-source implementation of the BitTorrent protocol. It is written in and has its main library interface in C++. Its most notable features are support for Mainline DHT, IPv6, HTTP seeds and μTorrent's peer exchange. libtorrent uses Boost, specifically Boost.Asio to gain its platform independence. It is known to build on Windows and most Unix-like operating systems.

Micro Transport Protocol is an open User Datagram Protocol-based (UDP-based) variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control problems found in conventional BitTorrent over Transmission Control Protocol (TCP), while providing reliable, ordered delivery.

In the BitTorrent file distribution system, a torrent file or meta-info file is a computer file that contains metadata about files and folders to be distributed, and usually also a list of the network locations of trackers, which are computers that help participants in the system find each other and form efficient distribution groups called swarms. Torrent files are normally named with the extension .torrent.

The Local Peer Discovery protocol, specified as BEP-14, is an extension to the BitTorrent file-distribution system. It is designed to support the discovery of local BitTorrent peers, aiming to minimize the traffic through the Internet service provider's (ISP) channel and maximize use of higher-bandwidth local area network (LAN).

Mainline DHT is the name given to the Kademlia-based distributed hash table (DHT) used by BitTorrent clients to find peers via the BitTorrent protocol. The idea of using a DHT for distributed tracking in BitTorrent was first implemented in Azureus 2.3.0.0 in May 2005, from which it gained significant popularity. Unrelated but around the same time, BitTorrent, Inc. released a similar DHT into their client called Mainline DHT, and thus popularized the use of distributed tracking in the BitTorrent protocol. Measurement showed that by 2013, the concurrent number of users of Mainline DHT is from 16 million to 28 million, with intra-day changes of at least 10 million.

References

  1. Di, Wu; Dhungel, Prithula; Hei, Xiaojun; Zhang, Chao; Ross, Keith. "Understanding Peer Exchange in BitTorrent Systems - New York University" (PDF). Retrieved 22 December 2022.
  2. Jones, Ben (15 January 2008). "Trading BitTorrent Tracker Invites, Commodity or Curse?". TorrentFreak . Archived from the original on 19 June 2013. Retrieved 23 October 2010.
  3. Harrison, David. "Tracker Returns Compact Peer Lists". Archived from the original on 2010-02-11. Retrieved 2017-02-28.
  4. Hazel, Greg; Norberg. "IPv6 Tracker Extension". Archived from the original on 2017-05-15. Retrieved 2017-02-28.