Telecommunication Services Engineering Lab. Roch H. Glitho

Similar documents
Unit 8 Peer-to-Peer Networking

Peer-to-Peer Internet Applications: A Review

Telematics Chapter 9: Peer-to-Peer Networks

Distributed Knowledge Organization and Peer-to-Peer Networks

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

A Survey of Peer-to-Peer Content Distribution Technologies

Peer-to-Peer Signalling. Agenda

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Architectures and Signaling. Agenda

Architectures for Distributed Systems

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

Peer-to-Peer Networks

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Chapter 2: Application layer

Peer-to-Peer (P2P) Systems

Introduction on Peer to Peer systems

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Content Search. Unstructured P2P. Jukka K. Nurminen

Peer-To-Peer Techniques

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Advanced Computer Networks

Introduction to P2P Computing

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 2 ARCHITECTURES

Slides for Chapter 10: Peer-to-Peer Systems

Distributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201

Content Search. Unstructured P2P

CMSC 332 Computer Networks P2P and Sockets

Motivation for peer-to-peer

6. Peer-to-peer (P2P) networks I.

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Chapter 10: Peer-to-Peer Systems

Georges Da Costa Introduction on Peer to Peer systems

internet technologies and standards

Peer to Peer Networks

Internet Services & Protocols

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Making Gnutella-like P2P Systems Scalable

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Towards Benchmarking of P2P Technologies from a SCADA Systems Protection Perspective

Introduction to Peer-to-Peer Systems

Naming and Service Discovery in Peer-to-Peer Networks

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Distributed Information Processing

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Scalable overlay Networks

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

A P2P File Sharing Technique by Indexed-Priority Metric

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

L3S Research Center, University of Hannover

Overlay Networks in ScaleNet

CMSC 322 Computer Networks Applications and End-To- End

Opportunistic Application Flows in Sensor-based Pervasive Environments

Peer-to-peer computing research a fad?

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Introduction to the Application Layer. Computer Networks Term B14

Peer to Peer Networks

Using peer to peer. Marco Danelutto Dept. Computer Science University of Pisa

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies

RELOAD P2P Overlay Access Protocol. Younghan Kim Soongsil University

OMNIX: A topology-independent P2P middleware

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

Goal and A sample Network App

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Distributed hash table - Wikipedia, the free encyclopedia

Stratos Idreos. A thesis submitted in fulfillment of the requirements for the degree of. Electronic and Computer Engineering

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC

Introduction to Distributed Systems

Secure Distributed Storage in Peer-to-peer networks

Today. Architectural Styles

Searching for Shared Resources: DHT in General

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Peer- Peer to -peer Systems

Assignment 5. Georgia Koloniari

Distributed Systems Peer-to-Peer Systems

Lecture 8: Application Layer P2P Applications and DHTs

P2P Network Structured Networks (IV) Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Chapter 6 PEER-TO-PEER COMPUTING

Searching for Shared Resources: DHT in General

Definition of a DS A collection of independent computers that appear to its user as a single coherent system.

Latest Peer-to-Peer Technologies II Artjom Lind 1

Lecture 13: P2P Distributed Systems

Peer-to-peer systems and overlay networks

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

WWW, REST, and Web Services

(C) Chukiat Worasucheep 1

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

ATP: Autonomous Transport Protocol

Distributed Systems: Architectural Issues

Transcription:

1

Support Infrastructure Support infrastructure for application layer Why? Re-usability across application layer protocols Modularity (i.e. separation between application layer protocol specification / design and infrastructure specification / design) Examples discussed in this course Distributed Name System (DNS) Mapping between application layer symbolic addresses and IP addresses Peer to peer Connectivity, routing and messaging between peers for applications such as file sharing, IP telephony 2

P2P Overlays 1 Client/server vs. P2P computing 2 - Structured P2P Overlays vs. Unstructured P2P Overlays 3. Chord, Freenet and Skype 4. JXTA: A middleware for P2P applications development 3

