CS 3516: Computer Networks

Similar documents
CS 3516: Advanced Computer Networks

Peer-to-Peer Applications Reading: 9.4

Chapter 2: Application layer

Application Layer: P2P File Distribution

CMSC 332 Computer Networks P2P and Sockets

CSE 486/586 Distributed Systems Peer-to-Peer Architectures

Lecture 8: Application Layer P2P Applications and DHTs

CS 3516: Advanced Computer Networks

CSC 4900 Computer Networks: P2P and Sockets

Introduction to Computer Networks

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

CS 3516: Computer Networks

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

CS 3516: Computer Networks

CS 3516: Computer Networks

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli

CS 3516: Computer Networks

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

CC451 Computer Networks

Peer to Peer Computing

Reti P2P per file distribution: BitTorrent

Application-Layer Protocols Peer-to-Peer Systems, Media Streaming & Content Delivery Networks

CS 3516: Advanced Computer Networks

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

CS 3516: Advanced Computer Networks

BitTorrent. Masood Khosroshahy. July Tech. Report. Copyright 2009 Masood Khosroshahy, All rights reserved.

Content Overlays (continued) Nick Feamster CS 7260 March 26, 2007

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Introduction to P P Networks

internet technologies and standards

Scaling Problem Computer Networking. Lecture 23: Peer-Peer Systems. Fall P2P System. Why p2p?

Content Search. Unstructured P2P. Jukka K. Nurminen

Peer-to-Peer Systems. Internet Computing Workshop Tom Chothia

Lecture 17: Peer-to-Peer System and BitTorrent

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Content Search. Unstructured P2P

Course Introduction. Off script lecturing on whiteboard Just as important towards exams, etc.

CE693: Adv. Computer Networking

Distributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

EE 122: Peer-to-Peer Networks

CS 3516: Computer Networks

CS 3516: Advanced Computer Networks

Peer-to-Peer (P2P) Systems

Peer-to-Peer Networks

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Peer to Peer Systems and Probabilistic Protocols

Outline. Peer-to-Peer. P2p file-sharing. Wither p2p? What s out there? The p2p challenge C1: Search(human s goals) -> file

Peer-peer and Application-level Networking. CS 218 Fall 2003

Computer Networking Introduction

Peer-to-Peer Protocols and Systems. TA: David Murray Spring /19/2006

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks

Peer to Peer Networks

CS 3516: Advanced Computer Networks

Information Network Systems The application layer. Stephan Sigg

CS 3516: Advanced Computer Networks

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

Game Theory. Presented by Hakim Weatherspoon

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Extreme Computing. BitTorrent and incentive-based overlay networks.

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

Outline. P2P and Content Distribution. P2P Definitions. More Definitions. P2P is not new. P2P Definitions. P2P Overview P2P systems P2P and DRM

Acknowledgements. Peer-peer Computing & Networking CS 699/IT 818 Fall Peer-peer computing and networking. Peer-peer network.

Content Distribution and BitTorrent [Based on slides by Cosmin Arad]

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

Chapter 1 Introduction

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

15-744: Computer Networking P2P/DHT

CS 3516: Computer Networks

CS 3516: Advanced Computer Networks

CSCI-1680 P2P Rodrigo Fonseca

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018

CS 3516: Computer Networks

Scalability of the BitTorrent P2P Application

Implementation of the Gnutella Protocol

Chapter 2 Application Layer

Chapter 2 Application Layer

Making Gnutella-like P2P Systems Scalable

Chapter II: Application Layer

Peer-to-Peer Internet Applications: A Review

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p?

BitTorrent. Internet Technologies and Applications

Do incentives build robustness in BitTorrent?

Main Challenge. Other Challenges. How Did it Start? Napster. Model. EE 122: Peer-to-Peer Networks. Find where a particular file is stored

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Miscellaneous. Name Service. Examples (cont) Examples. Name Servers Partition hierarchy into zones. Domain Naming System

Chapter 1 Introduction

RSC Part I: Introduction

Introduction to Peer-to-Peer Networks

BitTorrent Optimization Techniques. (from various online sources)

Localhost: A browsable peer-to-peer file sharing system

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Data Management. Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig

Transcription:

Welcome to CS 3516: Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: AK219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook Computer Networking: A Top Down Approach, 7th edition, by Jim Kurose, Keith Ross, Addison-Wesley March 2016. Copyright 1996-2017 J.F Kurose and K.W. Ross, All Rights Resered.

Quiz 5 on Friday P2P networks Mid-term next Friday (Tentatie) Lab 2 due on Friday Piazza is aailable Application Layer 2-2

Chapter 2: outline 2.6 P2P applications 1. P2P s Client&Serer 2. Unstructured -to- Networks BitTorrent 3. Structured -to- Networks Distributed Hash Table (DHT) Application Layer 2-3

Client-serer s P2P architecture peer-to-peer client/serer Application Layer 2-4

-to- Networks: Unstructured -to- Networks Napster Gnutella BitTorrent 5

Chapter 2: outline 2.6 P2P applications 1. P2P s Client&Serer 2. Unstructured -to- Networks Napster Gnutella BitTorrent 3. Structured -to- Networks Application Layer 2-6

-to- Networks: How Did it Start? A killer application: Napster Free music oer the Internet Key idea: share the content, storage and bandwidth of indiidual (home) users Internet 7

