Gnutella Forums  

Go Back   Gnutella Forums > Current Gnutella Client Forums > LimeWire+WireShare (Cross-platform) > Open Discussion topics
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

Open Discussion topics Discuss the time of day, whatever you want to. This is the hangout area. If you have LimeWire problems, post them here too.


Welcome To Gnutella Forums

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, fun aspects such as the image caption contest and play in the arcade, and access many other special features after your registration and email confirmation. Registration is fast, simple and absolutely free so please, join our community today! (click here) (Note: we use Yandex mail server so make sure yandex is not on your email filter or blocklist.)

If you have any problems with the Gnutella Forum registration process or your Gnutella Forum account login, please contact us (this is not for program use questions.) Your email address must be legitimate and verified before becoming a full member of the forums. Please be sure to disable any spam filters you may have for our website, so that email messages can reach you.
Note: Any other issue with registration, etc., send a Personal Message (PM) to one of the active Administrators: Lord of the Rings or Birdy.

Once registered but before posting, members MUST READ the FORUM RULES (click here) and members should include System details - help us to help you (click on blue link) in their posts if their problem relates to using the program. Whilst forum helpers are happy to help where they can, without these system details your post might be ignored. And wise to read How to create a New Thread

Thank you

If you are a Spammer click here.
This is not a business advertising forum, all member profiles with business advertising will be banned, all their posts removed. Spamming is illegal in many countries of the world. Guests and search engines cannot view member profiles.



           Deutsch?              Español?                  Français?                   Nederlands?
   Hilfe in Deutsch,   Ayuda en español,   Aide en français et LimeWire en françaisHulp in het Nederlands

Forum Rules

Support Forums

Before you post to one of the specific Client Help and Support Conferences in Gnutella Client Forums please look through other threads and Stickies that may answer your questions. Most problems are not new. The Search function is most useful. Also the red Stickies have answers to the most commonly asked questions. (over 90 percent).
If your problem is not resolved by a search of the forums, please take the next step and post in the appropriate forum. There are many members who will be glad to help.
If you are new to the world of file sharing please do not be shy! Everyone was ‘new’ when they first started.

When posting, please include details for:
Your Operating System ....... Your version of your Gnutella Client (* this is important for helping solve problems) ....... Your Internet connection (56K, Cable, DSL) ....... The exact error message, if one pops up
Any other relevant information that you think may help ....... Try to make your post descriptive, specific, and clear so members can quickly and efficiently help you. To aid helpers in solving download/upload problems, LimeWire and Frostwire users must specify whether they are downloading a torrent file or a file from the Gnutella network.
Members need to supply these details >>> System details - help us to help you (click on blue link)


Moderators

There are senior members on the forums who serve as Moderators. These volunteers keep the board organized and moving.
Moderators are authorized to: (in order of increasing severity)
Move posts to the correct forums. Many times, members post in the wrong forum. These off-topic posts may impede the normal operation of the forum.
Edit posts. Moderators will edit posts that are offensive or break any of the House Rules.
Delete posts. Posts that cannot be edited to comply with the House Rules will be deleted.
Restrict members. This is one of the last punishments before a member is banned. Restrictions may include placing all new posts in a moderation queue or temporarily banning the offender.
Ban members. The most severe punishment. Three or more moderators or administrators must agree to the ban for this action to occur. Banning is reserved for very severe offenses and members who, after many warnings, fail to comply with the House Rules. Banning is permanent. Bans cannot be removed by the moderators and probably won't be removed by the administration.


The Rules

1. Warez, copyright violation, or any other illegal activity may NOT be linked or expressed in any form. Topics discussing techniques for violating these laws and messages containing locations of web sites or other servers hosting illegal content will be silently removed. Multiple offenses will result in consequences. File names are not required to discuss your issues. If filenames are copyright then do not belong on these forums & will be edited out or post removed. Picture sample attachments in posts must not include copyright infringement.

2. Spamming and excessive advertising will not be tolerated. Commercial advertising is not allowed in any form, including using in signatures.

3. There will be no excessive use of profanity in any forum.

4. There will be no racial, ethnic, or gender based insults, or any other personal attacks.

5. Pictures may be attached to posts and signatures if they are not sexually explicit or offensive. Picture sample attachments in posts must not include copyright infringement.

