[bittorrent] UDP

Joseph Ashwood ashwood at msn.com
Fri Apr 1 06:23:18 EST 2005

----- Original Message ----- 
From: "Olaf van der Spek" <olafvdspek at gmail.com>
Subject: Re: [bittorrent] UDP

> On Apr 1, 2005 1:22 AM, Joseph Ashwood <ashwood at msn.com> wrote:
>> ----- Original Message -----
>> From: "Olaf van der Spek" <olafvdspek at gmail.com>
>> Subject: Re: [bittorrent] UDP
>> > The ACKs are also used for congestion/rate control. How would you do
>> > that without ACKs?
>> Two ways: First ignore the problem. Having to make a few extra requests 
>> for
>> packets that have been dropped won't pose too much of a burden on the
>> network. Second by requesting few enough packets that your connection 
>> won't
>> be swamped. The overall connection rate can be estimated based on how 
>> high
>> the incoming rate can be before it caps. Between these it should be 
>> possible
> I don't think that's going to work.

They are highly imprecise, but should offer at least some control.

> Congestion avoidance and rate
> control are far too complex for such a simple solution.
> What about the outgoing rate?

Outgoing rate is (to me) not as much of a concern, the underlying operating 
system should perform the necessary pipelining anyway. I'm not aware of any 
operating system that won't send everything but I'm far from an expert of 

You seem to be forgetting (as I did for quite some time) that there are 
hidden ACKs in the protocol. Every request (except the last) has a response. 
I admit this pushes a significant (i.e. major) amount of work from the OS 
into the application. If the ACK.responses don't arrive then there is 
congestion, if the responses are arriving the congestion is missing, 
oversimplified yes, but the fundamentals are there. 

More information about the BitTorrent mailing list