Peer-to-Peer (P2P) Networking 2013

56
Peer-to-Peer (P2P) Networking 2013

description

Peer-to-Peer (P2P) Networking 2013. GET /index.html HTTP/1.0. HTTP/1.1 200 OK. Client/Server Architecture. Server. Clients. Peer-to-Peer Architecture. Gateway Server. Peers. The architectures. Server-based architecture Client-Server / Server-Cluster Problems : - PowerPoint PPT Presentation

Transcript of Peer-to-Peer (P2P) Networking 2013

Page 1: Peer-to-Peer (P2P) Networking         2013

Peer-to-Peer (P2P) Networking 2013

Page 2: Peer-to-Peer (P2P) Networking         2013

Client/Server Architecture

GET /index.html HTTP/1.0

HTTP/1.1 200 OK ...

Clients

Server

Page 3: Peer-to-Peer (P2P) Networking         2013

Peer-to-Peer Architecture

Peers

Gateway Server

Page 4: Peer-to-Peer (P2P) Networking         2013

Server-based architecture Client-Server / Server-Cluster Problems:

Limited resources All loads are centered on the server

Server-based architecture has low scalability. The setup and maintenance cost is high.

Peer-to-Peer (P2P) architecture Advantages:

Distributing loads to all users Users consume and provide resources

P2P architecture has high scalability. The setup and maintenance cost is low.

The architectures

Page 5: Peer-to-Peer (P2P) Networking         2013

The Client Side

Today’s clients can perform more roles than just forwarding users requests

Today’s clients have:more computing powermore storage space

Thin client Fat client

Page 6: Peer-to-Peer (P2P) Networking         2013

Evolution at the Client Side

IBM 8-bit PC @ 4.77MHz

360k diskettes

64-bit PC @ 4-core 4GHz750GB HD

DEC’S VT100No storage

‘70 ‘80 2013

Page 7: Peer-to-Peer (P2P) Networking         2013

What Else Has Changed?

The number of home PCs is increasing rapidly Most of the PCs are “fat clients” As the Internet usage grow, more and more PCs

are connecting to the global net Most of the time PCs are idle

How can we use all this?

Peer-to-Peer (P2P)

Page 8: Peer-to-Peer (P2P) Networking         2013

What is peer-to-peer (P2P)? “Peer-to-peer is a way of structuring

