[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