Jump to content

[IPv6] uTorrent behavior when contacting Tracker


eddie4

Recommended Posts

Hi all,

Aim an Bittorrent Tracker operator and am a bit confused by the way utorrent is currently handling trackers that both support IPv4 and IPv6.

The current setup is as fallowing

Tracker:

IPv4_IP 37.251.*.*

IPv6_IP 2001:*:1f15:105a:4000::102

Now because one tracker can't use both ipv4&6 there are 2 instances running. Lets say v4 has 100 peers and v6 has 20.

So time for DNS records

v4.domain.org (HAS ipv4)

v5.domain.org (HAS ipv4 & ipv6)

v6.domain.org (HAS ipv6)

So far as i can tel with my tests is that utorrent will connect as fallowing:

v4.domain.org (Connected to ipv4)

v5.domain.org (Connected to ipv6)

v6.domain.org (Connected to ipv6)

Knipsel.png

The problem is with the way it connects to v5. Lets say an computer has both ipv4&6 connection it will now connect only to the IPv6 tracker and not to the IPv4 tracker. This is an issue because currently the ipv6 swarm will be pretty much empty. As ipv6 processes it will be the other way around and people with ipv4 won't be able to connect to people with ipv4&6.

Why doesn't utorrent connect to both ip4&6 Ip's if both dns records are available? Or did I mess up somewhere else and it does?

Link to comment
Share on other sites

Did you check to see if the tracker was receiving the ipv4 and/or ipv6 address in the tracker request query string?

How are these three trackers separated?

Well they are 3 different DNS records for 2 trackers IPv4 and ipv6.

Capture4.png

Ill have to check the request string

Link to comment
Share on other sites

And are they all one tracker package on one instance of the tracker software?

No they are two tracker instances as opentracker will not and cannot run IPv4 and IPv6 at the same time. This is per design and as all bigger none-private trackers run it something we will need to workaround

Am close to getting the peerid's just need to get them out of wireshark

Link to comment
Share on other sites

As expected:

ipv4 = ipv4

ipv5 = ipv6 (Has both dns records for ipv4 and ipv6)

ipv6 = ipv6

This fallows the rule that IPv6 has priority when available. To keep ipv6 implementation backwards compatible we need ipv6 connections to connect to both ipv4 and ipv6 when ipv4 is available.

Link to comment
Share on other sites

To keep ipv6 implementation backwards compatible we need ipv6 connections to connect to both ipv4 and ipv6 when ipv4 is available.

Incorrect. We need trackers to respect that dual-stack clients will send the other IP address (the one they didn't connect from) in the query string.

This is the problem with opensource protocols because UDP ipv6 also isn't working because of problems between implementations.

Well i guess the utorrent dev's need to talk to Opentracker devs because this needs to get fixed before IPv6 becoms widely implementen

opentrackers view on UDPv6 and Trackerv6

http://opentracker.blog.h3q.com/2007/12/28/the-ipv6-situation/

Utorrent and opentracker need to talk this over because you are the 2 big players. and can't live without each other.

Edit

Funny thing is Vuze works perfectly with UDPv6 and IPv5 connects to ipv4. Problem is that it does not connect to IPv6 at all. Seems Vuze prioritizes IPv4 over ipv6.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...