CS 3516: Advanced Computer Networks

Similar documents
CS 3516: Computer Networks

Peer-to-Peer Applications Reading: 9.4

Chapter 2: Application layer

CMSC 332 Computer Networks P2P and Sockets

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

Application Layer: P2P File Distribution

Lecture 8: Application Layer P2P Applications and DHTs

CSC 4900 Computer Networks: P2P and Sockets

Introduction to Computer Networks

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

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

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

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

EE 122: Peer-to-Peer Networks

CC451 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

Peer to Peer Computing

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

CS 3516: Computer Networks

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

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

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks

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

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

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

Introduction to P P Networks

Reti P2P per file distribution: BitTorrent

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

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

internet technologies and standards

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

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

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

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

Content Search. Unstructured P2P. Jukka K. Nurminen

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Peer-to-Peer (P2P) Systems

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

Content Search. Unstructured P2P

Peer-to-Peer Networks

CS 3516: Advanced Computer Networks

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

Lecture 17: Peer-to-Peer System and BitTorrent

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

Peer to Peer Systems and Probabilistic Protocols

15-744: Computer Networking P2P/DHT

Computer Networking Introduction

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

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

Unit 8 Peer-to-Peer Networking

Information Network Systems The application layer. Stephan Sigg

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

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

Peer to Peer Networks

CS 3516: Computer Networks

CIS 700/005 Networking Meets Databases

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

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Implementation of the Gnutella Protocol

CSCI-1680 P2P Rodrigo Fonseca

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

Extreme Computing. BitTorrent and incentive-based overlay networks.

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

P2P content distribution Jukka K. Nurminen

Peer-to-Peer Internet Applications: A Review

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

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

CS 3516: Advanced Computer Networks

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

CS 3516: Advanced Computer Networks

Page 1. P2P Traffic" P2P Traffic" Today, around 18-20% (North America)! Big chunk now is video entertainment (e.g., Netflix, itunes)!

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

CE693: Adv. Computer Networking

Chapter 2 Application Layer

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Making Gnutella-like P2P Systems Scalable

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

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

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

P2P content distribution

Section 2: Application layer

CS 3516: Computer Networks

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

RSC Part I: Introduction

BitTorrent and CoolStreaming

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

Chapter 2 Application Layer

Game Theory. Presented by Hakim Weatherspoon

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS 3516: Advanced Computer Networks

Scalable overlay Networks

Introduction to Peer-to-Peer Networks

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

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

Scalability of the BitTorrent P2P Application

Ossification of the Internet

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Transcription:

Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 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 Reserved.

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

Client-server vs P2P architecture peer-to-peer client/server Application Layer 2-3

-to- Networks: v Unstructured -to- Networks Napster Gnutella BitTorrent 4

Chapter 2: outline 2.6 P2P applications 1. P2P vs Client&Server 2. Unstructured -to- Networks Napster Gnutella BitTorrent Application Layer 2-5

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

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

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

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 9

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

Napster Technology: Directory Service v User installing the software Download the client program Register name, password, local directory, etc. v Client contacts Napster (via TCP) Provides a list of music files it will share and Napster s central server updates the directory v Client searches on a title or performer Napster identifies online clients with the file and provides IP addresses v Client requests the file from the chosen supplier Supplier transmits the file to the client Both client and supplier report status to Napster 11

Napster v Assume a centralized index system that maps files (songs) to machines that are alive v How to find a file (song) Query the index system à return a machine that stores the required file Ideally this is the closest/least-loaded machine ftp the file v Advantages: Simplicity, easy to implement sophisticated search engines on top of the index system v Disadvantages: Robustness, scalability 12

Napster Technology: Properties v Server s directory continually updated Always know what music is currently available v -to-peer file transfer No load on the server v As a protocol Login, search, upload, download, and status operations No security: cleartext passwords and other vulnerability v Bandwidth issues Suppliers ranked by apparent bandwidth & response time 13

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

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

-to- Networks: Gnutella v 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 v 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 16

Gnutella v Distribute file location v Idea: flood the request v How to find a file: Send request to all neighbors Neighbors recursively multicast the request Eventually a machine that has the file receives the request, and it sends back the answer v Advantages: Totally decentralized, highly robust v Disadvantages: Not scalable; the entire network can be swamped with request (to alleviate this problem, each request has a TTL) 17

Gnutella v Ad-hoc topology v Queries are flooded for bounded number of hops v No guarantees on recall xyz xyz Query: xyz 18

Gnutella: Query Flooding v Fully distributed No central server v Public domain protocol v Many Gnutella clients implementing protocol Overlay network: graph v Edge between peer X and Y if there s a TCP connection v All active peers and edges is overlay net 19

Gnutella: Protocol Query message sent over existing TCP connections s forward Query message QueryHit sent over reverse path Scalability: limited scope flooding Query QueryHit Query QueryHit File transfer: HTTP 20

Gnutella: Pros and Cons v Advantages Fully decentralized, v Disadvantages Search scope may be quite large Search time may be quite long High overhead and nodes come and go often 21

Chapter 2: outline 2.6 P2P applications 1. P2P vs Client&Server 2. Unstructured -to- Networks BitTorrent Application Layer 2-22

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

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

BitTorrent: Overall Architecture Web page with link to.torrent Web Server Tracker.torrent A [Leech] Downloader US B [Leech] C [Seed] 25

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

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

BitTorrent: Overall Architecture Web page with link to.torrent Web Server Tracker A [Leech] Downloader US Shake-hand B [Leech] C [Seed] 28

BitTorrent: Overall Architecture Web page with link to.torrent Web Server Tracker A [Leech] Downloader US B [Leech] pieces C [Seed] 29

BitTorrent: Overall Architecture Web page with link to.torrent Web Server Tracker A [Leech] Downloader US B [Leech] pieces C [Seed] 30

BitTorrent: Overall Architecture Web page with link to.torrent Web Server Tracker A [Leech] Downloader US B [Leech] pieces C [Seed] 31

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

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

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

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

Quiz 5 on Friday P2P networks Napster Gnutella BitTorrent Mid-term next Friday (Tentative) Application Layer 2-36

Questions? Application Layer 2-37