     ĳ
                              +-+-+-+-+-+-+-+-+
       ۲|O|u|t|b|r|e|a|k|𰰰
                              +-+-+-+-+-+-+-+-+
                           Issue #1 - Page 3 of 13 
     

--------------------------------------------------------------------------------

More on (or "moron") FastTrack
Author: Skratchnsniff

Well, in Issue #11 Old Scratch posted a small text on Morpheus - which is one
of the clients that utilizes the FastTrack network - but he didn't go into much
detail about anything. So I decided that I'd write up an article explaining
FastTrack in detail. Please note that this isn't going to be in super-detail,
it's just my understanding of how the network works.

Firstly, FastTrack is a peer-to-peer file sharing network similar to Gnutella.
The idea is that Napster got shut down because it had a central office -
FastTrack is immune to this because, unlike Napster, it doesn't posess a
central office and doesn't require any central servers to operate (although a
server does facilitate in extra functions and makes getting on the network
easier).

FastTrack is arranged in a 2-level network, and I'll try to explain this. There
are single nodes (similar to a Napster client) and supernodes. I'll explain more
about these later. There are three different "branded" systems which operate on
the network. These are networks in themselves, but they do all communicate with
one another and in a sense are one network. They are Morpheus (MusicCity),
Kazaa, and Grokster.

While it's not required to be a member of one of these services, this is the
way the majority of users will access the network. When you sign on to one of
these servers, you are given a list of "supernodes" by the central server of
your chosen network. You connect, and you essentially form a "node" on the
network.

Once your client has been on the network for a while - and it has enough
bandwidth, and the client software supports it - the client may switch to
"supernode" mode. This change is usually invisible to the user. A supernode has
clients (nodes) which are connected to it (usually it's ip address is kept on a
central server and given to new nodes connecting to the network).

The supernode can be fed queries, which it then sends to the nodes it posesses -
as well as any other supernodes that it knows about. Each node and supernode
will try to maintain connections to a decent ammount of supernodes, so as to
maintain the network should one supernode go down.

So when your client wants to search the network, it simply sends the query to
each supernode that it's attatched to. These supernodes check their own lists
(assuming they're serving files), as well as forward the queries to other
supernodes AND sending the queries to their own nodes.

I haven't done much reverse engineering of the protocol, so please bear with
me, but i'm not exactly sure how it keeps from sending duplicate queries to a
single node via multiple supernodes. anyway ;)

If a match is found, each node sends back it's responses, which eventually make
their way back to the client. This is why sometimes search results may come back
in groups - it's simply responses from each supernode.

Oh yeah, i might as well mention that the entire protocol is encrypted - but
aparently the encryption is trivial to crack.

Once the user finds the file they want, the file is downloaded.. how? Via a
simple http like protocol - in fact, (as i believe Old Scratch pointed out) you
can use a web browser to download the files from a user.

If the user has too many file transfers in progress, then an error message is
returned, instructing the client to try again later. As far as i know, there's
no actual queue, and the server never contacts the client to tell them that
there's an open slot now. I think that the client simply tries repeatedly.

As you can see, FastTrack does have it's problems. Sometimes, it can take up to
an hour to find a single node without the aid of a logon server. There's also
the (somewhat rare) possibility there may actually exist more than one seperate
FastTrack network at any one time - but as soon as two of the supernodes contact
each other then the network joins, and the number of files available to the
network as a whole jumps incredibly.

But on the whole, FastTrack is an awesome network. I think personally it's
inability to be shut down is what attracts me to it for the most part. There's
no big boys that anyone can shut down, and you can't arrest hundreds of
thousands of people.

So i'd have to say, i think you should download Morpheus
(http://www.musiccity.com/), KaZaa (http://www.kazaa.com/), or Grokster
(http://www.grokster.com/) and start sharing your files now!

More Technical Information:

The generic interface to FastTrack (giFT) is aparently a great source of
technical information. you can check it out in unix sources here:
http://gift.sourceforge.net/

By Dr Skratchnsniff