distributed applications such that the individual nodes have symmetric roles. Rather than being divided into clients and servers each with quite distinct roles, in P2P applications a node may act as both a client and a server.”-- Charter of Peer-to-peer Research Group, IETF/IRTF, June 24, 2004(http://www.irtf.org/charters/p2prg.html)

Page 9: Peer-to-Peer (P2P) Networking         2013

Resources Sharing

What can we share? Computer-related resources

Shareable related-computer resources: CPU cycles - seti@home, GIMPS Bandwidth - PPLive, PPStream Storage Space - OceanStore, Murex Data - Napster, Gnutella People - Buddy Finder Camera, Microphone, Sensor, Service???

Page 10: Peer-to-Peer (P2P) Networking         2013

SETI@Home

SETI – Search for Extra-Terrestrial Intelligence

@Home – On your own computer A radio telescope in Puerto Rico scans the

sky for radio signals Fills a DAT tape of 35GB in 15 hours That data have to be analyzed

Page 11: Peer-to-Peer (P2P) Networking         2013

SETI@Home - Example

Page 12: Peer-to-Peer (P2P) Networking         2013
Page 13: Peer-to-Peer (P2P) Networking         2013
Page 14: Peer-to-Peer (P2P) Networking         2013
Page 15: Peer-to-Peer (P2P) Networking         2013
Page 16: Peer-to-Peer (P2P) Networking         2013
Page 17: Peer-to-Peer (P2P) Networking         2013
Page 18: Peer-to-Peer (P2P) Networking         2013
Page 19: Peer-to-Peer (P2P) Networking         2013
Page 20: Peer-to-Peer (P2P) Networking         2013
Page 21: Peer-to-Peer (P2P) Networking         2013

MUREX: A Mutable Replica Control Scheme for Peer-to-Peer Storage Systems

Jehn-Ruey Jiang

ACN Lab NCU

Page 22: Peer-to-Peer (P2P) Networking         2013

Murex: Basic Concept

HotOSAttendee

Page 23: Peer-to-Peer (P2P) Networking         2013

Peer-to-Peer Video Streaming

… …Video stream

Page 24: Peer-to-Peer (P2P) Networking         2013
Page 25: Peer-to-Peer (P2P) Networking         2013
Page 26: Peer-to-Peer (P2P) Networking         2013

Napster -- Shawn Fanning

Page 27: Peer-to-Peer (P2P) Networking         2013
Page 28: Peer-to-Peer (P2P) Networking         2013
Page 29: Peer-to-Peer (P2P) Networking         2013
Page 30: Peer-to-Peer (P2P) Networking         2013
Page 31: Peer-to-Peer (P2P) Networking         2013

Napster Sharing Style: hybrid center+edge

“slashdot”•song5.mp3•song6.mp3•song7.mp3

“kingrook”•song4.mp3•song5.mp3•song6.mp3

•song5.mp3

1. Users launch Napster and connect to Napster server

3. beastieboy enters search criteria

4. Napster displays matches to beastieboy

2. Napster creates dynamic directory from users’ personal .mp3 libraries

Title User Speed song1.mp3 beasiteboy DSLsong2.mp3 beasiteboy DSLsong3.mp3 beasiteboy DSLsong4.mp3 kingrook T1song5.mp3 kingrook T1song5.mp3 slashdot 28.8song6.mp3 kingrook T1song6.mp3 slashdot 28.8song7.mp3 slashdot 28.8

5. beastieboy makes direct connection to kingrook for file transfer

s o n g 5

“beastieboy”•song1.mp3•song2.mp3•song3.mp3

Page 32: Peer-to-Peer (P2P) Networking         2013

History of Napster

5/99: Shawn Fanning (freshman, Northeastern University) founds Napster Online (supported by Groove)

12/99: First lawsuit 7/01: simultaneous online users 160K 6/02: file bankrupt … 10/03: Napster 2 (Supported by Roxio) (users

should pay $9.99/month)

Page 33: Peer-to-Peer (P2P) Networking         2013

Gnutella -- Justin Frankel and Tom Pepper

Page 34: Peer-to-Peer (P2P) Networking         2013

The ‘Animal’ GNU

Gnutella =

GNU: Recursive AcronymGNU’s Not Unix ….

+

Nutella: a hazelnut chocolate spread produced by the Italian

confectioner Ferrero ….

GNU

Nutella

Page 35: Peer-to-Peer (P2P) Networking         2013

GNUGNU's Not Unix 1983 Richard Stallman (MIT) established Free Software Foundation and Proposed GNU ProjectFree software is not freewareGPL: GNU General Public License

Page 36: Peer-to-Peer (P2P) Networking         2013

Gnutella History Gnutella was written by Justin Frankel, the

21-year-old founder of Nullsoft. (Nullsoft acquired by AOL, June 1999) Nullsoft (maker of WinAmp) posted Gnutella

on the Web, March 14, 2000. A day later AOL yanked Gnutella, at the

behest of Time Warner. Too late: 23k users on Gnutella People had already downloaded and shared

the program. Gnutella continues today, run by independent

programmers.

Page 37: Peer-to-Peer (P2P) Networking         2013

Gnutella ProtocolScenario: Joining Gnutella Network

A

Gnutella Network The new node connects to a

well known ‘Anchor’ node or ‘Bootstrap’ node.

Then sends a PING message to discover other nodes.

PONG messages are sent in reply from hosts offering new connections with the new node.

Direct connections are then made to the newly discovered nodes.

NewPING

PINGPING

PINGPING

PINGPING

PINGPING

PING

PONG

PONG

Page 38: Peer-to-Peer (P2P) Networking         2013

Peer-to-Peer Overlay Network

Focus at the application layer

Page 39: Peer-to-Peer (P2P) Networking         2013

Peer-to-Peer Overlay Network

Internet

End systems

one hop(end-to-end comm.)

a TCP thru the Internet

Page 40: Peer-to-Peer (P2P) Networking         2013

Topology of a Gnutella Network

Page 41: Peer-to-Peer (P2P) Networking         2013

xyz.mp3 ?

Gnutella: Issue a Request

Page 42: Peer-to-Peer (P2P) Networking         2013

Gnutella: Flood the Request

Page 43: Peer-to-Peer (P2P) Networking         2013

xyz.mp3

Gnutella: Reply with the FileFully distributed storage and directory!

Page 44: Peer-to-Peer (P2P) Networking         2013

So Far

Centralized :

- Directory size – O(n)

- Number of hops – O(1) Flooded queries:

- Directory size – O(1)

- Number of hops – O(n)

n: number of participating nodes

Page 45: Peer-to-Peer (P2P) Networking         2013

We Want

Efficiency : O(log(n)) messages per lookup

Scalability : O(log(n)) state per node Robustness : surviving massive

failures

Page 46: Peer-to-Peer (P2P) Networking         2013

How Can It Be Done?

How do you search in O(log(n)) time?Binary search

You need an ordered array How can you order nodes in a network and data

objects? Hash function!

Page 47: Peer-to-Peer (P2P) Networking         2013

Example of Hasing

Shark SHA-1

Object ID (key):DE11AC

SHA-1

Object ID (key):AABBCC

194.90.1.5:8080

Page 48: Peer-to-Peer (P2P) Networking         2013

Basic Idea

Hash key

Object “y”

Objects have hash keys

Peer “x”Peer nodes also have hash keys in the same hash space

P2P Network

y xH(y) H(x)

Join (H(x))

Publish (H(y))

Place object to the peer with closest hash keys

Page 49: Peer-to-Peer (P2P) Networking         2013

Mapping an object to the closest node with a larger key

0 M

- an data object

- a node

Page 50: Peer-to-Peer (P2P) Networking         2013

Viewed as a Distributed Hash Table

Hashtable

0 2128-1

Peernode

Internet

Page 51: Peer-to-Peer (P2P) Networking         2013

DHT Distributed Hash Table Input: key (file name)

Output: value (file location) Each node is responsible for a range of the hash

table, according to the node’s hash key. Objects’ directories are placed in (managed by) the node with the closest key

It must be adaptive to dynamic node joining and leaving

Page 52: Peer-to-Peer (P2P) Networking         2013

How to Find an Object?

Hashtable

0 2128-1

Peernode

Page 53: Peer-to-Peer (P2P) Networking         2013

Simple Idea Track peers which allow us to move quickly

across the hash space a peer p tracks those peers responsible for hash keys

(p+2i-1), i=1,..,m

Hashtable

0 2128-1

Peernode

i+22 i+24 i+28i

Page 54: Peer-to-Peer (P2P) Networking         2013

Chord Lookup – with finger tableStart Int. node

2+1 [3,4) 3

2+2 [4,6) 7

2+4 [6,10) 7

2+8 [10,2) 10

12

14 2

10

15 1

3

7

I’m node 2.Please find key 14!

Start Int. node

10+1 [11,12) 12

10+2 [12,14) 12

10+4 [14,2) 14

10+8 [2,10) 2

O(log n) hops (messages)for each lookup!!

14 [10,2)∈

14 [14,2)∈

Circular 4-bitID space

O(log n) states per node

Page 55: Peer-to-Peer (P2P) Networking         2013

Hybrid P2P – Preserves some of the traditional C/S architecture. A central server links between clients, stores indices tables, etc Napster

Unstructured P2P – no control over topology and file placement Gnutella, Morpheus, Kazaa, etc

Structured P2P – topology is tightly controlled and placement of files are not random Chord, CAN, Pastry, Tornado, etc

Classification of P2P systems

Page 56: Peer-to-Peer (P2P) Networking         2013

Q&A