P2P File Sharing Networks
In a typical peer-to-peer (P2P) network, there is no central server. All machines are interconnected and are considered equal access nodes. The purpose of this arrangement is the sharing of files.

Some P2P networks use a central server for certain tasks, and peer-to-peer for others. There are several advantages to this, including speed. However, most P2P networks have no central server and are considered true P2P.

Peer-to-peer networks can be classified by what they can be used for:

  • file sharing

  • video and audio media

  • discussion forums

One of the goals of P2P is that all clients provide bandwidth, storage space, and computing power. As new machines are connected and demand increases, the total capacity of the system also increases. The distributed nature of true peer-to-peer networks means that there is no single point of failure. This increases reliability and allows the network to continue operating in case one or several nodes go offline.

A P2P overlay network consists of all the participating nodes. There are links between any two nodes that know each other. In other words, if a peer knows the location of another peer in the network, then there is a path between them in the overlay network. There are two classifications, depending on link structure - unstructured or structured.

An unstructured P2P network is formed when overlay links are established arbitrarily. As new peers join the network, existing links of another node are copied. The new node will build it's own links over time. When a peer wants to find a desired piece of data, the query is sent to every available node to find peers that share the files. Flooding a network in this way causes a high amount of signaling traffic, resulting in poor search efficiency.

Structured P2P networks employ a consistent protocol to ensure that any node can route a search to a peer that has the desired files. This keeps bandwidth usage to a minimum and results in much improved search response over the unstructured network.