[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
More on bittorrent
Hi,
A few months back I had some stats I'd obtained from looking at packet
traces when running Bittorrent.
I'm doing a bit more looking in to that to attempt to give some
insights about how one might transition customers to using an IPv6
service, in a world where there are no public IPv4 addresses
available. I expect that I can prove that service provider NAT+IPv6 is
sufficient. Let's park whatever religious debate happens on that topic
to /dev/null for the moment. I'm also looking in to whatever other
interesting Teredo and 6to4 things I see, and this is a pretty good
way to talk to a large number of IPv6 hosts.
Recent versions of Azureus (bittorrent client) have a distributed hash
tables (DHT) feature, which enables a sort of tracker-less mode of
operation. As azureus has some kind of content distribution network on
the back of it (Vuze, I think they call it), the DHT system is started
even if the client is not fetching torrents. Again, I'm not moving any
download data, I am meerly joining the DHT cloud.
So, my setup is;
- 1 IPv4 interface
- 1 Teredo interface (set up in such a way that my Teredo address
won't change)
- 1 6to4 interface
I'm capturing packets on each of these, and am looking at how to
process the packets to find the following:
- How many hosts am I talking to on each interface? (ie. I send a
packet and they respond, indicating open connectivity)
- How many 6to4 hosts am I also talking to on IPv4 (assumption made by
looking at bits 17-48 of the IPv6 address)
- How many Teredo hosts am I also talking to on IPv4 (very rough
assumption made by looking at bits 97-128 of the IPv6 address.
- Figure out how many 6to4 hosts are Windows machines with public IPv4
addresses.
- See if I can figure out how many of those Windows 6to4 machines are
behind some kind of filtering that is preventing them from responding.
If anyone has any other bits of data that would be useful for me to
pull out, please let me know!
I'm currently stuck trying to force azureus to bring up DHT with two
IPv6 addresses, it currently only seems to want to do one for some
reason - but I'll figure that out. (Jeroen, do you have any ideas
there?)
So far (in 24 hours) I've sent data to about 75k IPv4 hosts, and
received data from 50k.
In 6to4 I have sent data to 27k hosts, and received data from 12k hosts.
Teredo - nothing of note yet, as I'm not advertising my Teredo address
with DHT.
I think that's a pretty decent sample size. These numbers looked quite
different last year when I was last talking about this stuff, I think.
Interesting note, uTorrent (a Windows-only client) enables Teredo on
installation. It has it's own DHT system that doesn't (as far as I am
aware) interact with azureus. I might look in to seeing if I can trick
Windows in to bringing up Teredo /and/ 6to4, and do some tests with it.
Cheers.
--
Nathan Ward