Gnutella
Gnutella is an early peer-to-peer network that attempted to distinguish
between exchanging music (which likely violates somebody’s copyright)
and the general sharing of files (which must be good since we’ve been
taught to share since the age of two). What’s interesting about Gnutella
is that it was one of the first such systems to not depend on a centralized registry of objects. Instead, Gnutella participants arrange themselves into
an overlay network similar to the one shown in Figure 9.24. That is, each
node that runs the Gnutella software (i.e., implements the Gnutella protocol)
knows about some set of other machines that also run the Gnutella
software. The relationship “A and B know each other” corresponds to
the edges in this graph. (We’ll talk about how this graph is formed in a
moment.)