UDP tracker

The UDP tracker protocol is a high-performance low-overhead BitTorrent tracker protocol. It uses the stateless User Datagram Protocol (UDP) for data transmission instead of the HTTP protocol (over TCP) regular trackers use. The data is in a custom binary format instead of the standard bencode algorithm BitTorrent uses for most communication.

URLs for this protocol have the following format: udp://example.com:port.

Comparison with the HTTP tracker
The UDP tracker is better optimized and puts less strain on the tracking server. Neither tracker has any effect on transfer speeds.

Clients implementing the protocol

 * BitComet
 * BitLord
 * BitRocket
 * BitSpirit
 * Deluge
 * FlashGet
 * KTorrent
 * libbt
 * Libtorrent (Rasterbar)
 * qBittorrent
 * rtorrent (implementing libTorrent (Rakshasa))
 * μTorrent
 * Turbo Torrent
 * Vuze
 * XBT Client
 * MLDonkey
 * Transmission
 * Tixati

Criticisms

 * Limited IPv6 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 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.