Gnutella Forums  

Go Back   Gnutella Forums > Gnutella News and Gnutelliums Forums > General Gnutella Development Discussion
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

General Gnutella Development Discussion For general discussion about Gnutella development.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old January 2nd, 2002
Peterius
Guest
 
Posts: n/a
Question gnutella general bandwidth usage

Hi,
I'm new to gnutella and I had some general questions. The only thing I've known about the protocol for a while is that all the system administrators and some of the comp sci majors at my college complain about it bogging down the network horribly due its "distributed nature". It seems to me that the actual downloads are either parallel or direct point to point and so don't hurt network speed. The only thing that might is the way gnutella searches for files, broadcasting a request to an exponentially growing number of hosts.

Here's my question: Is the distributed searching that gnutella does the only thing that could slow down a network more than a non-distributed protocol and hence why all these comp sci major hate it? and..

exactly how much bandwidth does this searching take up. If the "horizon" is 10,000 clients and a lot of those packets for a particular search are recieved more than once by a host...and say each search packet is some small size...and then...

is this search flooding that is done done to every host on a network? Even if they aren't running gnutella? Supposedly there are no servers with lists which you connect to to find hosts to talk to? If there were then you might as well put the file list on this server and have them download that because you've already lost the advantage that being distributed has given you. If this is true that gnutella floods every single host on a network (gnutella server or no) with search packets...and then those hosts (be they gnutella) flood every single host they know of with packets. MY GOD!!!

Then again....maybe when a client initially starts up it establishes a list of gnutella hosts in the area (what is defined as "in the area"?) so it doesn't send packets to none gnutella-server-running computers. But still a search packet can be recieved multiple times by a host?

Let me put myself into perspective. The gnutella protocol is neat... its also true that this sort of distributed network is extremely robust and impossible to shut down since its not centralized. But what I think people might forget is that the gnutella protocol is a protocol written on top of the IP protocol. People use the IP protocol to do things besides use gnutella...maybe they shouldn't. But isn't a lot of the potential advantages of using gnutella lost because it is not low level enough and isn't it causing significant waste of bandwidth throughout the world?

At any rate...it seems to be the only place I can get mp3s for friends of mine without downloading some "satellite" that infects by computer with its marketing and installs things I don't want.

I would appreciate it if no would flames me but rather responds with a truthful and thought-out answer to some of my questions. The more technical the better. I don't dislike gnutella at all. As I said its useful and very interesting. In actuality, I have no opinion on anything.

- Peter
Reply With Quote
  #2 (permalink)  
Old January 2nd, 2002
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

Hi Peter
You should talk to people like Moak if you want to know the knitty gritty details. But I can answer some general questions.

Yes. searches are broadcasted to connected hosts. However, outgoing searches have a TTL (time to live - average is 7) that decreases in value (-1) every time This prevents network flooding. It's possible for a client to be programmed in such a way that the ttl is significantly higher, such as 20, but most clients downgrade it to the standard of 7 or so.

Search packets/pings are smaller than the pongs sent back by search results. Significantly larger, if I know my stuff. But I don't have any numbers for ya. sorry.

To initially connect to the network, you usually connect to a bootstrap server which finds other hosts for you (eg router.limewire.com).

Gnutella traffic is only routed to known nodes, and not to random addresses. Yes, the classic gnutella creates a ton of traffic by broadcasting exponentially, but it is limited by a TTL. But it doesn't send it to unknown addresses. That would be insane.

Occasionally you'll have the same host get the same search query more than once. But most clients ignore repeated pings.

I've told you about the 0.4 Gnutella protocol specs (only briefly, mind you). Something that works much better is the 0.6 protocol being developed by LimeWire. It's still being finalized, but once the quirks are out of it, I foresee many clients using it as opposed to the 0.4 specs. Let me know if you want to know more about the 0.6 protocol. Another reference to it is UltraPeers.

Hope this explained things a little. I would definitely recommend looking at the 0.4 specs. I think you can find them on LimeWire.com. Or search for it in an engine. It's pretty much everywhere.

:-)
Reply With Quote
  #3 (permalink)  
Old January 3rd, 2002
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default Re: gnutella general bandwidth usage

Hi Peter,

