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 11616 times)

gaglia

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 63
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #15 on: September 09, 2007, 11:18:29 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).

Quote.

IPv6 is not an affordable solutions with many Internet Providers: mainstream public doesn't know about the issues of being NATted, and tends to prefer ISPs which give a larger bandwidth without caring being NATted or not. This is obviously bad, but there is not much we can do about it.

Linuxfever's idea is quite good imho. With this feature enabled, aMule would easily become more popular than eMule in many countries.

P.S.: but in no way i'd prefer to see the 2.2.0 release date posticipated again in order to add this feature :-D
« Last Edit: September 10, 2007, 02:56:07 PM by gaglia »
Logged

Anne Onyme

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 56
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #16 on: September 12, 2007, 01:21:34 PM »

Hi,

NAT is evil and IPV6 wont solve this issue, NAT will remain. But the good news is NAT will have a standard behavior at some point in the future as the problem is the same in the VoIP field of use. RFC are coming. As now the STUN technology help in some cases, or the more advanced ICE technology. But to pass all NAT you must have something relaying the traffic. That just sucks.

IMHO something similar to STUN in a more p2p fashion (other clients acting as STUN server instead of a central server) is a must have for aMule. It will not solve all issues with NAT but it will improve the situation for a low additional bandwidth.

Regards.
Logged
Chaque découverte, chaque progrès, chaque augmentation de la richesse de l'humanité a son origine dans l'ensemble du travail manuel et cérébral du passé et du présent.

Anne Onyme

  • Jr. Member
  • **
  • Karma: 0
  • Offline Offline
  • Posts: 56
Re: Implement NAT-Traversal from NeoMule for LowID-clients
« Reply #17 on: September 15, 2007, 08:00:23 PM »

Hi,

For a more theoretical paper, it seems to me this one is useful :
http://www.brynosaurus.com/pub/net/p2pnat/
Peer-to-Peer Communication Across Network Address Translators

Bryan Ford
Massachusetts Institute of Technology
baford (at) mit.edu

Pyda Srisuresh
Caymas Systems, Inc.
srisuresh (at) yahoo.com

Dan Kegel
dank (at) kegel.com

1 Introduction
2 General Concepts
3 UDP Hole Punching
4 TCP Hole Punching
5 Properties of P2P-Friendly NATs
6 Evaluation of Existing NATs
7 Related Work
8 Conclusion
Bryan Ford 2005-02-17

They also implemented a tool to test NAT:
http://midcom-p2p.sourceforge.net/
NAT Check
Version 3, with UDP and TCP support
Check Your Network Address Translator
for Compatibility with Peer-to-Peer Protocols

This IETF working group is interesting for this topic too:
http://www.ietf.org/html.charters/behave-charter.html

Regards
« Last Edit: September 15, 2007, 08:35:52 PM by Anne Onyme »
Logged
Chaque découverte, chaque progrès, chaque augmentation de la richesse de l'humanité a son origine dans l'ensemble du travail manuel et cérébral du passé et du présent.
Pages: 1 [2]