6. Remember to post in the correct forum. Take your time to look at other threads and see where your post will go. If your post is placed in the wrong forum it will be moved by a moderator. There are specific Gnutella Client sections for LimeWire, Phex, FrostWire, BearShare, Gnucleus, Morpheus, and many more. Please choose the correct section for your problem.

7. If you see a post in the wrong forum or in violation of the House Rules, please contact a moderator via Private Message or the "Report this post to a moderator" link at the bottom of every post. Please do not respond directly to the member - a moderator will do what is required.

8. Any impersonation of a forum member in any mode of communication is strictly prohibited and will result in banning.

9. Multiple copies of the same post will not be tolerated. Post your question, comment, or complaint only once. There is no need to express yourself more than once. Duplicate posts will be deleted with little or no warning. Keep in mind a forum censor may temporarily automatically hold up your post, if you do not see your post, do not post again, it will be dealt with by a moderator within a reasonable time. Authors of multiple copies of same post may be dealt with by moderators within their discrete judgment at the time which may result in warning or infraction points, depending on severity as adjudged by the moderators online.

10. Posts should have descriptive topics. Vague titles such as "Help!", "Why?", and the like may not get enough attention to the contents.

11. Do not divulge anyone's personal information in the forum, not even your own. This includes e-mail addresses, IP addresses, age, house address, and any other distinguishing information. Don´t use eMail addresses in your nick. Reiterating, do not post your email address in posts. This is for your own protection.

12. Signatures may be used as long as they are not offensive or sexually explicit or used for commercial advertising. Commercial weblinks cannot be used under any circumstances and will result in an immediate ban.

13. Dual accounts are not allowed. Cannot explain this more simply. Attempts to set up dual accounts will most likely result in a banning of all forum accounts.

14. Video links may only be posted after you have a tally of two forum posts. Video link posting with less than a 2 post tally are considered as spam. Video link posting with less than a 2 post tally are considered as spam.

15. Failure to show that you have read the forum rules may result in forum rules breach infraction points or warnings awarded against you which may later total up to an automatic temporary or permanent ban. Supplying system details is a prerequisite in most cases, particularly with connection or installation issues.

Violation of any of these rules will bring consequences, determined on a case-by-case basis.


Thank You! Thanks for taking the time to read these forum guidelines. We hope your visit is helpful and mutually beneficial to the entire community.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old July 19th, 2002
VTOLfreak
Guest
 
Posts: n/a
Default Multiple clients behind a NAT - IP detection using UPnP

There are many users who are in an enviroment where there are multiple people that want to use Gnutella at the same time but

where thery is only one connection (one IP) to the Internet and everyone is behind a NAT router .

Example : family with one ADSL connection but has a router with 3 PC's connected

Pic : red lines represent physical wires between devices



Suppose al 3 of those PC's are running a Gnutella client on the same port at hte same time .
Then noone will be able to connect since the NAT can't figure out what needs to be forwared to who .
Port forwarding only works with one IP at the time .
You cannot forward data to multiple places at a time .
If you force the NAT to forward data on a specific port to a specific IP then only that PC can connect . the other 2

remaining PC's are left out in the cold .

Pic : red lines represent Gnutella connections .
the inside of the circle is the LAN .
the outside the Internet .
This config can not work !



But suppose that the NAT supports UPnP and all the Gnutella clients too :
The first client that starts up looks if there are any other clients on the LAN by scanning for port 6346 . If there are

none it asks the NAT the outside IP using UPnP (IP detection!) .
then it goes into "peer" mode wich is normal operation + proxy for other clients .

Any other clients that start up after the first one also scan the network like the first one .
But they wil find other clients running on the LAN . (either oher leafs or the peer)
then they go into "leaf" mode .
They ask the first client they encounter the IP of the "peer" on the LAN .
Then they connect to the peer and the peer does everything for them . (searching , forwarding results , etc ... )
You might recognize the Ultrapeer concept introduced by LimeWire but we go further :
the peer also acts as a proxy for connections carying files . (uploads and downloads)
Since the leafs cannot connect directly to the NAT (because the peer already is) they have to route everything tru the

"peer" .
I mean this on a physical level , the leaf cannot acces port 6346 on the NAT because it is in use .

Pic : red lines represent connections .
the inside of the circle is the LAN .
the outside the Internet .
This config does work !



