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 March 2nd, 2010
Devotee
 
Join Date: December 21st, 2009
Posts: 29
hustnn is flying high
Default the bootstrap process

If the node want to join the gnutella network ,it is the process called bootstrap,so where can I gain the initial nodes list to connect.

I see it from the limewire wiki,it is called the GwebCache,so if I just to make my client to work with standard gnutella network,so do I need to do the same thing as the limewire client or something else?

Is there any simple research gnutella client to make me understand more easily? I am a newer want to write a gnutella client from scratch.

Thanks!
Reply With Quote
  #2 (permalink)  
Old March 3rd, 2010
arne_bab's Avatar
Draketo, small dragon.
 
Join Date: May 31st, 2002
Location: Heidelberg, Germany
Posts: 1,881
arne_bab is a great assister to others; your light through the dark tunnel
Default

To bootstrap Gnutella now uses UDP host caches, but GWebcaches work as well. Remember, though, that these must only be used if you don't have any hosts in your local host catcher (stores long lived nodes' IPs).

You can try using Phex - it's already been used in some academic studies on p2p.
__________________

-> put this banner into your own signature! <-
--
Erst im Spiel lebt der Mensch.
Nur ludantaj homoj vivas.
GnuFU.net - Gnutella For Users
Draketo.de - Shortstories, Poems, Music and strange Ideas.
Reply With Quote
  #3 (permalink)  
Old March 4th, 2010
arne_bab's Avatar
Draketo, small dragon.
 
Join Date: May 31st, 2002
Location: Heidelberg, Germany
Posts: 1,881
arne_bab is a great assister to others; your light through the dark tunnel
Default

Quote:
Originally Posted by hustnn
If I was not the first time to connect gnutella network,so it should use the local host cache lists to bootstrap, isn't it?

But Do you need to do something to maintain the local host lists?
Yep to both: you get addresses via pongs and can also use the ones from hosts you download from.

For an example see
SourceForge.net Repository - [phex] View of /phex/trunk/src/main/java/phex/host/CaughtHostComparator.java
(it shows how hosts are sorted to keep the best ones in the host catcher - this is executed extremely often!)
__________________

-> put this banner into your own signature! <-
--
Erst im Spiel lebt der Mensch.
Nur ludantaj homoj vivas.
GnuFU.net - Gnutella For Users
Draketo.de - Shortstories, Poems, Music and strange Ideas.
Reply With Quote
  #4 (permalink)  
Old March 4th, 2010
Devotee
 
Join Date: December 21st, 2009
Posts: 29
hustnn is flying high
Default

Then if we want to maintain the lists,such as to check if one host is still active,then do you use the ping/pong to check it?

But I still don't understand the ping/pong affection to the gnutella network.I think there are many ways should using the ping/pong,for eample "keep alive","gain host list",but when and how to use it,such as how and when to gain host addresses by ping/pong ? I can't find some introduce about this.

I see there are a few ways to gain the host lists,such as the x-try,x-untlrapeer-try when handshakeing,the pong is just one of these ways to gain the hosts list to connect to,is it right?So the host cache lists should be gained from all there ways.

Last edited by hustnn; March 4th, 2010 at 05:58 PM.
Reply With Quote
  #5 (permalink)  
Old March 4th, 2010
arne_bab's Avatar
Draketo, small dragon.
 
Join Date: May 31st, 2002
Location: Heidelberg, Germany
Posts: 1,881
arne_bab is a great assister to others; your light through the dark tunnel
Default

To get new hosts, just listen for Pongs

And to check if someone is still alive, just connect (no use of doing these checks at other times - TCP connections are too expensive for that - and the turnaround rate too high).

some more detailed info: http://gnet-specs.gnufu.net
__________________

-> put this banner into your own signature! <-
--
Erst im Spiel lebt der Mensch.
Nur ludantaj homoj vivas.
GnuFU.net - Gnutella For Users
Draketo.de - Shortstories, Poems, Music and strange Ideas.
Reply With Quote
  #6 (permalink)  
Old March 4th, 2010
Devotee
 
Join Date: December 21st, 2009
Posts: 29
hustnn is flying high
Default

The connected nodes don't need to be check use extra udp keep alive message,but I mean we know there are a local host list as you said gained from the pong message,so we also don't need to check if these nodes are still alive now?
Reply With Quote
  #7 (permalink)  
Old March 4th, 2010
Devotee
 
Join Date: December 21st, 2009
Posts: 29
hustnn is flying high
Default

the http://gnet-specs.gnufu.net still alive?It direct to the "http://wiki.limewire.org/index.php?title=GDF",right? But I can't find the detail of the detail of when we need use the ping/pong to gain the new hosts from that document.I just know the pong cache can gain hosts,but when to send ping of a node is not metioned in the document.

why I can't connect to it,can you send me saved html file of the document to me?
Reply With Quote
  #8 (permalink)  
Old March 4th, 2010
arne_bab's Avatar
Draketo, small dragon.
 
Join Date: May 31st, 2002
Location: Heidelberg, Germany
Posts: 1,881
arne_bab is a great assister to others; your light through the dark tunnel
Default

Just try connecting a second time. They seem to be a bit slow at the moment.
__________________

-> put this banner into your own signature! <-
--
Erst im Spiel lebt der Mensch.
Nur ludantaj homoj vivas.
GnuFU.net - Gnutella For Users
Draketo.de - Shortstories, Poems, Music and strange Ideas.
Reply With Quote
  #9 (permalink)  
Old March 4th, 2010
arne_bab's Avatar
Draketo, small dragon.
 
Join Date: May 31st, 2002
Location: Heidelberg, Germany
Posts: 1,881
arne_bab is a great assister to others; your light through the dark tunnel
Default

Quote:
Originally Posted by hustnn
But I don't mean how to choose the node to connect from the host lists.I mean when we collect hosts from udp host cache,x-try,x-ultrapeer,pong or query hits ways,then they contruct the local host cache list,then we how to maintain it,such as
"how to check th host in the list is still active?",
"how ofter to check?",
"when do I need to collect new hosts to update the local cache?"
You'll get so mand new hosts via pongs that you won't need to ask them if they are still alive. You just keep statistics of what you naturally see.

And that's what the code I linked to in phex does: it sorts the newcoming hosts, and phex then just keeps the top 1000 addresses.

That means, you have to sort every host into your local hostcatcher and let the worst ones drop out.
__________________

-> put this banner into your own signature! <-
--
Erst im Spiel lebt der Mensch.
Nur ludantaj homoj vivas.
GnuFU.net - Gnutella For Users
Draketo.de - Shortstories, Poems, Music and strange Ideas.
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



All times are GMT -7. The time now is 09:17 PM.


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.