Peer-to-Peer Intro 5.4.2005 Jani & Sami Peltotalo.

Slides:



Advertisements
Similar presentations
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Advertisements

Understanding KaZaA Jian Liang Rakesh Kumar Keith Ross Polytechnic University Brooklyn, N.Y.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
Skype & Network Management Taken from class reference : An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman A. Baset and Henning Schulzrinne.
Voice over IP Skype.
1 An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol Speaker : zcchen.
Review of a research paper on Skype
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman Baset and Henning Schuzrinne INFOCOMM 2006 Presenter - Bob Kinicki Presenter -
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
No Class on Friday There will be NO class on: FRIDAY 1/30/15.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Spotlighting Decentralized P2P File Sharing Archie Kuo and Ethan Le Department of Computer Science San Jose State University.
More about Skype. Overview Any node with a public IP address having sufficient CPU, memory and network bandwidth is a candidate to become a super node.
Skype & its protocol Aaron Loar CPE 401. Introduction Skype’s Background Topology 3 Node Types Questions.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Client-Server vs P2P or, HTTP vs Bittorrent. Client-Server Architecture SERVER client.
The Bittorrent Protocol
KaZaA: Behind the Scenes Shreeram Sahasrabudhe Lehigh University
P2P File Sharing Systems
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and.
Architecture of Software Systems – Lecture 8 Massively Distributed Architectures Reliability, Failover … and failures Martin Rehák.
A Survey of P2P Filesharing Applications James Kirk CS February 3, 2004.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Peer to Peer Network Anas Hardan. What is a Network? What is a Network? A network is a group of computers and other devices (such as printers) that are.
BitTorrent Internet Technologies and Applications.

Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Ch 2. Application Layer Myungchul Kim
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Peer-to-Peer Networking. Presentation Introduction Characteristics and Challenges of Peer-to-Peer Peer-to-Peer Applications Classification of Peer-to-Peer.
Introduction of P2P systems
Skype P2P Kedar Kulkarni 04/02/09.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
Vulnerabilities in peer to peer communications Web Security Sravan Kunnuri.
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Hongil Kim E. Chan-Tin, P. Wang, J. Tyra, T. Malchow, D. Foo Kune, N. Hopper, Y. Kim, "Attacking the Kad Network - Real World Evaluation and High.
Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Understanding KaZaA Jian Liang Rakesh Kumar Keith Ross Polytechnic University Brooklyn, N.Y.
FastTrack Network & Applications (KaZaA & Morpheus)
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
An analysis of Skype protocol Presented by: Abdul Haleem.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
Lecture 10. P2P VoIP D. Moltchanov, TUT, Fall 2014
NETE4631 Network Information Systems (NISs): Peer-to-Peer (P2P) Suronapee, PhD 1.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
Peer to Peer Computing. What is Peer-to-Peer? A model of communication where every node in the network acts alike. As opposed to the Client-Server model,
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Skype.
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
05 - P2P applications and Sockets
An example of peer-to-peer application
Peer-to-Peer and Social Networks
Skype P2P communication
Part 4: Peer to Peer - P2P Applications
Presentation transcript:

Peer-to-Peer Intro Jani & Sami Peltotalo

Overview of P2P Overlay networks Current P2P applications –P2P file sharing –Instant messaging / voice over IP –P2P distributed computing

P2P Architectures

1G P2P: Centralized Network Fast search/query response times Simple Protocol Provides a high degree of performance and resilience Susceptible to being shutdown, single server or server farm e.g. Napster

2G P2P: Decentralized Network Slow search/query response times which generates large volumes of network traffic Network resilience and performance governed by users' PCs and their network connectivity No central points of failure or control e.g. Gnutella 0.4

3G P2P: Hybrid Architecture super-peers Improved search/query response times, with less traffic generated per query than decentralized networks The deployment of super-peers provides a high degree of performance and resilience No central points of failure or control e.g. FastTrack, Gnutella 0.6

4G P2P: Different type of architectures BitTorrent: centralized eDonkey2000: semi-centralized Overnet: decentralized

FastTrack Overview

FastTrack Clients: KaZaA, iMesh, Grokster... MP3s & entire albums, videos, games Decentralized network, supernodes act as temporary indexing servers (hierarchical architecture) Control data encrypted Everything in HTTP request and response messages Optional parallel downloading of files

supernodes originalnodes Each peer is either a supernode or is assigned to a supernode Selection criterias: CPU, memory, network connection Each SN has about children nodes and has TCP connections with other supernodes SN tracks the content and IP of its children nodes, not content under its neighboring SNs FastTrack: Architecture

FastTrack: Metadata When ON connects to SN, it uploads its metadata For each file: –File name –File size –Content Hash (MD5+CRC) –File descriptors: used for keyword matches during query Content Hash: –When peer A selects file at peer B, peer A sends ContentHash in HTTP request –If download for a specific file fails (partially completes), ContentHash is used to search for new copy of file

FastTrack: Overlay Maintenance List of potential supernodes included within software download New peer goes through the list until it finds operational supernode –Node “pings” (5-6) supernodes on the list and connects with the first replied SN –Connects and obtains more up-to-date list, with 200 entries –SNs in the updated list are “close” to ON If supernode goes down, node goes through the updated list and finds new supernode

FastTrack: Queries Node first sends query to supernode –Supernode responds with matches –If x matches found, done Otherwise, supernode forwards query to subset of supernodes –If total of x matches found, done Otherwise, query further forwarded –Probably by original supernode rather than recursively