Notes :
1) What if the peer quits ?

Then the first client that came on after the peer (first leaf) becomes the new peer .
the other leafs on the LAN know that the peer has quit since they suddenly lost their connection .
But what if every leaf has to maintain a list of IP's :
IP of peer
IP of first leaf
IP of second leaf
...

Also every leaf knows wich number it is (second , third , etc)
The first leaf becomes the new "peer"
and all the leafs connect to this new peer .
The list also get's updated : the second leaf now becomes the first leaf and the third leaf becomes the second one , etc ...

2) how do they get that list and keep it updated ?

The peer knows the number and IP of every leaf connected to him . then when a new leaf connects to him the peer sends that

list to that leaf and every other leaf on the LAN (to keep them updated)

3) How does the "peer" find it's real IP ? (the outside IP)

That's were the UPnP comes in : The peer simply asks the NAT !
If the NAT router supports UPnP its real easy to find the IP .

4) And if it doesn't support UPnP ?

Then the client can find it's IP by examining the IP of icoming data originating from outside the LAN .
It should never try to "examine" data originating from inside the LAN or it might conclude it's not on a LAN or think that's

it's real IP .
But this is easily prevented by preventing the client from examining data with private IP's .

5) how does the peer know the difference form leafs and outside connections ?

Inside the LAN there is a set range of IP's . (usually 192. )
So everyone that wants to connect to the peer with a IP in that range is a leaf from the LAN .
Everyone with another IP is a normal connection that got forwarded from the NAT .

The peer can find out the appropiate range by simple looking at its own IP .

6) How does a client know if it is on a private LAN with a NAT or not ?

Because the DCHP server on that LAN (or manually) assigns IP's to everyone in a certain IP range .
And some ranges are reserved for special purposes .
For example : the 192. range is used on LAN's behind NAT .
(Don't know if that is the official definition)
The client has a list of ranges and knows if a IP is a private or public IP .
Most of the IP's listed in red on the download window are private IP's .
And those clients are located on a LAN behind a NAT .

7) what if the peer isn't on port 6346 ?

2 solutions :
- Don't change the default port (6346) on any of the clients on the LAN
- Ask the NAT using UPnP . the NAT knows who the peer is since it is forwarding data to the peer .
Don't sure how this works but I heard that it is possible . (I'm not a networking guru)
If the NAT doesn't support UPnP you wil have to use solution #1

8) Why don't we simply change to port on each client ?

Because there are people that don't bother .
Or are simply too stupid .
But then they come to the forums with posts like "I can't connect" and "x client sucks" .

The idea was to work out a scheme wich doesn't require user input .
If you noticed I never asked that the one in charge of the network to run by every PC to adjust their settings .
Now if you are at home with 2 PC's it isn't that hard to go by every one to change the ports .
But if you work in a company with 100+ PC's and you aren't allowed to acces any of those exept your own ...
Even if they have a T1 they might not have unique IP's for everyone .
IP's cost money : They have to buy every single one from the ISP .

Imagine you are CEO :
Buy 300 IP's at 2$ a piece or buy 150$ NAT ?
I think you won't have to hesitate long .
Some big connections indeed come with limitles IP's but many don't and have limits like 10 or 20 IP's .

"But if they have 100+ PC they will need that big limitles connection"
Trhu in some cases but many companies have enough bandwidt on one connection like a T1 because they are not specialized in

the internet buisnes .
Imagine you work in a big company that for example makes swimming pools (stupid example but will do)
they might have 50+ PC's but they won't need a T3 .

And it is not likely that in such a big company that you are allowed to run by every PC to change their ports .
There are more people stuck in this situation then you think .


So any questions or ideas ?
I think it's really time that someone (don't care who) starts working on this problem .
There are allot of familys nowadays that have 2 or more PC's but with a ISP that only assings one IP .
But they only realize the limitations of a NAT after they picked up a cheap one from their local supermarket .
But they also don't think of changing the ports on each client ...
Remember : my idea was to come up with a solution that doesn't require user input .
Reply With Quote
  #2 (permalink)  
Old July 19th, 2002
Connoisseur
 
Join Date: July 4th, 2002
Posts: 274
Krieger88 is flying high
Default

If you are behind a router (without port forwarding) you will not be able to accept any incoming connections to your gnutella server port at all, so this is no issue in this case. You should still be able to connect to gnutella however.

