Peer-to-peer architecture (P2P architecture) is a commonly used computer networking architecture in which each workstation, or node, has the same capabilities and responsibilities. It is often compared and contrasted to the classic client/server architecture, in which some computers are dedicated to serving others.
P2P may also be used to refer to a single software program designed so that each instance of the program may act as both client and server, with the same responsibilities and status.
P2P networks have many applications, but the most common is for content distribution. This includes software publication and distribution, content delivery networks, streaming media and peercasting for multicasting streams, which facilitates on-demand content delivery. Other applications involve science, networking, search and communication networks. Even the U.S. Department of Defense has started researching applications for P2P networks for modern network warfare strategies.
P2P architecture is often referred to as a peer-to-peer network.
P2P applications are one of the core issues in the controversy over network neutrality – a principle that advocates no restrictions on Internet content, format, technologies, equipment or modes of communication. P2P proponents argue that governments and large Internet service providers are attempting to control Internet use and content by directing network structure toward a client/server architecture. This sets up financial barriers for individuals and small publishers looking to gain Internet entry and sets up inefficiencies for sharing large files.
There are three models of unstructured P2P computer network architecture:
In structured P2P computer network architecture, workstations (peers), and sometimes resources as well, are organized according to specific criteria and algorithms. This leads to overlays with specific topologies and properties.
Assessing some of the advantages and weaknesses of P2P networking involves comparisons with client/server architecture. P2P networks have clients with resources such as bandwidth, storage space and processing power. As more demand is put on the system through each node, the capacity of the whole system increases. (This accounts for the enormous increase of system security and file verification mechanisms, making most P2P networks resistant to almost any type of attack.) By comparison, a typical client/server network shares demands but not resources. As additional clients join the system, fewer resources become available to each one.
Read More »