[bittorrent] super-seeding and HAVE messages

Petter Nilsen pettern at opera.com
Fri Apr 28 07:59:35 EDT 2006

Consider http://wiki.theory.org/BitTorrentSpecification:

On the HAVE message, it states the following:

"Implementer's Note: That is the strict definition, in reality some games  
may be played. In particular because peers are extremely unlikely to  
download pieces that they already have, a peer may choose not to advertise  
having a piece to a peer that already has that piece. At a minimum "HAVE  
supression" will result in a 50% reduction in the number of HAVE messages,  
this translates to around a 25-35% reduction in protocol overhead."

However, it seems to contradict what is written under super-seeding:

"When the client has finished downloading the piece, the seed will not  
inform it of any other pieces until it has seen the piece it had sent  
previously present on at least one other client. Until then, the client  
will not have access to any of the other pieces of the seed, and therefore  
will not waste the seed's bandwidth."

Now, this is a problem with eg. Azureus which will not send another HAVE  
message to the peer it just sent a complete piece to, if the peer  
implements the HAVE message protocol optimization and does not send a HAVE  
message to the super-seeder (as it knows the super-seeder already has the  

Any recommendation on what can be done here?   Keeping the optimization of  
HAVE messages is tempting, but not if it causes problems in super-seeder  

Petter Nilsen, Software Engineer, Opera Software
Phone no: +4791684569 / mailto:pettern at opera.com

More information about the BitTorrent mailing list