FastTrack: Parallel Downloading and Recovery If file is found in multiple nodes, user can select parallel downloading Identical copies identified by ContentHash HTTP byte-range header used to request different portions of the file from different nodes Automatic recovery when server peer stops sending file –ContentHash is used to search for new copy of file

eDonkey2000 Overview

eDonkey2000 (ED2K) Semi-centralized network, includes index servers Many clients: eDonkey2000, MLDonkey, eMule, Shareaza... Index server: Lugdunum Used also for legal content delivery Files identified by hash (MD4) Possible to search files using web, founded ed2k links can be used to start file download –ed2k://|file|gentoo.linux.install-x86-minimal [found via 40F09DB7400B6|/)

ED2K Communication: –client-connected index server: TCP –client-other index servers: UDP –index server-index server: UDP –client-client: TCP File transfer using Multisource File Transmission Protocol (MFTP) –also HTTP and BitTorrent supported

Index Server 1 Register to server, tell server own shared files Peer 1 Index Server 3 Index Server 2 Peer 4 (registered to index server 3) Index Server 1 XXXX.exePeer 2 YYYY.txtPeer 2 YYYY.exePeer 2 XXXX.txt XXXX.exe ZZZZ.txt ZZZZ.exe YYYY.txt ZZZZ.exe YYYY.txt YYYY.exe XXXX.exe Peer 2 (registered to index server 1) Peer 3 (registered to index server 2) Index Server 2 YYYY.txtPeer 3 ZZZZ.exePeer 3 Index Server 3 ZZZZ.txtPeer 4 ZZZZ.exePeer 4 ED2K: Registration

Index Server 1 Index Server 3 Index Server 2 Peer 4 (registered to index server 3) XXXX.txt XXXX.exe ZZZZ.txt ZZZZ.exe YYYY.txt ZZZZ.exe YYYY.txt YYYY.exe XXXX.exe Peer 2 (registered to index server 1) Peer 3 (registered to index server 2) ED2K: Registration Reply List of other index servers known by index server 1 Peer 1 (registered to index server 1) Index Server 1 XXXX.txtPeer 1 XXXX.exePeer 1 & Peer 2 YYYY.txtPeer 2 YYYY.exePeer 2

Index Server 1 Index Server 3 Index Server 2 Peer 4 Peer 2Peer 3 ED2K: File Search Peer 1 Search Files (TCP) Search Files (UDP) Search Files message includes: keyword optionally - min file size - max file size - availability - etc.

Index Server 1 Index Server 3 Index Server 2 Peer 4 Peer 2Peer 3 ED2K: File Search Reply Peer 1 Search File Results (TCP) Search File Results (UDP) Search File Results message includes one or more file info: file hash client IP and port (optional?) file name

Index Server 1 Index Server 3 Index Server 2 Peer 4 Peer 2Peer 3 ED2K: File Downloading 1/3 Peer 1 Get Sources (TCP) Get Sources (UDP) Done if Search File Results message(s) don’t include client IP and port pair(s) or ED2K link is used to start downloading includes: - file hash

Index Server 1 Index Server 3 Index Server 2 Peer 4 Peer 2Peer 3 ED2K: File Downloading 2/3 Peer 1 Found Sources (TCP) Found Sources (UDP) Found Sources message includes: file hash address list - client IP and port

Index Server 1 Index Server 3 Index Server 2 Peer 4 Peer 2Peer 3 ED2K: File Downloading 3/3 Peer 1 File requests and downloading

BitTorrent Overview

BitTorrent Centralized network, includes tracker.torrent files Google search for.torrents Legal material available

Tracker HTTP Server GET.torrent file Downloader Seed 2 Leecher 1 Seed 1 In.torrent file: file size file name hash of file (SHA1) url of tracker.torrent file BitTorrent: Get.torrent

Tracker HTTP Server Seed 2 Leecher 1 Seed 1 BitTorrent: Get Peer List Response-peer list GET-announce Downloader

Tracker HTTP Server Downloader Seed 2 Leecher 1 Seed 1 BitTorrent: Query File Pieces GET pieces of file

Tracker HTTP Server Leecher 2 Seed 2 Leecher 1 Seed 1 BitTorrent: File Pieces Info about download status pieces of file

Tracker HTTP Server Seed 4 Seed 2 Seed 3 Seed 1 BitTorrent: Status Information Info about complete download

Skype Overview

Skype Skype is a P2P VoIP client developed by the people who did KaZaA Allows its users to place voice calls and send text messages to other users of Skype clients Two types of nodes in the overlay network, ordinary hosts (OH) and super nodes (SN) OH is a Skype application that can be used to place voice calls and send text messages SN is an ordinary host’s end-point on the Skype network Any node with a public IP address having sufficient CPU, memory, and network bandwidth is a candidate to become a SN

Skype OH must connect to a SN and must register itself with the Skype login server for a successful login 7 bootstrap super nodes The host cache (HC) is a list of super node IP address and port pairs that OH builds and refreshes regularly HC contains a maximum of 200 entries

Skype Network Super Nodes Skype Login Server Message exchange during login

Skype Uses its Global Index technology to search for a user Firewall traversal: First UDP, second TCP, third TCP port 80 (HTTP), fourth TCP port 443 (HTTPS) Call signaling is carried always over TCP

NAT and Firewall Traversal -If caller is behind port- restricted NAT, call signaling (TCP) is forwarded through a node, which has a public IP address -If either caller or callee or both are behind port- restricted NAT voice traffic (UDP) is forwarded through the same node - If both caller and callee have a public IP address, call signaling (TCP) and voice traffic (UDP) flow directly between them - If both caller and callee are behind port-restricted NAT and UDP- restricted firewall, then signaling traffic and voice traffic is forwarded through another node over TCP