![](https://csdnimg.cn/release/download_crawler_static/1564000/bg9.jpg)
1 INTRODUCTION
8
pheus had once a license for FastTrack network, but it has been shut out and now supports
Gnutella instead.
Like most P2P systems, FastTrack builds an overlay network at the application level with
its own routing mechanisms. Users specify directories on their machines which they want to
share with other users. They can then search for files and download them. The download
directory is always shared so the user shares at least this one (but he can always remove
received files from the directory as soon as download is finished).
Data lookup process in FastTrack depends on so-called supernodes. When you are a su-
pernode, other users in your neighbourhood automatically upload to your machine a small
list of files they are sharing, whenever possible using the same ISP or located in the same
region as you. When one of these users searches a file, he sends the search request to you
as a supernode. You then search the lists of files to find neighbours possessing files matching
the query. The search request will also be forwarded to other supernodes. The results are
then send back to the user. The actual download will be directly from the computer which is
sharing the file, not from the supernode. So, FastTrack uses partially centralised approach for
signalling traffic (queries) and fully decentralised data transfers.
Any computer using Kazaa (Lite) can become a supernode if it has sufficient computing
resource and a broad-band connection. Being a supernode does not affect performance no-
ticeably because computing effort is limited to 10% of the CPU power available, but it can
stress upstream link for users of asymmetric links (like ADSL or cable modem users). The
clients generally dispose of an option to avoid becoming a supernode.
The system seems to be rather efficient, mainly for reasonably sized files like MP3s (other
systems such as DirectConnect or eDonkey are generally preferred for bigger files like films).
FastTrack clients also implement a sort of instant messaging service.
Although FastTrack signalling traffic is encrypted, data transfer use unencrypted HTTP
and may be analysed by content access. In particular, FastTrack can use a GIVE command not
present in standard HTTP.
1.3.2 Gnutella
Gnutella is one of the first P2P protocols which originated at Nullsoft, a subsidiary of AOL
(America On Line). It is open-source and implemented by a large number of clients in-
cluding BearShare, LimeWire, ToadNode, Gnotella, Mactella, Gnucleus, Gnut, Gtk-Gnutella,
NapShare, . . . and now Morpheus.
The Gnutella network is unstructured and was initially purely decentralised. To connect to
the Gnutella network, you first need to find one peer (also called servent since it can function
both as a server and a client). This peer can be found by direct probing or using services such
as gnutellahosts.com (a fixed host). Once a peer is found, some other servents are discovered
using a ping/pong mechanism described below.
Search queries were initially flooded to neighbours (servents to which your are con-
nected). Each servent receiving a Query message checks if it matches a local file. If a match
is found, it sends a QueryHit message back towards the query originator (the last hop that
forwarded it, not necessarily the host that issued the query). Whether or not a local file
matches the query, the servent forwards the Query message to its own neighbours. To avoid
infinite persistence of Query messages in the network, the flooding is controlled by a time to