Download - P2P - Principle Architecture and Challenges
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