This approach has one big advantage - Gnutella works all the time. It is an extremely simple and clever way of distributing a query to thousands of machines very quickly. If each machine on the Gnutella network knows of just four others, that means that your request might reach 8,000 or so other machines on the Gnutella network if it propagates seven levels deep. A request might go out six or seven levels deep before it stops propagating. A request has a TTL (time to live) limit placed on it.At the same time, all of these machines send out the same request to the machines they are connected to, and the process repeats.If so, they send back the file name (and machine IP address) to the requester.
Your machine sends the song name you typed in to the Gnutella machine(s) it knows about.
It knows this because you've told it the location of the machine by typing in the IP address, or because the software has an IP address for a Gnutella host pre-programmed in.
Napster was trying to take advantage of a loophole in copyright law that allows friends to share music with friends.There is no way a central server could have had enough disk space to hold all the songs, or enough bandwidth to handle all the requests. Napster eventually grew to have billions of songs available.