The simplest solution is to add proxy support to LimeWire and set up a proxy on the router, - I've got some SOCKS code from an open-source java httpclient on my harddisk, I meant to make it usable for LimeWire, but I did not have time since I had to spend most of my energy on my education (at the university). Since the semester has ended I think I could add it pretty soon and submit the patch to the LimeWire team.

Setting up LimeWire itself to relay connections (including uploads and downloads) for other clients is a nice idea but I think it's not absolutely necessary for that purpose. There are SOCKS servers in java that could do the relaying stuff on any plattform.
Reply With Quote
  #3 (permalink)  
Old July 19th, 2002
VTOLfreak
Guest
 
Posts: n/a
Default

Altering a client to relay connections (proxy or SOCKS) is not a problem .
But somehow the clients have to find eachother on the LAN .
Once the clients knows the location of their neighbours the rest can be worked out with several solutions .

On the net it is just thesame problem :
Why do you think we have hostcaches ?
But on the net we atleast have the hostcaches .
They always stay in the same place so the clients know how to find other clients .

But on a home-LAN you have computers jumping on and off al the time .
So you have to have a dynamic solution wich doesn't require dedicated hardware . (meaning : a hostcache)

How do you find eachother on a LAN ?
There is no handy-dandy always-on hostcache on a LAN .
Do you think that our example family will dedicate a PC just to run a hostcache ?

Just thesame with the proxy : Do you think that the average user will dedicate a computer just for a proxy ? I don't think so .

Setting up a proxy on the router ?
Then we again bump into the average user group .
1)The average user doesn't have a comp as a router .
2)The average user doesn't know how to set-up a comp as a router
When you use the term "router" in the average user group you have to think those cheap POS they pick up at RadioShack .

So they can't fiddle with their routers like they want since the thing doesn't support it .
(Unless you find the time to write new firmware for every router on the market)
Reply With Quote
  #4 (permalink)  
Old July 19th, 2002
VTOLfreak
Guest
 
Posts: n/a
Default

This solution was meant for the average user .
That in turn means that you can ask the user to do this or that .
You have to come up with a solution with no user input .

And the "average user" as only a few resources on their LAN :
-PC's that jump on and of all the time
-A cheap NAT router wich maybe supports UPnP

You want a hostcache ? can't , they don't have dedicated hardware
You want a proxy ? can't they don't have dedicated hardware
You want to fiddle with their router ? can't , thing doesn't support it
You want average users to do something more then installing your client? can't , they don't know anything about comps and networks .
Reply With Quote
  #5 (permalink)  
Old July 19th, 2002
VTOLfreak
Guest
 
Posts: n/a
Default

Damn ! the forum keeps logging me out !
Reply With Quote
  #6 (permalink)  
Old July 21st, 2002
Bobo the Red's Avatar
doesn't get out much
 
Join Date: June 8th, 2002
Location: Texas
Posts: 128
Bobo the Red is flying high
Question Does this work?

This gave me an interesting idea .... take the pc that i run limewire on all the time ... its on a lan (home), enable its ultrapeer capabilities ... take another pc on the lan ... remove all hosts from list except for first computer ....

so I've got 192.168.254.253 as the host and 192.168.254.250 looking at that as its only source of hosts ...

is this going to get me anywhere? .... Just curious, as the .250 machine just pulled up a list of ultrapeers, which I'm assuming it got from the .253 machine. Or is Limewire hard coded with a hosts list?
Reply With Quote
  #7 (permalink)  
Old July 22nd, 2002
VTOLfreak
Guest
 
Posts: n/a
Default

It isn't hardcoded . Clients pas tru lists of hosts .

But you can prevent it from happening by diasabling the ultrapeer mode and settings the max connections entry to 1
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Automatic detection of UPnP Robert_R Open Discussion topics 3 October 8th, 2006 07:15 PM
Firewall detection still Mands Connection Problems 17 April 7th, 2006 05:07 AM
Corruption Detection aminth New Feature Requests 0 March 4th, 2005 03:47 AM
Remote IP detection plex New Feature Requests 0 March 8th, 2002 05:53 AM
mp3 detection flawed ... shadowze Site Feedback 2 April 4th, 2001 06:01 AM


All times are GMT -7. The time now is 03:18 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.