Quote:
Originally posted by Peterius
Here's my question: Is the distributed searching that gnutella does the only thing that could slow down a network more than a non-distributed protocol and hence why all these comp sci major hate it?
When I talk with system administrators at universities or schools, they complain about three thing usually: bandwith, bandwith, bandwith. *g* To be more precise, they complain about:
a) the huge amount of bandwith used to transfar files (Gnutella is used to download large files, MP3s, movies, software etc), this is a up to a few hundred MBs/day per every user running a Gnutella client in the internal network.
b) the constant backbone traffic used to keep up the Gnutella network (routed searchqueries and search results), this is a constant few KB/s for every user running a Gnutella client in the internal network, summarized up to a few MBs/h 24/7, even when not downloading any file or being away from your PC. A local reflector (inside the internal network, also used as gateway for the internet) could reduce this to a minimum.
Bandwith costs money, so P2P system are not very liked from system amdinistrators. Btw, they usually do not complain about potential copyright abuse or RIAA lawsuits.

Quote:
If this is true that gnutella floods every single host on a network (gnutella server or no) with search packets...
No, Gnutella traffic is between hosts running Gnutella software.
It happens that Gnutella clients tries to reach a peer after it has gone offline (perhaps it will come back or is only temporarily away). Together with dynamic IPs it happens that someone sees an incoming Gnutella connect attempt (port 6346/6347 usually) without ever running a gnutella client. Ignore it, it's just a knock at the wrong door. Unfortunatly some bad/old clients try hammering old peers for a longer time, I think you can call this misbehaviour flooding (but it's not eaten up bandwith, it's just anoying). However this is an issue for further improvements, perhaps some Gnutella clients could evalute TCP/IP error codes better.

Quote:
But what I think people might forget is that the gnutella protocol is a protocol written on top of the IP protocol. [...] But isn't a lot of the potential advantages of using gnutella lost because it is not low level enough and isn't it causing significant waste of bandwidth throughout the world?
You might forgot that other common internet protocolls use TCP too (e.g. http, ftp, smtp)? TCP is just a transportation layer (see OSI-layer) and provides usefull features also for gnutella. Perhaps I misunderstood your question? When you mean that the gnutella network should be orientated at the underlying ISP network, you're right! This is an issue for future improvements IMHO. Here is a repost from an older thread:
Another interesting approach to reduce traffic was not mentioned here so far: Host caches or super peers with a regional toplogy and multicast, to reduce ISP traffic. While gnutella backbone causes huge traffic for ISPs, traffic should not be reduced inside gnutella network only but also for the underlying physical network. Not reducing this huge ISP traffic, means slower network performance and increasing costs for ISPs. This could mean for the enduser (us) increased internet costs or more expensive flat rates.

Hope I could help a little bit. Greets, Moak

PS: TruStar, Gnutella protocoll v0.6 is not developed by Limewire, it's devloped by many free developers and volunteers together (e.g. meet a bunch of them at the_GDF). Actually LimeWire does a lot of valuebale research for the Gnutella community and is one of the pushing force, but I will never understand the marketing reason of naming superpeers 'ultrapeers' or jumping over protocoll version 0.5. :-) Links to protocoll specification could be found in the sticky thread in the Developer Forum here.

Last edited by Moak; January 3rd, 2002 at 10:46 AM.
Reply With Quote
  #4 (permalink)  
Old January 3rd, 2002
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

Hi Moak!

Ok. my bad. It would be more correct to say that LimeWire is only one such program beginning to implement the new protocol changes. :-D I know the GDF is a major player in the development, if not the primary - but I failed te bring this up.... oops....

Ttyl!
Reply With Quote
  #5 (permalink)  
Old January 3rd, 2002
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

Sorry pal, just wanted to say Gnutella is free.
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
Logged Downloads/Bandwidth Usage? Davey General Windows Support 2 February 3rd, 2006 10:12 PM
What posts belong in this General Gnutella / Gnutella Network Discussion section! Lord of the Rings General Gnutella / Gnutella Network Discussion 0 November 17th, 2005 06:54 AM
General Question: Bandwidth Usage bigjunior71 Support: General 0 July 19th, 2002 01:39 PM
Connection Tab Total Bandwidth Usage Unregistered New Feature Requests 0 June 26th, 2002 08:15 AM
Most efficient client (bandwidth usage?) dredd zeppelin General Gnutella / Gnutella Network Discussion 0 April 29th, 2001 03:46 PM


All times are GMT -7. The time now is 06:45 AM.


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

Copyright © 2020 Gnutella Forums.
All Rights Reserved.