Model Each user stores a subset of files Each user has access (can download) files from all users in the system Challenges Scale: up to hundred of thousands or millions of machines Dynamicity: machines can come and go any time 8

Main Challenge Find where a particular file is stored F E D E? A B C 9

Napster: Example m5 m6 E F E? E E? m5 m1 A m2 B m3 C m4 D m5 E m6 F m4 D m1 A m2 B m3 C 10

-to- Networks: Napster Napster history: the rise January 1999: Napster ersion 1.0 May 1999: company founded September 1999: first lawsuits 2000: 80 million users Napster history: the fall Mid 2001: out of business due to lawsuits Mid 2001: dozens of P2P alternaties that were harder to touch, though these hae gradually been constrained 2003: growth of pay serices like itunes Napster history: the resurrection 2003: Napster reconstituted as a pay serice 2006: still lots of file sharing going on Shawn Fanning, Northeastern freshman 11

Napster: Example m5 m6 E F E? E E? m5 m1 A m2 B m3 C m4 D m5 E m6 F m4 D User installing the software m1 Client contacts Napster (ia TCP) A m2 B m3 C Client searches on a title or performer Client requests the file from the chosen supplier 12

Napster: Limitations of Central Directory Single point of failure Performance bottleneck Copyright infringement File transfer is decentralized, but locating content is highly centralized So, later P2P systems were more distributed 13

-to- Networks: Gnutella Gnutella history 2000: J. Frankel & T. Pepper released Gnutella Soon after: many other clients (e.g., Morpheus, Limewire, Bearshare) 2001: protocol enhancements, e.g., ultrapeers Query flooding Join: contact a few nodes to become neighbors Publish: no need! Search: ask neighbors, who ask their neighbors Fetch: get file directly from another node 14

Gnutella Ad-hoc topology No guarantees on recall xyz xyz Query: xyz Queries are flooded for bounded number of hops 15 (TTL)

Gnutella: Protocol Query message sent oer existing TCP connections s forward Query message QueryHit sent oer reerse path Scalability: limited scope flooding Query QueryHit Query QueryHit Query Query QueryHit Query File transfer: HTTP Oerlay network: graph Edge between peer X and Y if there s a TCP connection 16

Gnutella: Pros and Cons Adantages Fully decentralized Highly robust Disadantages Not scalable; the entire network can be swamped with request Search scope may be quite large, High oerhead Search time may be quite long 17

Chapter 2: outline 2.6 P2P applications 1. P2P s Client&Serer 2. Unstructured -to- Networks BitTorrent Application Layer 2-18

P2P design challenges Scalability Publish/Download Large file Free Riding 19

BitTorrent: Simultaneous Downloading Diide large file into many pieces (256Kbytes) Replicate different pieces on different peers A peer with a complete piece can trade with other peers can (hopefully) assemble the entire file Allows simultaneous downloading Retrieing different parts of the file from different peers at the same time 20

BitTorrent Components Seed with entire file Fragmented in pieces Leech with an incomplete copy of the file Torrent file Passie component Stores summaries of the pieces to allow peers to erify their integrity Tracker Allows peers to find each other Returns a list of random peers 21

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker.torrent A [Leech] Downloader US B [Leech] C [Seed] 22

BitTorrent: Oerall Architecture Web page with link A [Leech] to.torrent Downloader US Web Serer Get-announce B [Leech] Tracker C [Seed] 23

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker A [Leech] Downloader US Response-peer list B [Leech] C [Seed] 24

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker A [Leech] Downloader US Shake-hand Shake-hand B [Leech] C [Seed] 25

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker A pieces C [Leech] Downloader US pieces B [Leech] [Seed] 26

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker A [Leech] Downloader US pieces pieces B [Leech] pieces C [Seed] 27

BitTorrent: Oerall Architecture Web page with link to.torrent Web Serer Tracker A [Leech] Downloade r US Get-announce Response-peer list pieces pieces B [Leech] pieces C [Seed] 28

Free-Riding Problem in P2P Networks Vast majority of users are free-riders Most share no files and answer no queries Others limit # of connections or upload speed A few peers essentially act as serers A few indiiduals contributing to the public good Making them hubs that basically act as a serer BitTorrent preent free riding Allow the fastest peers to download from you Occasionally let some free loaders download 29

BitTorrent: requesting, sending file chunks requesting chunks: at any gien time, different peers hae different subsets of file chunks periodically, Alice asks each peer for list of chunks that they hae Alice requests missing chunks from peers, rarest first sending chunks: tit-for-tat Alice sends chunks to those four peers currently sending her chunks at highest rate other peers are choked by Alice (do not receie chunks from her) re-ealuate top 4 eery10 secs eery 30 secs: randomly select another peer, starts sending chunks optimistically unchoke this peer newly chosen peer may join top 4 Application Layer 2-30

BitTorrent: tit-for-tat (1) Alice optimistically unchokes Bob (2) Alice becomes one of Bob s top-four proiders; Bob reciprocates (3) Bob becomes one of Alice s top-four proiders higher upload rate: find better trading partners, get file faster! Application Layer 2-31

Chapter 2: summary our study of network apps now complete! application architectures client-serer P2P application serice requirements: reliability, throughput, delay, security Internet transport serice model connection-oriented, reliable: TCP unreliable, datagrams: UDP specific protocols: HTTP SMTP, POP, IMAP DNS P2P: BitTorrent Application Layer 2-32

Questions? Application Layer 2-33