![]() |
|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella / Gnutella Network Discussion For general discussion about Gnutella and the Gnutella network. For discussion about a specific Gnutella client program, please post in one of the client forums above. |
![]() |
| LinkBack | Thread Tools | Display Modes |
| |||
![]() Hello everyone , I have an article which describes how Gnutella works: in 5 Steps. 1. Connect to at least one active peer (address received from bootstrap) 2. Explore your neighborhood (Ping/Pong) 3. Submit Query with list of keywords to your neighbors (they forward it) 4. Select "best" of correct answers (which we receive after a while) 5. Connect to providing host/peer I can not really understand the 2nd point. Well, how can we explore our neighborhood via Ping/Pong? Well, after point 1, we have lets say 1 neighbor. After that we want to explore our neighbor via Ping/Pong. Who do we ping then? Because, what I know about Ping/Pong, is that, we ping some nodes, and we receive pong as answers from them, in order to know how the latency to each node looks like (in Napster). The requirement is that we already know these nodes. In Gnutella, in the 2nd point, we have only 1 neighbor, we dont know any other nodes, so how can we explore our neighborhood via ping/pong? Well, I imagin, probabaly, the 2nd step means: we ping our existence to our neighbor, and this neighbor will ping continously to his neighbors, so that these neighbors know about me. Well, sounds very coriously? Can someone help me? Thanks so much. ![]() Perhaps, can someone give a brief description, how point 3-5 work. Thanks.. Ratna from Germany. ![]() |
| |||
![]() Ping/Pong on Gnutella is not mainly used to measure latency or any other time related issue. Actually I don't even know a single servent which uses Ping/Pong to measure any kind time or latency related things. On Gnutella Ping/Pong is mainly used to discover more parts of the network and find other nodes which are of high value for you. There are usually two types of Pings. The KeepAlive-Pings carry a TTL of 1 and are only used to check if your neighbor still responds with a Pong or is offline or overloaded. Then there are Pings with higher TTL, your neighbor will respond to this Ping but he also forwards the Ping to its neighbors (at least in the traditional Ping/Pong schema) and routes the Pongs back to you. This way you learn about hosts further away from you. Additionally the Pongs carry node information, most importantly its uptime. With the uptime data you build yourself a list of nodes mainly ordered by uptime and maybe some other criteria (every vendor has its own recipe). Next time you go online your servent will go through this list and tries to connect to the nodes it will most likely successful connect to first. Today most servents don't use the traditional Ping/Pong concept anymore. It causes too much traffic. It was replaced by a Pong caching algorithm. But the concept remains the same. Depending on your Ping TTL your neighbor will send you Pongs from nodes further away. Gregor |
| ||||
![]() Just have a look at the guide Gnutella for Users - Gnufu It describes Gnutella in easy to understand language.
__________________ ![]() -> 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. |
![]() |
| |