Upload
pallabi-gayen
View
217
Download
0
Embed Size (px)
Citation preview
8/2/2019 Peer to Peer Network Architecture
http://slidepdf.com/reader/full/peer-to-peer-network-architecture 1/1
1
Introduction 1
Definitions 1Benefits and Limitations of P2PNetworks 2Benefits of P2P Networks 2Limitations of P2P Networks 5
P2P Network Architectures 7Base Overlay Layer 7
Middleware Layer 14
Application Layer 18Conclusions 19Glossary 19References 20
Peer-to-Peer Network ArchitecturePeer-to-Peer Network Architecture
Jing Wu and Michel Savoie, Communications Research Center (CRC), Canada
INTRODUCTION
The emergence of file-sharing systems such as Napsterand Gnutella make the term peer-to-peer (P2P) popular.
The benefits and challenges of such network architec-tures are realized by network operators and users. Theircost-effective resource aggregation capability, togetherwith many other benefits, has motivated many new de-
velopments and products. Today, file sharing, contentdistribution, distributed computing, instant messaging,Internet telephony, and video conferencing, and ad hocnetworking are all taking advantage of P2P network ar-chitectures. This chapter summarizes the network archi-tectures that use the P2P concept.
We start with a discussion of what a P2P network isin the section on Definitions. Collections of the existingdefinitions of a P2P network are listed. Although there isno single concise definition of a P2P network, these defi-
nitions give us an informal description of a P2P network.Such an open mind is favorable, since new technologiescan be accommodated as they are introduced.
An analysis of the benefits and limitations of P2P net-works is given in the section on Benefits and Limitationsof P2P Networks. Compared to centralized networks, P2Pnetworks benefit from cost sharing and reduction, scal-ability, resource aggregation and interoperability, robust-ness improvement, increased autonomy, anonymity andprivacy, enhanced dynamics, ad hoc communication,and collaboration. However, P2P networks are limited bytheir manageability, security, and service guarantee capa-bility. It has been observed that P2P networks have lim-ited methods to prevent cheating and selfish behaviors.
To present a general framework, we use a conceptuallayered architecture to illustrate key building blocks in aP2P network in the section on PSP Network Architecture.The abstract reference P2P network architecture consistsof three layers: the base overlay layer, the middlewarelayer, and the application layer. The base overlay layerprovides peer discovery, overlay network construction,and application-level multicast. The middleware layer of-fers distributed search, publish and subscribe, security,distributed indexing, distributed directory, metadata, andscheduling. The application layer includes distributedcommunication and collaboration, file sharing, content
distribution, distributed storage, and massively parallelcomputing. P2P network implementations use very diver-sified architectures. Some P2P networks are developedas single applications, possibly using proprietary imple-mentations. Some P2P networks provide software mod-ules that can be used to compose other applications. Thethree-layer reference P2P network architecture capturesthe major functional characteristics of P2P networks.However, it does not imply that a P2P network has tostrictly follow the reference architecture.
This chapter focuses on the architectural aspects;Chapter 145 is about P2P network applications. Althoughad hoc networking extensively uses P2P network architec-ture, we do not cover ad hoc networking in this chapter,since other chapters discuss this concept.
DEFINITIONSThe term client refers to a process using a service. In thecontext of networks, a client refers to a communicationprocess receiving information from others or getting con-nected to others by the means of transit services. A clientprocess initiates service requests to others. But a pure cli-ent process is not able to serve requests from others, un-less each participating device supports linked client andserver processes. In contrast to a client process, a server refers to a process offering services. In networks, a serverprocess hosts information for client processes to search,download, and so on.
The term peer means “equal,” which can be informallyinterpreted as a process with capability similar to the
other processes with which process communicates. Inthe context of P2P networks, a peer process acts as a cli-ent process and at the same time as a server process forthe same function. For example, a process that down-loads files from others and meanwhile the process hostsshared files for others to download is a peer process in filedownloading/uploading. There is no distinction betweenthese processes in terms of which is providing or usingservices. Peer processes communicate with each other ina symmetric pattern. Note that the function that a peerprocess requests and offers must be the same withinthe context of a given application. A peer process can be