On Fri, 30 Sep 2005 15:45:14 +1200, Lawrence D'Oliveiro wrote:
> In article <>,
> Nigel Roberts <> wrote:
>
>>Lawrence D'Oliveiro wrote:
>>
>>> In article <>,
>>> Gordon <> wrote:
>>>
>>>>Two things which slow [BitTorrent] down. 1) a tracker which is sick or
>>>>dies and 2) not having the correct ports open 6881 thru 6889. The third is
>>>>lack of seeds and/or peers.
>>>
>>> I never understood the ports 6881-thru-whatever business. I've seen
>>> documentation claiming it can make things faster, but how? Either
>>> BitTorrent can make the connections or it can't.
>>
>>The thing is that if a person has part of a file that you want, and you are
>>both behind firewalls with out pin holes, you will never be able to connect
>>to them to get the bits you want and they can never connect to you either.
>
> Actually, you can by doing hole punching. BitTorrent must be able to
> manage this, because it doesn't say that, if you don't open the
> pinholes, you won't be/may not be able to transfer at all.
http://wiki.theory.org/BitTorrentSpecification
The parameters used in the client->tracker GET request are as follows:
ip: Optional. The true IP address of the client machine, in dotted quad
format or rfc3513 defined hexed IPv6 address. Notes: In general this
parameter is not necessary as the address of the client can be determined
from the IP address from which the HTTP request came. The parameter is
only needed in the case where the IP address that the request came in on
is not the IP address of the client. This happens if the client is
communicating to the tracker through a proxy (or a transparent web
proxy/cache.) It also is necessary when both the client and the tracker
are on the same local side of a NAT gateway. The reason for this is that
otherwise the tracker would give out the internal (RFC191

address of the
client, which is not routeable. Therefore the client must explicitly state
its (external, routeable) IP address to be given out to external peers.
Various trackers treat this parameter differently. Some only honor it only
if the IP address that the request came in on is in RFC1918 space. Others
honor it unconditionally, while others ignore it completely. In case of
IPv6 address (e.g.: 2001:db8:1:2::100) it indicates only that client can
communicate via IPv6.
Handshake
The initiator of a connection is expected to transmit their handshake
immediately. The recipient may wait for the initiator's handshake, if it
is capable of serving multiple torrents simultaneously (torrents are
uniquely identified by their info_hash). However, the recipient must
respond as soon as it sees the info_hash part of the handshake. The
tracker's NAT-checking feature does not send the peer_id field of the
handshake.
--
Hardware, n.: The parts of a computer system that can be kicked
The best way to get the right answer on usenet is to post the wrong one.