Peer-to-peer: Difference between revisions
imported>Yuval Langer m ({{subpages}}-ing) |
imported>Howard C. Berkowitz (Pros and cons) |
||
Line 1: | Line 1: | ||
{{subpages}} | {{subpages}} | ||
{{TOC-right}} | |||
A '''peer-to-peer''' (P2P) network is a type of distributed system for which [[client]]s and [[server]]s are not distinguished from each other. All computers in the shared network, usually the public [[Internet]] are considered peers and can act as both [[client]]s and [[server]]s. Computers act as [[client]]s when requesting services from their peers and as [[server]]s when providing services. | |||
This is an actively emerging technology where research and deployment are closely coupled.<ref name=RFC4981>{{citation | |||
| id = RFC4981 | |||
| title =Survey of Research towards Robust Peer-to-Peer Networks: Search Methods | |||
| author = J. Risson, T. Moors | |||
| date = September 2007 | |||
| url = http://www.ietf.org/rfc/rfc4981.txt }}</ref> | |||
In looking at peer-to-peer applications, the difference among the mechanisms of transfer, the operational aspects of providing service, and the ownership of data all need to be considered. Some objections, ostensibly to P2P, are actually objections to sharing data (e.g., music) where the owner charges for access to material. In other cases, a network operator has had uncontrolled P2P, often with multiple exchanges for the same data, overwhelm network capacity. | |||
==Advantages== | |||
As opposed to traditional client-server systems in which the server can create a bottleneck, peer-to-peer systems are more versatile in satisfying service requests as all nodes in such a system can act as [[server]]s. | |||
Assuming content is replicated, there is no single point of failure. This is especially attractive in military networks where nodes may be destroyed, such as [[Cooperative Engagement Capability]]. Such military P2P applications run over secure networks that still support the needed any-to-any topology. | |||
It lends itself to support of [[database#federated|federated databases]]. This may be necessary for such applications as national health care information exchange, but with obvious security concerns. | |||
When the specific application involves not just passive information sharing, but transactional data exchange, P2P with adequate security may be a viable approach. <ref name=RFC4130>{{citation | |||
| id = RFC4130 | |||
| title =MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, Applicability Statement 2 (AS2) | |||
| author = D. Moberg, R. Drummond. | |||
| date = July 2005 | |||
| url = http://www.ietf.org/rfc/rfc4130.txt }}</ref> | |||
==Disadvantages== | |||
When all content is distributed, there are more opportunities for security compromise, such as alteration of content. | |||
Unless designed and administered carefully, unlimited P2P traffic can generate a great amount of traffic. While issues here involve both the technology (i.e., many independent flows) and typical content (e.g., entertainment), the traffic load may be much greater than the load for which the network was designed. Especially in university networks, P2P traffic has sufficiently overloaded the network such that educational and research activities cannot get adequate bandwidth. | |||
Some service providers have, variously, completely blocked, or rate-limited, P2P traffic. Unquestionably, this can cause resentment. Much depends on the language of the service contract: is there a specific or implied limit on bandwidth use? | |||
Especially when the service provider, such as a cable television operator, also is a content provider, there can be a perceived conflict of interest. Under the principle of [[net neutrality]], a connectivity provider cannot give preferential or degraded service to their own content, or to a competitor. At the same time, a connectivity provider has an implied responsibility to deliver minimal service, which it cannot do with overloaded facilities. There is a real cost to increasing capacity, which might not have been part of the original pricing model that did not consider P2P. | |||
==Principles of operation== | |||
To request or provide services in a peer-to-peer network, all nodes must first join the network. Once a node is part of the network, service requests can be performed in two common ways. | To request or provide services in a peer-to-peer network, all nodes must first join the network. Once a node is part of the network, service requests can be performed in two common ways. | ||
* On joining a network, all nodes register the services they provide with a centralized lookup service. When a node, acting as a [[client]], desires a service, it contacts the centralized lookup service to find out which node provides this service. After obtaining this information, the [[client]] node continues all communication with it's servicing (server) peer | * On joining a network, all nodes register the services they provide with a centralized lookup service. When a node, acting as a [[client]], desires a service, it contacts the centralized lookup service to find out which node provides this service. After obtaining this information, the [[client]] node continues all communication with it's servicing (server) peer | ||
* When a node desires a service, it broadcasts this request to all other nodes on the network. Any nodes that provide this service then respond to the requesting node. A discovery [[protocol]] is required to support this approach. | * When a node desires a service, it broadcasts this request to all other nodes on the network. Any nodes that provide this service then respond to the requesting node. A discovery [[protocol (computer)|protocol]] is required to support this approach. | ||
==References== | |||
{{reflist}} |
Revision as of 14:33, 18 October 2008
Template:TOC-right A peer-to-peer (P2P) network is a type of distributed system for which clients and servers are not distinguished from each other. All computers in the shared network, usually the public Internet are considered peers and can act as both clients and servers. Computers act as clients when requesting services from their peers and as servers when providing services.
This is an actively emerging technology where research and deployment are closely coupled.[1]
In looking at peer-to-peer applications, the difference among the mechanisms of transfer, the operational aspects of providing service, and the ownership of data all need to be considered. Some objections, ostensibly to P2P, are actually objections to sharing data (e.g., music) where the owner charges for access to material. In other cases, a network operator has had uncontrolled P2P, often with multiple exchanges for the same data, overwhelm network capacity.
Advantages
As opposed to traditional client-server systems in which the server can create a bottleneck, peer-to-peer systems are more versatile in satisfying service requests as all nodes in such a system can act as servers.
Assuming content is replicated, there is no single point of failure. This is especially attractive in military networks where nodes may be destroyed, such as Cooperative Engagement Capability. Such military P2P applications run over secure networks that still support the needed any-to-any topology.
It lends itself to support of federated databases. This may be necessary for such applications as national health care information exchange, but with obvious security concerns.
When the specific application involves not just passive information sharing, but transactional data exchange, P2P with adequate security may be a viable approach. [2]
Disadvantages
When all content is distributed, there are more opportunities for security compromise, such as alteration of content.
Unless designed and administered carefully, unlimited P2P traffic can generate a great amount of traffic. While issues here involve both the technology (i.e., many independent flows) and typical content (e.g., entertainment), the traffic load may be much greater than the load for which the network was designed. Especially in university networks, P2P traffic has sufficiently overloaded the network such that educational and research activities cannot get adequate bandwidth.
Some service providers have, variously, completely blocked, or rate-limited, P2P traffic. Unquestionably, this can cause resentment. Much depends on the language of the service contract: is there a specific or implied limit on bandwidth use?
Especially when the service provider, such as a cable television operator, also is a content provider, there can be a perceived conflict of interest. Under the principle of net neutrality, a connectivity provider cannot give preferential or degraded service to their own content, or to a competitor. At the same time, a connectivity provider has an implied responsibility to deliver minimal service, which it cannot do with overloaded facilities. There is a real cost to increasing capacity, which might not have been part of the original pricing model that did not consider P2P.
Principles of operation
To request or provide services in a peer-to-peer network, all nodes must first join the network. Once a node is part of the network, service requests can be performed in two common ways.
- On joining a network, all nodes register the services they provide with a centralized lookup service. When a node, acting as a client, desires a service, it contacts the centralized lookup service to find out which node provides this service. After obtaining this information, the client node continues all communication with it's servicing (server) peer
- When a node desires a service, it broadcasts this request to all other nodes on the network. Any nodes that provide this service then respond to the requesting node. A discovery protocol is required to support this approach.
References
- ↑ J. Risson, T. Moors (September 2007), Survey of Research towards Robust Peer-to-Peer Networks: Search Methods, RFC4981
- ↑ D. Moberg, R. Drummond. (July 2005), MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, Applicability Statement 2 (AS2), RFC4130