Client / server vs. P2P computing Client / server Essence Single server offering storage and computation Static Updates done solely by server provider Clients access server Passive role No (or little) contribution to storage and computation Underlying assumption Clients have no (or little) storage and computation capabilities 4

Client / server vs. P2P computing Client / server Inherent issues: Root: server is a computational and network bottleneck» Examples of issues» Scalability» Availability» Efficiency 5

Client / server vs. P2P computing P2P computing Several possible definitions In this course: Computing paradigm that relies on a network of peers (instead of a server) to solve the issues inherent to client / server paradigm, such as:» Scalability» Availability» Efficiency Underlying assumption Clients now have more and more storage and processing power that should be used 6

Client / server vs. P2P computing P2P computing Clients federate via a P2P network to offer storage and computational capabilities required by applications Clients are called peers Each peer may contribute according to its capabilities More powerful peers sometimes called super peers may contribute more Pure P2P vs. hybrid P2P Pure P2P:» Fully decentralized architecture Hybrid P2P» Not that common (e.g. Freenet)» Some level of centralization» More common (e.g. Skype) 7

Client / server vs. P2P computing P2P computing Some examples of technical challenges Self organization Peers may join or leave the network anytime Storage and look up Where to store?» Items may be stored on any set of peers Efficiency of lookups (guarantee vs. performance) Fault tolerance Voluntary departures vs. un-voluntary departures» What to do if a peer leaves?» What to do if a peer goes down? 8

P2P overlay Current way of implementing P2P computing Application layer virtual networks that provide storage, processing, connectivity and routing Network built by peers that federate to offer storage and processing capabilities to applications» Built on top of existing networks, thus the name of overlay» Applications running on top of transport protocols of real network» Real network nodes become virtual nodes in the overlay 9

P2P overlay Overlay (Above V1 V2 V3 V4 Transport) Real network (PHY,link,IP, Transport) R1 R3 R2 R4 10

P2P overlay Characteristics own topology that may be different from the topology of the real network Own protocols that may be different from the protocols used in the real network May come with an application embedded in it (e.g. Skype) or as an infrastructure that can be used by other applications (e.g. CHORD) APIs, toolkits are provided when the application is not embedded in the overlay 11

P2P overlay Simplified abstract view (All this is above transport) P2P Application Layer Service Layer Feature Management Layer Overlay Node Management layer Network Communications Layer 12

Simplified abstract view Application layer Service layer Actual P2P applications (e.g. file sharing, IP telephony)» Maybe either embedded in the P2P infrastructure or built by developers using APIs depending on the P2P overlay Services or building blocks used by developers to build applications Feature management» Maybe or may not be visible to third party developers Features used by all applications (e.g. security, fault resilience) 13

Overlay nodes management Service layer Routing, resources discovery, location look up Services or building blocks used by developers to build applications» Maybe or may not be visible to third party developers Network communication layer Interface to the real network On top of a real transport network 14

Structured P2P Tightly controlled topology Content placed at very specific locations Efficient subsequent queries Technique used: Distributed Hash Table (DHT) Generation of a key» Put (Key, value)» Value = Get (key) Each peer has a small routing table of neighbouring peers» Node ID» IP address Messages routed progressively using Node ID that are closer to the key 15

Structured P2P Some examples Content Addressable Network (CAN) Chord Tapestry Pastry Kademlia Viceroy 16

Un-structured P2P Loosely controlled topology Content placed at random locations Flooding techniques» Efficient for highly replicated content» Inefficient for rare content 17

Un-structured P2P Some examples Napster Freenet Gnutella KazaA BitTorrent 18

Chord, Freenet and Skype Chord Structured P2P overlay that can be used to build applications An example of possible applications Time shared storage for nodes with intermittent connection Goal:» Have one s data always available (even when disconnected) Solution» Store the data of other peers when connected and get ones data stored by other peers when disconnected 19

