WHY??

Started by
5 comments, last by amemorex 22 years, 3 months ago
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?..
Advertisement
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.
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
------------------------------
"There is no reason good should not triumph at least as often as evil. The triumph of anything is a matter of organization. If there are such things as angels, I hope that they're organized along the lines of the mafia." -Kurt Vonnegut
any other reasons except last post?
That''s why it''s called Peer-to-Peer.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!
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.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
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

-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel

This topic is closed to new replies.

Advertisement