Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.

Slides:



Advertisements
Similar presentations
Peer-to-Peer and Social Networks An overview of Gnutella.
Advertisements

The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Author: Bram Cohen Presenter: Brian Liao.
Incentives Build Robustness in BitTorrent- Bram Cohen Presented by Venkatesh Samprati.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Peer-to-Peer Architecture Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Peer-to-Peer Intro Jani & Sami Peltotalo.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
A P2P file distribution system ——BitTorrent Fan Bin Sep,25,2004.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen
1 Peer-to-Peer Applications Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-peer and Application-level Networking CS 218 Fall 2003 Multicast Overlays P2P applications Napster, Gnutella, Robust Overlay Networks Distributed.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
CSE 461 University of Washington1 Topic Peer-to-peer content delivery – Runs without dedicated infrastructure – BitTorrent as an example Peer.
Client-Server vs P2P or, HTTP vs Bittorrent. Client-Server Architecture SERVER client.
The Bittorrent Protocol
P2P File Sharing Systems
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
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
BitTorrent Internet Technologies and Applications.

Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
1 BitTorrent System Efrat Oune Bar-Ilan What is BitTorrent? BitTorrent is a peer-to-peer file distribution system (built for intensive daily use.
Introduction of P2P systems
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
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.
GNUTELLA PEER-TO-PEER NETWORKING. GNUTELLA n What is Gnutella n Relation to the World Wide Web n How it Works n Sites / Links / Information.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
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.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
1 Indranil Gupta (Indy) Lecture 4 Peer to Peer Systems January 30, 2014 All Slides © IG CS 525 Advanced Distributed Systems Spring 2014.
Peer-to-Peer File Sharing
NETE4631 Network Information Systems (NISs): Peer-to-Peer (P2P) Suronapee, PhD 1.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer to Peer Network Design Discovery and Routing algorithms
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
© 2016 A. Haeberlen, Z. Ives CIS 455/555: Internet and Web Systems 1 University of Pennsylvania Decentralized systems February 15, 2016.
1 Gnutella. 2 Overview r P2P search mechanism r Simple and straightforward r Completely decentralized r Creates overlay network r Different applications.
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
Lecture XV: Real P2P Systems
An example of peer-to-peer application
Introduction to BitTorrent
BitTorrent Vs Gnutella.
Peer-to-Peer and Social Networks
CPE 401/601 Computer Network Systems
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
Content Distribution Networks + P2P File Sharing
Presentation transcript:

Peer to Peer Networking

Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled Batch process oriented Data storage on the server only

Network Models => Client/Server Ex: WWW User interface, business rules Backend database Data storage on the server, client N-tier architecture Hierarchical

Network Models => Distributed Architecture Ex: BitTorrent Tasks may be parallel or autonomous Computation is done at the edges Geographically distributed thru single interface Data storage is distributed

Generations of P2P 1st Generation: Centralized file list  Napster  He who controls central file is responsible legally 2nd Generation: Decentralized file lists  Gnutella, FastTrack  Improvements – optimizations of decentralized search 3rd Generation: No file lists  Freenet, WASTE, Entropy, MUTE  Anonymity built in

The Good, Bad, and Ugly of P2P The Good  Security based on social contract  Free exchange of ideas  Everyone’s computer can contribute to the greater good The Bad  Avoids most security: Can be used for piracy The Ugly  Often targeted by RIAA and others for piracy

Peer-to-Peer Concepts Bootstrapping  Finding peers to connect to Peer Discovery  Finding other peers in the system Content Location  Finding a peer with the desired content Content Delivery  Downloading from selected peer or peers

Napster Bootstrapping & Peer Discovery  Centralized server Content Location  Tell server IP address & filenames  Send query to server - returns list of peers Content Delivery  Download from a single peer

Napster in court Napster claimed they were not infringing copyright because they were not storing any songs shutdown by court injunction because case against them was likely to succeed  Napster users likely guilty of direct copyright infringement - copying of a work by another  Napster likely to be guilty of contributory infringement because they learned of infringement and failed to purge the materials from its system  Napster likely to be guilty of vicarious infringement because they supervised or controlled the party engaging in infringing activity and had a financial interest in the activities

Gnutella peer-to-peer networking: applications connect to peer applications focus: decentralized method of searching for files each application instance serves to:  store selected files  route queries (file searches) from and to its neighboring peers  respond to queries (serve file) if file stored locally Gnutella history:  3/14/00: release by AOL, almost immediately withdrawn  too late: 10K users managed to download

Gnutella Bootstrapping  First time: connect to a peer that you heard about outside of gnutella  Keep a cache of peers discovered for later use Peer Discovery  Try to always be connected to a fixed number  Send ping message - flooded to neighbors  Respond to ping with pong Contains IP address, port, # files, # KB

Gnutella: Content Location Searching by flooding: If you don’t have the file you want, query 7 of your partners. If they don’t have it, they contact 7 of their partners, for a maximum hop count of 10. Requests are flooded, but there is no tree structure. No looping but packets may be received twice. No prioritization mechanism

Gnutella Content Delivery  Direct download from peer  If peer is behind a firewall ask it to connect to you  If you are both behind a firewall - too bad Problems  No explicit rate limiting on ping frequency or query frequency - overload network  Slow peers can hinder faster peers

Free Riding We want to move from the client server architecture:

Free Riding Towards a robust, decentralized p2p architecture:

Free Riding But due to free riding, we end up with:

Free Riding Characteristics Exhibits a Pareto distribution of sharers (many people have small hard disks, small bandwidth and small hearts, few have large) Hurts overall resiliency, network throughput The move from the traditional star(s) topology is less than one would wish. Equilibrium far away from global optimum

Free riding statistics on Gnutella 66% of hosts share no files 73% of hosts share ten or less files Top 1% shares 40% of the files in the network and answers 50% of the queries Top 20% share 98% of the files 61% never answered a query (no one wants their files)

Gnutella Group Leaders  Ultrapeers  Low bandwidth peers connect to group leader Queries through group leaders  Cached hash tables  Hits include estimate of upload speed Protocol extensions  Parallel download  Persistent, location independent filenames (URNs)  LAN multicast

On came BitTorrent Author: Bram Cohen Based on Tit-for-tat Incentive - Uploading while downloading Pieces of files

Bittorrent Bootstrapping  Download a.torrent file from a web server  Contact listed tracker for list of peers Peer Discovery  Periodically contact tracker Content Location  Check with each peer to determine which blocks they have  Download rarest blocks first

Bittorrent - Content Delivery Seed  A server which has the entire file  Other peers may also act as a seed if they linger after downloading the file Parallel Download Incentives  Serve content to k connections at a time  Serve to connections that give you the most  Periodically serve to a random connection to see if it can do better than current connections

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Web Server.torrent url of the tracker Pieces Piece length Name Length Files

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Get-announce(HTTP) Web Server Peer-cache State information

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Response-peer list (random) Web Server Peer-cache State information

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Shake-hand(TCP) Web Server Shake-hand

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker pieces Web Server

Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker pieces Web Server

Peer Selection (tit for tat) Incentive Mechanism  Choking Algorithm Temporary refusal to upload - performed every 10s Based solely on download rate - tit for tat  Optimistic Unchoking Rotating peer to optimistically unchoke Rediscover unused connections and changes  Anti-snubbing When a peer receives no data from another in 60s, assume it is choked by all other peers. Refuse to upload to it except for optimistic unchoking

Strengths Better bandwidth utilization  Up to 7 MB/s from the Internet. Limit free riding – tit-for-tat  Coupled upload and download Spurious files not propagated Ability to resume a download

Weaknesses and Open Issues In practice, the seed does an inproportionate amount of work Peer selection strategy  Can we do better than random? Block selection strategy  Rarest first? How well do incentives work?