Chord, Freenet and Skype Chord Key features Load balancing Full decentralization Scalability Availability Flexible naming 20

Chord, Freenet and Skype Freenet Goal Create an un-censorable and secure global information storage system Unstructured P2P Application embedded in the P2P overlay» Efforts to decouple the application from the P2P overlay were not successful 21

Chord, Freenet and Skype Freenet Requirements Privacy for information producers, consumers and holders Resistance to information censorship High availability and reliability Efficient, scalable and adaptive storage and routing 22

Chord, Freenet and Skype Freenet Architectural principles Users use globally unique identifier (GUID) to insert and retrieve files GUIDs are assigned by the system Data may be encrypted before insertion in the network Files are stored on some set of nodes (may migrate or be replicated) Messages travel through node to node chains and each link is individually encrypted Controlled fllooding 23

Chord, Freenet and Skype Skype Application embedded in the P2P overlay No design information available in the public domain The little that is known is by reverse engineering 24

Chord, Freenet and Skype Skype Several servers Login server Skype-out server (PC to Public Switched Telephony Network (PSTN) calls) Skype 0 in server (PSTN calls to PC) 25

Chord, Freenet and Skype Skype Several servers Login server Skype-out server (PC to Public Switched Telephony Network (PSTN) calls) Skype - in server (PSTN calls to PC) 26

Chord, Freenet and Skype Skype Overlay architecture Hierarchical Ordinary host Super nodes» Every ordinary host is connected to a super node» Routing table contains list of reachable super nodes» Super nodes are interconnected 27

Chord, Freenet and Skype Skype Signaling Always over TCP May go directly from caller to callee (if callee is in caller busy and both are with public IP) May go via a super node (When for instance callee is behind a NAT) 28

JXTA: A middleware for P2P application development Key objectives Interoperability Platform (e.g. OS, programming language) independence Ubiquity (e.g. possibility to run on a wide range of devices: from laptops to cell phones and wireless sensors) Application independence (i.e. possibility of building any p2p application file sharing, IP telephony) 29

JXTA: A middleware for P2P application development Architecture JXTA Applications Application Layer JXTA Services Service Layer JXTA Core Feature Management Layer Overlay Node Management layer Network Communications Layer 30

JXTA: A middleware for P2P application development Programming models and APIs A very wide range model including a socket programming model / API 31

JXTA: A middleware for P2P application development A set of protocols Some examples Peer discovery Peer information protocol Peer membership protocol 32

JXTA: A middleware for P2P application development P2P chat using sockets (every peer is both a client and a server) 33

JXTA: A middleware for P2P application development P2P chat using sockets (every peer is both a client and a server) 34

JXTA: A middleware for P2P application development P2P chat using sockets (every peer is both a client and a server) Joining the default peer group (netgroup) Public void startjxta(){ 2: netpeergroup = PeerGroupFactory.newNetPeerGroup(); 3: PeerGroupID peergroupbinaryid = MD5ID.createPeerGroupID (netpeergroup.getpeergroupid(),"hello world application", "chat"); 4: applicationpeergroup = PeerGroupTool.createAndJoinPeerGroup (netpeergroup, "Hello World",peerGroupBinaryID); 5: } 35

References 1, E.K. Lua et al, A Survey and Comparison of Peer-to-Peer Overlay Network Schemes, IEEE Communications Surveys and Tutorials, March 2004 2. I. Stoica et al, Chord: A Scalable Peer to peer Lookup Protocol for Internet Applications, IEEE/ACM Transactions On Networking, 2003 3. I. Clarke et al., Protecting Free Expression On-Line with Freenet, IEEE Internet Computing, January/February 2002 4. S. A. baset and H. Schulzrinne, An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol, IEEE Infocom 2006 5. L. Gong, JXTA: A Network Programming Environment, IEEE Internet Computing 2001 6. The Socket API in JXTA 2.0 http://java.sun.com/developer/technicalarticles/networking/jxta2.0/ind ex.html 36