³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij +-+-+-+-+-+-+-+-+ ÛÛÛÛÛÛÛÛÛ²²²²²±±±±±°°°ð|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