[BitTorrent] Tracker scrape extension proposal

Olaf van der Spek OvdSpek at LIACS.NL
Wed Jan 19 16:06:43 EST 2005


Roger Pate wrote:
> On Mon, 17 Jan 2005 10:51:38 +0100, Olaf van der Spek <OvdSpek at LIACS.NL> wrote:
> 
> 
>>Roger Pate wrote:
>>
>>>On Mon, 17 Jan 2005 00:19:42 +0100, Olaf van der Spek <OvdSpek at LIACS.NL> wrote:
>>>
>>>
>>>
>>>>>from the tracker, individual requests aren't particularaly efficient,
>>>>>but nor is fetching everything. I'd still rather fetch everything than
>>>>>hit the tracker with 100 HTTP requests, though. This is why I think it'd
>>>>
>>>>Why?
>>>>100 single-torrent requests consume far less than 3 mb.
>>>
>>>
>>>Each HTTP request consumes server resources, even if the data transferred is small. One hundred requests is significant.
>>
>>You mean CPU? RAM?
>>True, but IMO the most costly/valuable resource is network bandwidth.
>>
> 
> 
> Each TCP/IP connection takes roughly 4k, on average. This is in the TCP stack. If the connection is not closed exactly properly, it may have to time-out to be reclaimed. Even if it was, it may not be reclaimed immediately. That means 100 single-torrent requests is 400k of RAM per client in just connection resources. It would be similar to a SYN DoS attack, where the bandwidth isn't targetted, but the TCP stack is, and it used to bring down servers until they learned to ignore the SYN packets. But in this case, they'd be legitimate connections and couldn't be ignored.

But which clients are likely to need 100 scrape responses?
Besides, the requests can/will not be done all in parallel.

> The most valuable resource is usually bandwidth. But if you're running low on other resources, they can become much more important.
> 
> And this without even mentioning that doing 100 database lookups instead of 1 has similar consequences.

Database?
High performance trackers don't use databases as primary storage.

> Some mechanism to pass a list of torrent hashes should be used if retrieving all of them is unacceptable.

True.
One (IMO) nice way would be to add something like info_hashes= with a 
single string of all info_hashes concatenated in some encoding.


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/BitTorrent/

<*> To unsubscribe from this group, send an email to:
    BitTorrent-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 





More information about the BitTorrent mailing list