Archived

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

amemorex

WHY??

Recommended Posts

Question. How come on Gnutella, when you connect to a user, and he informs you of other users, you can only connect to them through the first user? For example, you are Joe. You connect to Bob, who is also connected to Mary1 and Mary2. Your connection works like this.
  
                Mary1
              / 
Joe -----> Bob 
              \ Mary2
  
So if you send out a search request, it only goes to bob, then bob relays it to Mary1 and Mary2. If mary1/2 respond, they send it back to bob, and he sends it back to you. My question is...WHY!?@ That seems so pointless! Why doesn''t Gnutella just simply connect you directly to Bob, Mary1, and Mary2 at once? it takes way more time this way...and what if bob disconnects?? you lose your connections to mary1/2?..

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
i dont know if gnutella is this way or not, but most of those filesharing programs that allow simultaneous downloads has an option as to whether or not you want to function as a supernode (one of those who show in the search list initially). If you get disconnected from ''bob'', that shouldn''t mean that you get disconnected from the others though.

Share this post


Link to post
Share on other sites
quote:
Original post by amemorex
How come on Gnutella, when you connect to a user, and he informs you of other users, you can only connect to them through the first user?



Because otherwise you would have to have a connection open to every client on the network, and your computer grinds to a halt because you quickly run out of system resources. In most clients, the user is allowed to specify how many connections to keep open.

quote:

it takes way more time this way...and what if bob disconnects?? you lose your connections to mary1/2?..



Yup. The idea is that once you know mary 1 & 2 are there, if you lose Bob, then you can try to connect to a Mary on your own.


"So crucify the ego, before it''s far too late. To leave behind this place so negative and blind and cynical, and you will come to find that we are all one mind. Capable of all that''s imagined and all conceivable."
- Tool
------------------------------

Share this post


Link to post
Share on other sites
quote:
Original post by amemorex
any other reasons except last post?

Because it would never work any other way?

Gerenally you connect to about 5 people on the gnutella network to provide redundancy in case someone disconnects. Yes that means when you search it could be sent to everyone 5 times.

It''s necassary that it works in a very redundany way because there''s no centralized server for everyone to connect to.


The reason why the search results come back along the path they took, rather than directly, is so that you never know who actually initiated the search. Only the ''direction'' that it came from. A sort of legal snafu as well as privacy protection.

Share this post


Link to post
Share on other sites
One of the people from Napster did a report on how Gnutella doesn''t scale well with many many users. This redundancy is probably why. Just to send out a single search requires 4GB of traffic as I remember. I don''t remember where the article is but I think it was on techtv.com

Share this post


Link to post
Share on other sites