FastTrack (protocol)

From Wikipedia, the free encyclopedia

For other uses, see FastTrack (disambiguation).

FastTrack is a peer-to-peer protocol, used by the Kazaa (and variants, Grokster and iMesh) file sharing programs. The file sharing application Morpheus originally used this network, but was later banished from it.

In 2003, FastTrack was the most popular file sharing network, being mainly used for the exchange of music mp3 files. Popular features of FastTrack are the ability to resume interrupted downloads and to simultaneously download segments of one file from multiple peers.

The network has approximately 2.4 million concurrent users [1]. It is estimated that the total number of users is greater than that of Napster at its peak.

Contents

[edit] History

The FastTrack protocol and Kazaa are the brainchild of Niklas Zennström from Sweden, Janus Friis from Denmark and Estonian programmers headed by Jaan Tallinn, the same team that later created Skype. It was introduced in March 2001 by their Dutch company Consumer Empowerment. It appeared during the end of the first generation of P2P networks – Napster shut down in July of that year.

Currently, three FastTrack-based networks exist, using mutually incompatible versions of the protocol. The most popular clients on each are Kazaa (and its variations), Grokster, and iMesh. References to "the FastTrack network" usually apply only to Kazaa's.

For more information about the various lawsuits surrounding Kazaa and Sharman Networks, see Kazaa.

[edit] Technology

FastTrack is a so-called second generation P2P protocol. It uses supernodes to improve scalability. The supernode functionality is built into the client; if a powerful computer with a fast network connection runs the client software, it will automatically become a supernode, effectively acting as a temporary indexing server for other, slower clients.

In order to be able to initially connect to the network, a list of supernode IP numbers is stored in the program. The client attempts to contact these, and as soon as it finds a working supernode, it requests a list of currently active supernodes, to be used for future connection attempts. The client picks one supernode as its "upstream" and uploads a list of files it intends to share to that supernode. It also sends search requests to this supernode. The supernode communicates with other supernodes in order to satisfy search requests. The client then connects directly to a peer to download the file; this transfer is done using HTTP.

To allow downloading from multiple sources, FastTrack employs the UUHash hashing algorithm. While UUHash allows very large files to be checksummed in a short time, even on slow computers, it also allows for massive corruption of a file to go unnoticed. Many people, as well as the RIAA, have exploited this vulnerability to spread corrupt and fake files on the network.

[edit] Clients

The FastTrack protocol uses encryption and was not documented by its creators, and the first clients were all closed source software. However, initialization data for the encryption algorithms is sent in the clear and no public key encryption is used, so reverse engineering was made comparatively easy. In 2003, open source programmers succeeded in reverse-engineering the portion of the protocol dealing with client-supernode communication, but the supernode-supernode communication protocol remains largely unknown.

The following programs are or have been FastTrack clients:

[edit] External links