aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: [1] 2

Author Topic: Implement NAT-Traversal from NeoMule for LowID-clients  (Read 11617 times)

KyroMaster

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 87
Implement NAT-Traversal from NeoMule for LowID-clients
« on: January 11, 2007, 11:21:53 AM »

There's already an implementation of NAT-Traversal in eMule from DavidXantanos of NeoMule. Since this is IMHO an essential feature for some users (it's just not possible for some people to have the ports forwarded) it could be integrated into aMule so that it'll be the killer feature  ;)
Logged

lfroen

  • Guest
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #1 on: January 11, 2007, 01:11:41 PM »

IIRC NAT-Traversal needs server somewhere in-the-middle between clients. Who's running this server?
Logged

kreegee

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 160
    • http://kreegee.cycovery.com
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #2 on: January 11, 2007, 04:51:45 PM »

I think he means UDP hole-punching, there are various Mods implementing this...

more: http://gnunet.org/papers/nat.pdf

more: http://forum.emule-project.net/index.php?showtopic=109446&hl=transversal

I think it's a great feature, but it's probably quite an effort to port this to amule...

(ps: i'm just re-reading the thread in the emule-forum, Kry doesn't seem to be very positive about this... )
« Last Edit: January 11, 2007, 04:57:52 PM by kreegee »
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #3 on: January 11, 2007, 05:08:21 PM »

Quote
Originally posted by kreegee
(ps: i'm just re-reading the thread in the emule-forum, Kry doesn't seem to be very positive about this... )

Kry is NEVER positive.

Anyway, as I explained (and SS explained) on that thread, that code uses Kad to exploit everyone as the middle server for the connection. Kad can't be touched, period.
Logged

kreegee

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 160
    • http://kreegee.cycovery.com
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #4 on: January 11, 2007, 08:41:22 PM »

Quote
Anyway, as I explained (and SS explained) on that thread, that code uses Kad to exploit everyone as the middle server for the connection. Kad can't be touched, period.

page 2 of the thread holds a updated version:

Quote
In sample 2 we don't longer use the kad tag.
The Sample have an new own improved Source Exchange Neo XS
It should have in the usual case less overhead than the official XS (for HighID clients we attach less information’s).
The Neo XS have a NanoTag® based format it provides for LowID clients additional information’s necessary to connect them, it’s the buddy ID, and the IP/Port of the current buddy. It also provides secure connection information’s for the ISP Traversal, but this code part is disabled.

lfroen

  • Guest
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #5 on: January 11, 2007, 08:57:21 PM »

Quote
Originally posted by kreegee

more: http://forum.emule-project.net/index.php?showtopic=109446&hl=transversal

I think it's a great feature, but it's probably quite an effort to port this to amule...

Link is broken. However, using other client as server-in-middle is nice idea.
Logged

kreegee

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 160
    • http://kreegee.cycovery.com
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #6 on: January 11, 2007, 09:00:48 PM »

Link works for me, you probably need to be logged in to read the dev-forum...

KyroMaster

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 87
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #7 on: April 14, 2007, 06:26:38 PM »

So does this have a chance to get implemented? This would make aMule much more popular IMHO since the  official client doesnt have this feature and is also rather unmaintainted right now.
NAT traversal is essential for many people and the popular clients all implement it.
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #8 on: April 14, 2007, 07:19:29 PM »

The official client is unmantained? Care to explain?
Logged

KyroMaster

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 87
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #9 on: April 15, 2007, 03:14:11 PM »

IMHO it's unmaintained ;)
There was a time when new versions were released every one to two months, the last new version is over half a year old now, and important features like nat traversal are implemented in mods only.
Perhaps it's not unmaintained, but it seems so :(
Do you know whether there's any active development going on apart from the mods?
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #10 on: April 15, 2007, 04:55:54 PM »

Yes, there is a lot of active development and there will be a new release soon. And no, nat traversal is not a good solution. Some people seems to be of the opinion that the official client doesn't include things because it's "neglected". No, it doesn't include things mods do because they are WRONG. That simple.
Logged

