UDP tracker
Encyclopedia
The UDP tracker protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 is a high-performance low-overhead BitTorrent tracker
BitTorrent tracker
A BitTorrent tracker is a server that assists in the communication between peers using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads...

 protocol. It uses the stateless User Datagram Protocol
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

 (UDP) for data transmission instead of the HTTP protocol (over TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

) regular trackers use. The data is in a custom binary format instead of the standard bencode
Bencode
Bencode is the encoding used by the peer-to-peer file sharing system BitTorrent for storing and transmitting loosely structured data.It supports four different types of values:* byte strings,* integers,* lists, and* dictionaries ....

 algorithm BitTorrent uses for most communication.

URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....

s for this protocol have the following format: udp://tracker:port. This protocol is supported by only some BitTorrent clients.

Comparison with the HTTP tracker

The UDP tracker is better optimized and puts less strain on the tracking server, but it is supported by only a few BitTorrent client
BitTorrent client
BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...

s. On the other hand the HTTP tracker is supported by all BitTorrent clients and is more reliable for ratio updates. Neither tracker has any effect on transfer speeds.

Clients implementing the protocol

  • BitComet
    BitComet
    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...

  • BitLord
    BitLord
    BitLord is a BitTorrent client written in C++ for Microsoft Windows.BitLord Pro is a recent "commercial" release of BitLord.- Features :According to the official website, BitLord contains these features:...

  • BitRocket
  • BitSpirit
    BitSpirit
    BitSpirit is a freeware, closed source BitTorrent client by ByteLinker Inc. It is available for Microsoft Windows and written in C++.According to TorrentFreak, 1.996% of BitTorrent users are using BitSpirit.-External links:* *...

  • Deluge
    Deluge (software)
    - See also :* Comparison of BitTorrent clients* Usage share of BitTorrent clients-External links:* * * *...

  • FlashGet
    FlashGet
    FlashGet is a freeware download manager for Microsoft Windows...

  • KTorrent
    KTorrent
    KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...

  • libbt
  • Libtorrent (Rasterbar)
    Libtorrent (Rasterbar)
    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....

  • rtorrent
    RTorrent
    rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...

     (implementing Libtorrent (Rakshasa))
  • µTorrent
  • Turbo Torrent
  • Vuze
    Vuze
    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 by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...

  • XBT Client
  • MLDonkey
    MLDonkey
    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...

  • Transmission

Criticisms

  • Limited IPv6
    IPv6
    Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

     support (the protocol specifies a 32-bit integer for the IP address and supports pseudo-headers for 128-bit IPv6 addresses)
  • No mechanism for index
    BitTorrent index
    A BitTorrent index is a list of .torrent files , managed by a website, that is available for searching files to download through BitTorrent protocol. It should be differentiated from a BitTorrent tracker, which merely coordinates communication between peers attempting to download the payload of the...

    sites to scrape an entire tracker
    • This can be supported by traditional TCP scrape mechanisms, as it's not a performance issue.
  • No mechanism for trackers to enforce client restrictions
  • The UDP tracker protocol has no field to represent the user agent, as the HTTP protocol has. However, the convention to encode the user agent and version inside the peer_id field still applies.
  • No mechanism for trackers to send warning messages
  • No compression, especially problematic for large announce responses.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK