Jump to content

Another way of local peers discovery


Recommended Posts

I want to suggest you one idea.

In the last versions of the uTorrent I noticed the new added feature: "Local peer discovery". As far as I know, it works through sending the broadcast packets to whole local area network of the client to find new peers who are downloading the same stuff. It may be wonderful on some networks, but only on whose, where broadcast messages is enabled.

Unfurtunately, many ISP block broadcast packets to avois malware and viruses from spreading through the network. So using the broadcast packets to find local peers is not a good idea for users of those networks.

But where is another easy way to find local peers!

In many local networks internet access is organized throug the PPPoE or PPPTP protocols. So client side get two IP adresses: the local IP, which is something like 10.*.*.*, and the public internet IP (through the PPPoE or PPPTP tunnel). Local traffic (inside the 10.*.*.* subnet) is often cheeper (or even free) than the internet traffic.

So the idea is to add and one extension to the protocol: "local ip address" so peers during initial message exchenge could get the local addresses of each other, and try to establish the direct connection throug the local network (10.*.*.* interface in my example) insted of connecting thoug the internet.

One other feeld may be needed for this to work: ISP name. Because the local subnet ranges of different ISP's are often the same, peer must check if the other side belongs to the same local network (to avoid unneccessary connection attemts to local IP's of the different ISP's).

I hope this idea may interest you.

Link to comment
Share on other sites

Every so often, µTorrent tries to connect to either my internet ip or my LAN ip...thinking it's a new peer or seed. This seems to even be reflected as an increase by 1 or 2 for the total number of seeds/peers on a torrent. Makes it kinda hard to tell if a torrent is really "dead" or not! And for the longest time I wondered why I never could connect to that "last" peer or seed. :P

Also, the connection seemed slow to timeout even though it was dropped almost instantly by µTorrent for the sake of sending any meaningful traffic. Almost like the OS was sending "keep alive" packets just because neither side of the connection (the same computer) was having connection issues. (pure guess)

Link to comment
Share on other sites

I think ipfilter.dat would serve that purpose perfectly fine. An extra option would simply be redundant :\

Regarding the request... I think the OP was asking for some kind of extension to the protocol whereby µTorrent takes an extra step checking internal IPs with the peer, even if the IP it's actually connected to (as provided by the tracker) currently isn't initially considered local (in case it's something like a loopback connection, I guess?). I'm not really sure how this would make any sense, though, seeing as how local IPs aren't necessarily unique across multiple LANs. So µTorrent doesn't actually do exactly what the OP wants, but what the OP wants doesn't sound feasible.

Link to comment
Share on other sites

  • 3 months later...

I think the best solution is to add the IP mask to make user local peers discovery easy way.

When i know that my local network IP mask is and i enter that mask into mTorrent - the mTorrent will try to connect the peers involved this mask in the primary order.

It would be great!

The reason is that many ISP providers limiting the nonlocal(internet) traffic but not limiting local one. And when the tracker has more than 5000 peers(seaders/leachers) the local peers are preferable.

Link to comment
Share on other sites


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

  • Create New...