KyroMaster

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 87
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #11 on: April 15, 2007, 05:27:40 PM »

Why is nat traversal wrong? I agree that some people are too lazy to configure their routers ;)
But for many other people (and often these are the ones with the bg internet lines) threre's simply no port forwarding possible. What I also suggested to neomule was for example that when nat traversal is enabled the minimum upload is raised from 10 to 20, so people with small dsl lines can't really use nat traversal.
Logged

Lame_azz

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 15
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #12 on: April 17, 2007, 02:00:52 AM »

Yes, there is a lot of active development and there will be a new release soon. And no, nat traversal is not a good solution. Some people seems to be of the opinion that the official client doesn't include things because it's "neglected". No, it doesn't include things mods do because they are WRONG. That simple.
Well, NATs are EVIL, if you happen to be behind NAT and you can't control it.And some lame\evil ISPs in my country are offering NATed Internet only (sic!).They're saving some small moneys on IP range allocation.And there may be very bad case when there is no other ISPs in same area so you either eat this sh*t or f__koff and rest from internet, at all - that's all choice.Situation is not willing to improve in future, since IP v4 addresspace is getting close to it's natural (2^32) limits so it will be worse and worse in future.

And So, let's take a look what is good and bad in NAT traversal.
- BAD: this requires 3rd party.Clients can be used to coordinate traversal.This however will increase overhead a bit.This is not good.Fortunately, overhead is quite small.
- GOOD: due to traversal, LowID can send data to LowID and amount of transferred data is much more than overhead so it can be worth of efforts.Since this increases P2P network efficiency in total(more data transferred, more chunks available, rare files spread better, etc) feature not seems to be evil.The only real problem is that users will have fewer reasons to struggle for HighID.

P.S. and about similar issue in 2.1.3... I'm not firewalled (or, to be exact, I'm using NATing router but I did forwarded necessary ports so everything works OK, Kad getting OK, ed2k getting HighID, etc).However, I never seen "Connecting via Kad" connection state success.Such sources are hanging in this state for a while, then always (?) getting dropped due to timeout.Therefore it looks like callback tends to always (?) fail for whatever reasons.The only way to get LowIDs as source seems to be source exchange, then looks like they can be used.This causes some sources lost, especially unfair on rare files.Note: I'm using Kad only.I'm usually do not connect to ed2k.Everything works fine, files are shared and uploaded (to LowIDs as well, proves once more my unfirewalled state).Except this issue with callback.Is this known or fixed?Or this is my issue only?Are there advanced logging in aMule and\or way to enable hardcore packets debugging? (Yes, I know what I'm doing.I'm somewhat familiar with ED2k packets and a bit with Kad too, though I did not tracked Kad development for some time unfortunately so I know not all Kad packets and not aware of Kad 2.0 implementation).
« Last Edit: April 17, 2007, 02:09:21 AM by Lame_azz »
Logged

lfroen

  • Guest
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #13 on: April 22, 2007, 02:00:11 PM »

Quote
Situation is not willing to improve in future, since IP v4 addresspace is getting close to it's natural (2^32) limits so it will be worse and worse in future.

Have you heard about IPv6?
Logged

linuxfever

  • Disabled account (bugmenot)
  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 48
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #14 on: September 03, 2007, 02:39:13 AM »

I want to suggest a solution and think it`s better not to start a new thread.

IIRC NAT-Traversal needs server somewhere in-the-middle between clients. Who's running this server?

You could solve that simple thought a new option. "Firewall Helper", with small tooltip something like "If you are a high id user your comp will be used as a firewall helper. This adds a little more overhead to you but it helps the network."

Just deactivate this option as default. Those who want to use it, them may use it. Even if I am a high id user I think it helps the network a lot if low id can connect to low id.

It`s maybe just not a good idea to activate this option for everyone as default. But if everyone can decide what to do no one could feel mad. Imho nat to nat could be one of the most important new features.
Logged
Pages: [1] 2