Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

[BitTorrent] Support for "announce-list"

Última Actualización: 08 de October de 2004 - Viernes

BitTorrent is a Peer-To-Peer system for data transfer, but clients get peer knowledge via a central machine or "tracker". So torrents are vulnerable to overloaded or unavailable trackers.

Some clients implement a (compatible) extension, allowing several trackers for a single torrent. That extension is called "announce-list" and this patch extends the standard BitTorrent client to support that feature.

The algorithm:

  • The first tracker probed when the torrent starts is the "canonical" tracker. That is, the tracker used before supporting the "announce-list".

  • If that tracker fails, we shuffle the tracker list in "announce-list" and try every tracker in it, looking for anyone alive.

  • If all trackers are unavailable, we keep trying all of them, just like the standard client.

  • if a tracker is available, the client will try to connect to that tracker for all following tracker related activity. Since trackers "timeout" clients not reporting in "X" minutes, the intent is to keep the tracker "hot" in order to connect and to be connected to more peers. This approach, also, keeps statistics gathering sane.

    Here we suppose that trackers exchange peer lists privately. Another approach could be to connect to all alive trackers, everytime, to get more peers, but the implementation is more complex, the tracker load increases and fiable statistics collection can be a problem.

  • If the alive tracker goes away, the client will probe again.

  • No tracker is probed twice before probing everyone else.

This patch is distributed AS IS (if it erases your harddisk is your fault, not mine ;-) ) using the original BitTorrent MIT License. I haven't removed the original code, so you can patch your client and enable/disable the new code at will.


Historia

  • 08/Oct/04: Primera versión de esta página.



Python Zope ©2004 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS