1 Overlay Networks. 2 Routing overlays –Experimental versions of IP (e.g., 6Bone) –Multicast (e.g., MBone and end-system multicast) –Robust routing (e.g.,

Slides:



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

Professor Yashar Ganjali Department of Computer Science University of Toronto
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
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.
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
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.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan Ihm and.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Jennifer Rexford Teaching Assistant: Ioannis Avramopoulos.
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.
Winter 2008 P2P1 Peer-to-Peer Networks: Unstructured and Structured What is a peer-to-peer network? Unstructured Peer-to-Peer Networks –Napster –Gnutella.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
CS 640: Introduction to Computer Networks Yu-Chi Lai Lecture 18 - Peer-to-Peer.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
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
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 Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
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.
1 P2P Computing. 2 What is P2P? Server-Client model.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Introduction of P2P systems
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)
Chapter 2: Application layer
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.
OVERVIEW Lecture 6 Overlay Networks. 2 Focus at the application level.
The Start Shawn Fanning (19-yr-old student nicknamed Napster) developed the original Napster application and service in January 1999 while a freshman.
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.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
OVERVIEW Lecture 8 Distributed Hash Tables. Hash Table r Name-value pairs (or key-value pairs) m E.g,. “Mehmet Hadi Gunes” and m E.g.,
Peer-to-Peer Networks Hongli Luo CEIT, IPFW. r Topics m Application architecture m P2P file sharing m P2P networks: Napster Gnutella KaAzA Bittorrent.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
PEER TO PEER (P2P) NETWORK By: Linda Rockson 11/28/06.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 24 - Peer-to-Peer.
Peer-to-Peer Systems.  Quickly grown in popularity:  Dozens or hundreds of file sharing applications  In 2004: 35 million adults used P2P networks.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Hui Zhang, Fall Computer Networking CDN and P2P.
Professor Ayse Karaman Announcements Programming assignment 2 Extended Deadline: Fri. Dec. 11 th at 5pm 10% bonus for those who.
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 systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
An example of peer-to-peer application
BitTorrent Vs Gnutella.
Peer-to-Peer and Social Networks
CPE 401/601 Computer Network Systems
CPE 401/601 Computer Network Systems
Lecture 6 Overlay Networks
Content Distribution Networks + P2P File Sharing
CPE 401/601 Computer Network Systems
Lecture 6 Overlay Networks
Content Distribution Networks + P2P File Sharing
CSE 486/586 Distributed Systems Peer-to-Peer Architecture --- 1
Presentation transcript:

1 Overlay Networks

2 Routing overlays –Experimental versions of IP (e.g., 6Bone) –Multicast (e.g., MBone and end-system multicast) –Robust routing (e.g., Resilient Overlay Networks) Types of peer-to-peer networks –Directory-based (e.g., original Napster design) –Unstructured (e.g., Gnutella, Kazaa, BitTorrent) –Structured (e.g., distributed hash tables) Challenges in peer-to-peer –Legal issues, free riding, fast response to queries, peers coming and going over time, reliability, security, …

3 Overlay Networks

4 Focus at the application level

5 Overlay Networks A logical network built on top of a physical network –Overlay links are tunnels through the underlying network Many logical networks may coexist at once –Over the same underlying network –And providing its own particular service Nodes are often end hosts –Acting as intermediate nodes that forward traffic –Providing a service, such as access to files Who controls the nodes providing service? –The party providing the service (e.g., Akamai) –Distributed collection of end users (e.g., peer-to-peer)

6 IP Tunneling IP tunnel is a virtual point-to-point link –Illusion of a direct link between two separated nodes Encapsulation of the packet inside an IP datagram –Node B sends a packet to node E –… containing another packet as the payload A B E F tunnel Logical view: Physical view: A B E F

7 6Bone: Deploying IPv6 over IP4 A B E F IPv6 tunnel Logical view: Physical view: A B E F IPv6 C D IPv4 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E A-to-B: IPv6 E-to-F: IPv6 B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4

8 Communicating With Mobile Users A mobile user changes locations frequently –So, the IP address of the machine changes often The user wants applications to continue running –So, the change in IP address needs to be hidden Solution: fixed gateway forwards packets –Gateway has a fixed IP address –… and keeps track of the mobile’s address changes gateway

9 MBone: IP Multicast Multicast –Delivering the same data to many receivers –Avoiding sending the same data many times IP multicast –Special addressing, forwarding, and routing schemes –Not widely deployed, so MBone tunneled between nodes unicastmulticast

10 End-System Multicast IP multicast still is not widely deployed –Technical and business challenges –Should multicast be a network-layer service? Multicast tree of end hosts –Allow end hosts to form their own multicast tree –Hosts receiving the data help forward to others

11 RON: Resilient Overlay Networks Premise: by building application overlay network, can increase performance and reliability of routing Two-hop (application-level) Berkeley-to-Princeton route application-layer router Princeton Yale Berkeley

12 RON Can Outperform IP Routing IP routing does not adapt to congestion –But RON can reroute when the direct path is congested IP routing is sometimes slow to converge –But RON can quickly direct traffic through intermediary IP routing depends on AS routing policies –But RON may pick paths that circumvent policies Then again, RON has its own overheads –Packets go in and out at intermediate nodes  Performance degradation, load on hosts, and financial cost –Probing overhead to monitor the virtual links  Limits RON to deployments with a small number of nodes

13 Peer-to-Peer Networks: Napster Napster history: the rise –January 1999: Napster version 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 alternatives that were harder to touch, though these have gradually been constrained –2003: growth of pay services like iTunes Napster history: the resurrection –2003: Napster reconstituted as a pay service –2006: still lots of file sharing going on Shawn Fanning, Northeastern freshman

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

15 Napster Technology: Properties Server’s directory continually updated –Always know what music is currently available –Point of vulnerability for legal action Peer-to-peer file transfer –No load on the server –Plausible deniability for legal action (but not enough) Proprietary protocol –Login, search, upload, download, and status operations –No security: cleartext passwords and other vulnerability Bandwidth issues –Suppliers ranked by apparent bandwidth & response time

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

17 Peer-to-Peer 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

18 Gnutella: Query Flooding Fully distributed –No central server Public domain protocol Many Gnutella clients implementing protocol Overlay network: graph Edge between peer X and Y if there’s a TCP connection All active peers and edges is overlay net Given peer will typically be connected with < 10 overlay neighbors

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

20 Gnutella: Peer Joining Joining peer X must find some other peer in Gnutella network: use list of candidate peers X sequentially attempts to make TCP with peers on list until connection setup with Y X sends Ping message to Y; Y forwards Ping message. All peers receiving Ping message respond with Pong message X receives many Pong messages. It can then setup additional TCP connections

21 Gnutella: Pros and Cons Advantages –Fully decentralized –Search cost distributed –Processing per node permits powerful search semantics Disadvantages –Search scope may be quite large –Search time may be quite long –High overhead and nodes come and go often

22 Peer-to-Peer Networks: KaAzA KaZaA history –2001: created by Dutch company (Kazaa BV) –Single network called FastTrack used by other clients as well –Eventually the protocol changed so other clients could no longer talk to it Smart query flooding –Join: on start, the client contacts a super-node (and may later become one) –Publish: client sends list of files to its super-node –Search: send query to super-node, and the super- nodes flood queries among themselves –Fetch: get file directly from peer(s); can fetch from multiple peers at once

23 KaZaA: Exploiting Heterogeneity Each peer is either a group leader or assigned to a group leader –TCP connection between peer and its group leader –TCP connections between some pairs of group leaders Group leader tracks the content in all its children

24 KaZaA: Motivation for Super-Nodes Query consolidation –Many connected nodes may have only a few files –Propagating query to a sub-node may take more time than for the super-node to answer itself Stability –Super-node selection favors nodes with high up-time –How long you’ve been on is a good predictor of how long you’ll be around in the future

25 Peer-to-Peer Networks: BitTorrent BitTorrent history and motivation –2002: B. Cohen debuted BitTorrent –Key motivation: popular content  Popularity exhibits temporal locality (Flash Crowds)  E.g., Slashdot effect, CNN Web site on 9/11, release of a new movie or game –Focused on efficient fetching, not searching  Distribute same file to many peers  Single publisher, many downloaders –Preventing free-loading

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

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

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

29 BitTorrent: Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Get-announce Web Server

30 BitTorrent: Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Response-peer list Web Server

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

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

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

34 BitTorrent: Overall Architecture Web page with link to.torrent A B C Peer [Leech] Downloader “US” Peer [Seed] Peer [Leech] Tracker Get-announce Response-peer list pieces Web Server

35 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 servers –A few individuals contributing to the public good –Making them hubs that basically act as a server BitTorrent prevent free riding –Allow the fastest peers to download from you –Occasionally let some free loaders download

36 Conclusions Overlay networks –Tunnels between host computers –Hosts implement new protocols and services –Effective way to build networks on top of the Internet Peer-to-peer networks –Nodes are end hosts –Primarily for file sharing, and recently telephony –Centralized directory (Napster), query flooding (Gnutella), super-nodes (KaZaA), and distributed downloading and anti-free-loading (BitTorrent) Great example of how change can happen so quickly in application-level protocols