UDP tracker

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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

[edit | edit source]

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

[edit | edit source]

Criticisms

[edit | edit source]
  • 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.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]