Unformatted text preview: and
a loop (step 7) before locating the desired ﬁle.
maintain a central index of files, so that users
can send requests directly to information holda'cache'holder'or'a'forwarding'
ers. Unfortunately, centralization creates a sinpeer'(allows'for'anonymity)'
gle point of failure that is easy to attack. For example, if you were trying to phone Michael
Jordan, the simplest way to get his number
would ordinarily be to call directory assistance.
However, because directory assistance is centralized, your access can be easily blocked if Jordan
or someone else decides to remove his directory
entry, or if the service goes down.
Systems like Gnutella broadcast queries to every • content'is'divided'into'N'' cessful, each node in the chain passes the ﬁle back
upstream and creates a new entry in its routing
table associating the data holder with the requested key. Depending on its distance from the holder,
each node might also cache a copy locally.
To conceal the identity of the data holder, nodes
will occasionally alter reply messages, setting the
holder tags to point to themselves before passing
them back up the chain. Later requests will still
locate the data because the node retains the true
data holder’s identity in its own routing table and
forwards queries to the correct holder. Routing
tables are never revealed to other nodes.
To limit resource usage, the requester gives each
query a time-to-live limit that is decremented at
each node. If the TTL expires, the query fails,
although the user can try again with a higher TTL
(up to some maximum). Because the TTL can give
clues about where in the chain the requester is,
Freenet offers the option of enhancing security by
View Full Document
- Winter '08
- Computer Networks, Gnutella, data holder