A Brief History of peer-to-peer File-Sharing
Although the recent press surrounding the Recording Industry Association of America (RIAA)
lawsuit against Napster has only now brought Peer-to-Peer (P2P) networks and file sharing into
the public eye, P2P computing technologies have actually been around almost as long as computing
Up until recently such systems were exceedingly limited; they were largely confined to Local Area
Networks (LANs) and the exchange of files with known individuals over the Internet. LAN transfers
were executed mostly via built-in system or network software, while Internet file exchanges were
mostly done over a FTP (File Transfer Protocol) connection or one of several other commercial
programs such as Hotline or Carracho. The reach of this Peer-to-Peer sharing was limited
to the circle of computer users an individual knew and agreed to share files with. Users who
wanted to communicate with new or unknown users could transfer files using IRC (Internet Relay Chat)
or other similar bulletin boards dedicated to specific subjects, but these methods never gained
mainstream popularity because they were somewhat difficult to use.
Today, thanks to the development of a number of advanced P2P file sharing applications, the reach
and scope of
peer networks has increased dramatically. The two main models that have evolved are
the centralized model, used by Napster, and the decentralized model, used by Gnutella.
t o p
The Napster Structure
Napster, perhaps the world's most popular form of P2P file-sharing, focuses exclusively on
compressed digital music files known as MP3's. According to a recent study by Media Metrix,
Napster had an astonishing 5 million unique users as of July 2000.
Napster works by operating a central server system which directs traffic between individual
registered users. The central servers maintain directories of the digital music collections
stored on the respective PCs of registered Napster users. These directories are updated every
time a user logs on or off the Napster server.
Each time a Napster user submits a request or search
for a particular song, the central Napster server creates a list of users who are currently
connected to Napster whose collections include the specified song. The Napster server then
displays that list to the requesting user. The requesting user can then click on any user
name from the list and open a direct link with that user. The download of the actual file
takes place directly, from one Napster user to the other. The actual MP3 file is never
stored on the Napster server or on any intermediate point on the Internet.
t o p
Advantages of the Napster Model
One of Napster's main advantages is its central index which locates files quickly and efficiently.
Because the central directory constantly updates the index, files that users find through their
searches are immediately available for download.
Another advantage lies in the fact that all Napster users must be registered to be on the
Napster network. As a result, searches reach all logged-on Napster users, which ensures that
all searches are as comprehensive as possible.
Since the Napster network allows only the exchange of MP3's, Napster creates a strong sense of
community and increases the chance that users will find what they seek. MP3's are a particularly
easy type of file to share because they typically contain a set of metatags called "ID3."
These ID3's store information (in the form of strings) such as Artist, Album, and Musical genre
which make them easy for users to
t o p
Problems with Napster
Napster's main disadvantage is that it solely traffics MP3's. Many of the MP3's exchanged over
Napster are copyrighted, which has led to a tremendous outcry (complete with legal action) from
record companies and music industry professionals. Music industry discord on the subject has
brought Napster into the spotlight, and endangered its future existence. Since Napster is a closed
system, the legal problems will likely pose a significant danger to its continued operation.
Nevertheless, numerous pirate open-source clones of the Napster model exist which allow the
continuation of this type of file-sharing.
While Napster's centralized architecture allows the most efficient, comprehensive
search, and a
continuously refreshed index list, it also allows a single point of entry. As a result, Napster's
network can be completely disabled by shutting down the Napster server.
Since Napster requires all users to register with the site, and controls the flow of download
traffic, the Napster centralized server knows the identity of each user and what they are
downloading. Users are not granted anonymity through the Napster model and could potentially be
targets for litigation.
t o p
Other Centralized models: Scour Exchange and Publius
The Scour Exchange operates in much the same fashion as Napster, with an index of available files
being kept on a central server. Though, a key distinction between Scour Exchange and Napster is
that Scour carries a wider variety of file types, including movies and graphics. Despite the
fact that Scour Exchange carries several types of non-infringing files, including demo music
tracks, ads, multimedia news, and movie trailers supplied by their owners, Scour has also been
roundly criticized by the RIAA for not controlling the flow of infringing music and movie files.
Another centralized-model service that has received considerable interest from the press is
Publius, developed by AT&T as a censorship-free online publishing system. Publius will accept
uploads of files, break these files into encrypted pieces, and subsequently send them to
undisclosed locations in its member network. People who want to download these files will access
Publius' central server which will correctly and invisibly route the requests to enable the
download of a complete file. Publius will probably not become a favorite to download multimedia
files because it currently limits uploads to 100K, or about 2.5% of the memory required to store
an MP3 of a 4-minute song
t o p
Gnutella was originally designed by Nullsoft, a subsidiary of America Online. Nullsoft, well
known for developing Winamp, the popular MP3 player, developed the Gnutella protocol without the
knowledge of AOL's top executives. When AOL management, while in the process of merger talks
with one of the world's largest copyright holders, Time Warner, learned of the program's existence
and its availability to the public, it immediately ordered that Gnutella be taken down from the
Nullsoft website and that all development be halted. Gnutella was only up on the Nullsoft for a
few hours before it was taken down, but during that time several thousand downloads occurred.
Using these downloads, programmers reverse-engineered the software and created their own Gnutella
t o p
The Gnutella Structure
Unlike Napster, Gnutella does not use a central server to keep track of all user files. To share
files using the Gnutella model, start with a networked computer, which we'll call "A," equipped
with a Gnutella "
servent" (combination "server" and "client"). "A" will connect to another
Gnutella-networked computer, "B." A will then announce that it is "alive" to B, which will in
turn announce to all the computers that it is connected to, "C," "D," "E," and "F," that A is
alive. The computers C, D, E, and F will then announce to all computers to which they are
connected that A is alive; those computers will continue the pattern and announce to the computers
they are connected to that computer A is alive. Although the reach of this network is
potentially infinite, in reality it is limited by "time-to-live" (
TTL) constraints; that is, the
number of layers of computers that the request will reach. Most Gnutella servents will reject
any pings which have
TTL's that are excessively high.
Once "A" has announced that it is "alive" to the various members of the
peer network, it can then search the contents of the shared
directories of the Peer network members. The search request
will "Ping" the request to all members of the network, starting with, B, then to C, D, E, F, who
will in turn Ping the request to the computers they are connected to, and so forth. If one of
the computers in the peer network has a file which matches the request, it transmits the file
information (name, size) back through all the computers in the pathway towards A, where a list
of files will then appear on computer A's Gnutella program display. A will then be able to
open a direct connection with the computer that has the file it wants and download that file
directly. The Gnutella model enables file sharing without using the intermediaries at all.
t o p
Advantages of the Gnutella Model
The Gnutella Net (gNet) has a number of distinct advantages over other methods of file sharing.
Namely, Gnutella is decentralized and essentially anonymous. Both these features result from
the manner in which
messages are transmitted over the network.
Unlike a system like Napster, gNet is designed to search for any type of digital file (from
recipes to pictures to java libraries). Furthermore, gNet also has the potential to reach
every computer on the internet, while even the most comprehensive search engines can only cover
20% of websites available.
Messages are transmitted over gNet in a decentralized manner: One person sends a search request
to his "friends," who in turn pass that request along to their "friends," and so on. If one
person, or even several people, in the network stop working, search requests would still get
passed along. Since gnutella is a decentralized file-sharing community, there is no single
person who controls the flow of information and, therefore, no single entity to shut down.
t o p