Lime Group Lime Group homeaboutdownloadsupportpresscontact
Download LimeWire Now!
Current Hosts:
04/30/01 - 04:00pm
Lime Wire proudly announces the release of LimeWire 1.3
Understanding P2P

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 itself.

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 centralized model

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.

click here to view animationclick here to view animation
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 search for.

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

The decentralized model

The Development

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 software packages.

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.

click here to view animationclick here to view animation
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

home | about | download | support | resources | press | contact | legal | Terms of Use | Privacy Policy