2
1 Introduction 1 Denitions 1 Benets and Limitations of P2P Networks 2 Benets of P2P Networks 2 Limitations of P2P Networks 5 P2P Network Architecture s 7 Base Overlay Layer 7 Middleware Layer 14 Application Layer 18 Conclusions 19 Glossary 19 References 20 Peer-to-Peer Network Architecture Peer-to-Peer Network Architecture Jing Wu and Michel Savoie, Communications Research Center (CRC), Canada  INTRODUCTION The emergence of le-sharing systems such as Napster and Gnutella make the term  peer-to-peer (P2P) popular. The benets and challenges of such network architec- tures are realized by network operators and users. Their cost-effective resource aggregation capability, together with many other benets, has motivated many new de-  velopmen ts and products. T oday , le sharing, content distribution, distributed computing, instant messaging, Internet telephony, and video conferencing, and ad hoc networking 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 is in the section on Denitions. Collections of the existing denitions of a P2P network are listed. Although there is no single concise denition of a P2P network, these de- nitions give us an informal description of a P2P network. Such an open mind is favorable, since new technologies can be accommodated as they are introduced. An analysis of the benets and limitations of P2P net- works is given in the section on Benets and Limitations of P2P Networks. Compared to centralized networks, P2P networks benet from cost sharing and reduction, scal- ability, resource aggregation and interoperability, robust- ness improvement, increased autonomy, anonymity and privacy, enhanced dynamics, ad hoc communication, and collaboration. However, P2P networks are limited by their manageability, security, and service guarantee capa- bility. It has been observed that P2P networks have lim- ited methods to prevent cheating and selsh behaviors. To present a general framework, we use a conceptual layered architecture to illustrate key building blocks in a P2P network in the section on PSP Network Architecture. The abstract reference P2P network architecture consists of three layers: the base overlay layer, the middleware layer, and the application layer. The base overlay layer provides 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, and scheduling. The application layer includes distributed communication and collaboration, le sharing, content distribution, distributed storage, and massively parallel computing. P2P network implementations use very diver- sied architectures. Some P2P networks are developed as single applications, possibly using proprietary imple- mentations. Some P2P networks provide software mod- ules that can be used to compose other applications. The three-layer reference P2P network architecture captures the major functional characteristics of P2P networks. However, it does not imply that a P2P network has to strictly follow the reference architecture. This chapter focuses on the architectural aspects; Chapter 145 is about P2P network applications. Although ad hoc networking extensively uses P2P network architec- ture, we do not cover ad hoc networking in this chapter, since other chapters discuss this concept. DEFINITIONS The term client refers to a process using a service. In the context of networks, a client refers to a communication process receiving information from others or getting con- nected to others by the means of transit services. A client process 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 and server processes. In contrast to a client process, a  server  refers to a process offering services. In networks, a server process hosts information for client processes to search, download, and so on. The term peer means “equal,” which can be informally interpreted as a process with capability similar to the other processes with which process communicates. In the context of P2P networks, a peer process acts as a cli- ent process and at the same time as a server process for the same function. For example, a process that down- loads les from others and meanwhile the process hosts shared les for others to download i s a peer process in le downloading/uploading. There is no distinction between these processes in terms of which is providing or using services. Peer processes communicate with each other in a symmetric pattern. Note that the function that a peer process requests and offers must be the same within the context of a given application. A peer process can be

Peer to Peer Network Architecture

Embed Size (px)

Citation preview

Page 1: Peer to Peer Network Architecture

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