p2p - principle architecture and challenges

Post on 16-May-2015

11.198 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Prof. Kang Xi

ByAnand Lotia Srijish Sridharan(0356187) (0332873)

INTRODUCTION

INTRODUCTION What does a Peer mean in P2P? Hosts on Internet having equal rights Fundamental architecture in today’s world Server-Client and P2P architecture

HISTORY OF P2P

HISTORY OF P2P Is the P2P concept new or did it already exist? USENET and DNS – similar concept to P2P

networks Peer-to-Peer communication model: Each peer can act as Server and Client Each peer can initiate the communication

session Peers are directly connected to each other for

file transfer

HISTORY OF P2P USENET

Based on UUCP (Unix-to-Unix Protocol) Used to exchange files, system patches, etc Now uses NNTP (Network News Transport

Protocol)

HISTORY OF P2P DNS (Domain Name System)

DNS information is spread over different servers

Can act as Server or Client

HISTORY OF P2P Launch of the first Peer-to-Peer

application

Napster – Shawn Fanning (1999) Created to share music in the Northeastern

University

HISTORY OF P2P Following the pioneer

Morpheus Kazaa BearShare iMesh

Peer-to-Peer Architecture

Peer-to-Peer Architecture

Architecture

Based on File Listing Based on Node Connections

Centralized Decentralized Unstructured Structured

Peer-to-Peer Architecture Depending upon the listing of files: Centralized (Hybrid) Decentralized

Depending upon how the nodes are connected:

Unstructured Structured

Peer-to-Peer Architecture Centralized (Hybrid)

File listing exists on central server All peers connect to this central server Examples: Napster, ICQ

Peer-to-Peer Architecture Decentralized

No Central Server Each node connected to many other nodes May be pure Peer-to-Peer or with Super Peers Examples: Gnutella, BitTorrent

Peer-to-Peer Architecture Unstructured

Nodes created arbitrarily Each node copies link information from other

connected nodes Simple, however not efficient Examples: FastTrack, Gnutella

Peer-to-Peer Architecture Structured

Implements algorithms to ensure connection between nodes.

Efficient, however complex algorithms involved

Examples: DHT and HyperCuP

Types of P2P Networks

Types of P2P Networks Napster Gnutella FastTrack eDonkey BitTorrent

Types of P2P Networks Napster

Peers connect to the Central Server File request sent to the server Server responds with the ID of the sharing

peer Peers are directly connected for file transfers Control messages used to ignoring spam

users, sending private messages, creating favorites list, etc

Types of P2P Networks Napster Clients

Napster Napigator

Types of P2P Networks Gnutella

Peers connected to each other in flat ad-hoc topology

Each peers – acts as client and server Dynamic network – Peers can connect and

disconnect as they wish without affecting the network

Types of P2P Networks Connection procedure in Gnutella

network

Types of P2P Networks File Query and Response in Gnutella

Types of P2P Networks Gnutella Clients

BearShare LimeWire Cabos Shareaza

Types of P2P Networks Gnutella – Analysis and Improvement

Flexibility Performance & Stability Reliability Anonymity

Types of P2P Networks FastTrack

Based on Hybrid architecture Two tiers of control First Tier – nodes connected to Super Peers Second Tier – Super Peers connected to

each other Download same file from multiple users

Types of P2P Networks FastTrack Clients

Kazaa iMesh Grokster Morpheus

Types of P2P Networks eDonkey

Based on hybrid architecture Two tier architecture First Tier – central servers for maintaining

list of files Second Tier – for file transfers Two types of server software used –

MetaMachine and eServer

Types of P2P Networks eDonkey Protocol Features

Ability to search files based on meta-data (music, artist, bit-rate, extension, number of sources, file size)

Ability to download same file from multiple peers

Ability to share partial files Ability to detect corrupt files

Types of P2P Networks eDonkey Connection Procedure

Client initiates TCP connection to connect to the Server

File query messages is sent using UDP Requesting peer connects to the sharing peer

by TCP Files are divided in 9.5 MB blocks MD4 (128 bit) checksum is calculated for

every block

Types of P2P Networks eDonkey Clients

eDonkey2000 (developed by MetaMachine) eMule MLDonkey aMule

Types of P2P Networks BitTorrent

Based on decentralized network Files are divided into pieces or blocks Pieces can be of size from 64 kB to 4 MB Pieces can be further fragmented into blocks

of 16 kB

Types of P2P Networks BitTorrent

Trackers – tracks seeders, leechers and file pieces from different users

Seeders – Hold complete files and shares with other peers

Leechers – Download files from other peers

Types of P2P Networks BitTorrent

Users download .torrent files which includes meta-data information

Torrent files can have one or multiple trackers

Files are downloaded in pieces or blocks Implements file sharing fairness

Types of P2P Networks BitTorrent surpassed eDonkey traffic

(2006)

Types of P2P Networks BitTorrent Clients

Azureus BitComet µTorrent BitTorrent

Challenges in P2P

Challenges in P2P Challenges faced in P2P networks

Distribution of copyrighted files Security Issues Bandwidth Consumption

Challenges in P2P Distribution of Copyrighted Files

Several P2P networks sued by music companies and private organizations (RIAA, MPAA, ARIA)

Users are also targeted Copyright laws limited to few countries

Challenges in P2P Security Issues

Spread of virus, malware, spyware, adware, etc

Use of Steganography Spread of null files by RIAA, MPAA Peers can be assigned reputation values Pseudospoofing & Shilling attacks

Challenges in P2P Bandwidth Consumption

Bandwidth for existing Internet traffic (2007)

Windows P2P Networking

Windows P2P Networking Windows P2P Networking Model

Works with IPv6 Uses UPnP messages to communicate Peers discovered by Simple Service Discovery

Protocol

Windows P2P Networking Microsoft Windows P2P Architecture

CONCLUSION

CONCLUSION Potential of P2P networks are vast and still

being discovered and developed Can be used, not only for file transfer, but

also real time media streaming, VOIP, distributed computing, etc

THANK YOU

top related