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

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

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

EE 122: Peer-to-Peer Networks

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

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

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

CIS 700/005 Networking Meets Databases

CS 268: DHTs. Page 1. How Did it Start? Model. Main Challenge. Napster. Other Challenges

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

CSCI-1680 P2P Rodrigo Fonseca

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

Page 1. Key Value Storage"

0!1. Overlaying mechanism is called tunneling. Overlay Network Nodes. ATM links can be the physical layer for IP

Announcements. EECS 122: Introduction to Computer Networks Multicast and Overlay Networks. Motivational Example: Streaming Media

Architectures for Distributed Systems

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

CS4700/CS5700 Fundamentals of Computer Networks

15-744: Computer Networking P2P/DHT

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

Ossification of the Internet

Overlay Networks. Behnam Momeni Computer Engineering Department Sharif University of Technology

CSCI-1680 Web Performance, Content Distribution P2P Rodrigo Fonseca

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

Internet Indirection Infrastructure

Distributed Hash Tables Chord and Dynamo

CSCI-1680 Web Performance, Content Distribution P2P John Jannotti

CS 3516: Advanced Computer Networks

Lecture 6: Securing Distributed and Networked Systems. CS 598: Network Security Matthew Caesar March 12, 2013

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

L3S Research Center, University of Hannover

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

EE122: Multicast. Kevin Lai October 7, 2002

Badri Nath Rutgers University

EE122: Multicast. Internet Radio. Multicast Service Model 1. Motivation

Handling Churn in a DHT

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Introduction to P2P Computing

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

P2P: Distributed Hash Tables

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Telematics Chapter 9: Peer-to-Peer Networks

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

CS514: Intermediate Course in Computer Systems

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

Distributed Hash Tables: Chord

An Expresway over Chord in Peer-to-Peer Systems

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

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Distributed Hash Tables

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

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

Peer-to-Peer Systems and Distributed Hash Tables

Peer-to-Peer Internet Applications: A Review

Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications

Lecture 8: Application Layer P2P Applications and DHTs

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General

Introduction to Peer-to-Peer Systems

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

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Unit 8 Peer-to-Peer Networking

Peer-to-peer systems and overlay networks

CDNs and Peer-to-Peer

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Part 1: Introducing DHTs

Distributed lookup services

Peer-to-Peer (P2P) Systems

LECT-05, S-1 FP2P, Javed I.

A Survey of Peer-to-Peer Content Distribution Technologies

An Adaptive Stabilization Framework for DHT

CRESCENDO GEORGE S. NOMIKOS. Advisor: Dr. George Xylomenos

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Overlay Networks for Multimedia Contents Distribution

Distributed File Systems: An Overview of Peer-to-Peer Architectures. Distributed File Systems

Distributed Hash Tables

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

! Naive n-way unicast does not scale. ! IP multicast to the rescue. ! Extends IP architecture for efficient multi-point delivery. !

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Peer-to-Peer Systems. Chapter General Characteristics

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems

Scaling Out Systems. COS 518: Advanced Computer Systems Lecture 6. Kyle Jamieson

Peer to Peer I II 1 CS 138. Copyright 2015 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved.

Arvind Krishnamurthy Fall 2003

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

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

Peer-to-Peer Streaming Systems. Behzad Akbari

Distributed Hash Table

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

08 Distributed Hash Tables

CS 347 Parallel and Distributed Data Processing

CSE 486/586 Distributed Systems

Making Gnutella-like P2P Systems Scalable

: Scalable Lookup

Topics in P2P Networked Systems

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Transcription:

Goals CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University of California, Berkeley Berkeley, CA 9- Make it easy to deploy new functionalities in the network accelerate the pace of innovation Allow users to customize their service Overlay Networks: Motivations Changes in the network happen very slowly Why? - Internet network is a shared infrastructure; need to achieve consensus (ITF) - Many of proposals require to change a large number of routers (e.g., IP Multicast, QoS); otherwise end-users won t benefit Solution Deploy processing in the network Have packets processed as they traverse the network AS- IP Proposed changes that haven t happened yet on large scale: - More Addresses (IPv 9) - Security (IPSC 9); Multicast (IP multicast 9) AS- Overlay Network (over IP) Motivations (cont d) Overview One size does not fit all Resilient Overlay Network (RON) Applications need different levels of - Reliability - Performance (latency) - Security - Access control (e.g., who is allowed to join a multicast group) - Overlay Multicast Peer-to-peer systems

Resilient Overlay Network (RON) IP Multicast Problems Premise: by building application overlay network, can increase performance and reliability of routing Install N computers at different Internet locations ach computer acts as an overlay network router - Between each overlay router is an IP tunnel (logical link) - Logical overlay topology is all-to-all (N^) Computers actively measure each logical link in real time for - Packet loss rate, latency, throughput, etc Route overlay network traffic based on measured characteristics Seventeen years of research, but still not widely deployed Poor scalability - Routers need to maintain per-group or even per-group and persender state! - Multicast addresses cannot be aggregated Supporting higher level functionality is difficult - IP Multicast: best-effort multi-point delivery service - Reliability and congestion control for IP Multicast complicated No support for access control - Nor restriction on who can send easy to mount Denial of Service (Dos) attacks! xample Overlay Approach Berkeley UCLA Default IP path determined by BGP & OSPF MIT Provide IP multicast functionality above the IP layer application level multicast Challenge: do this efficiently Projects: - Narada - Overcast - Scattercast - Yoid - Reroute traffic using red alternative overlay network path, avoid congestion point Acts as overlay router Overview Narada [Yang-hua et al, ] Resilient Overlay Network (RON) Source Speific Trees Overlay multicast Involves only end hosts Peer-to-peer systems Small group sizes <= hundreds of nodes Typical application: chat 9

Narada: nd System Multicast How Did it Start? CMU Gatech Stanford Stan Stan A killer application: Naptser - Free music over the Internet Key idea: share the storage and bandwidth of individual (home) users Berk Gatech Overlay Tree Berkeley Stan Berk Internet Stan CMU Berk Berk Properties Model asier to deploy than IP Multicast - Don t have to modify every router on path asier to implement reliability than IP Multicast - Use hop-by-hop retransmissions ach user stores a subset of files ach user has access (can download) files from all users in the system But - Consume more bandwidth than IP Multicast - Typically has higher latency than IP Multicast - Harder to scale Optimization: use IP Multicast where available Overview Main Challenge Resilient Overlay Network (RON) Overlay multicast Find where a particular file is stored - Note: problem similar to finding a particular page in web caching (see last lecture what are the differences?) Peer-to-peer systems F D A B C

Other Challenges Naptser: Discussion Scale: up to hundred of thousands or millions of machines Dynamicity: machines can come and go any time Advantages: - Simplicity, easy to implement sophisticated search engines on top of the index system Disadvantages: - Robustness, scalability (?) 9 Napster Gnutella Assume a centralized index system that maps files (songs) to machines that are alive 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 Distribute file location Idea: flood the request How to find a file: - Send request to all neighbors - Neighbors recursively multicast the request - ventually a machine that has the file receives the request, and it sends back the answer Napster: xample Gnutella: xample m m Assume: m s neighbors are m and m; m s neighbors are m and m; m F m m A m B m C m D m m F m D m F m D m A m B m C m A m B m C

Gnutella: Discussion Advantages: - Totally decentralized, highly robust Disadvantages: - Not scalable; the entire network can be swamped with request (to alleviate this problem, each request has a TTL) Distributed Hash Tables (DHTs) Hash table interface: put(key,item), get(key) O(log n) hops Guarantees on recall (K,I ) Structured Networks I put(k,i ) get (K ) Other Solutions to the Location Problem Content Addressable Network (CAN) Use a distributed rather than a centralized directory (like in the case of Napster) Distributed hash-table data (DHT) abstraction - insert(id, item); - item = query(id); - Note: item can be anything: a data object, document, file, pointer to a file Associate to each node and item a unique id in an d- dimensional Cartesian space on a d-torus Properties - Routing table size O(d) - Guarantees that a file is found in at most d*n /d steps, where n is the total number of nodes Proposals - CAN, Chord, Kademlia, Pastry, Tapestry, etc 9 DHT Design Goals Make sure that an item (file) identified is always found Scales to hundreds of thousands of nodes Handles rapid arrival and failure of nodes divided between nodes All nodes cover the entire space ach node covers either a square or a rectangular area of ratios : or : xample: - Node n:(, ) first node that joins cover the entire space n

Node n:(, ) joins space is divided between n and n Nodes: n:(, ); n:(,); n:(, ); n:(,);n:(,) n n Items: f:(,); f:(,); f:(,); f:(,); n f f n n n n f f Node n:(, ) joins space is divided between n and n n ach item is stored by the node who owns its mapping in the space n n n f n n f n f n f CAN: Query xample Nodes n:(, ) and n:(,) join ach node knows its neighbors in the d-space n n n n n Forward query to the neighbor that is closest to the query id xample: assume n queries f Can route around some failures f n f n n n f n f

Chord Joining Operation Associate to each node and item a unique id in an uni-dimensional space.. m - Key design decision - Decouple correctness from efficiency Properties - Routing table size O(log(N)), where N is the total number of nodes - Guarantees that a file is found in O(log(N)) steps ach node A periodically sends a stabilize() message to its successor B Upon receiving a stabilize() message, node B - returns its predecessor B =pred(b) to A by sending a notify(b ) message Upon receiving notify(b ) from B, - if B is between A and B, A updates its successor to B - A doesn t do anything, otherwise Identifier to Node Mapping xample Joining Operation Node maps [,] Node maps [9,] Node maps [, ] Node maps [9, ] ach node maintains a pointer to its successor Node with id= joins the ring Node needs to know at least one node already in the system - Assume known node is succ=nil pred=nil succ= pred= succ= pred= Lookup Joining Operation ach node maintains its successor Route packet (ID, data) to the node responsible for ID using successor pointers node= lookup() Node : send join() to node Node : returns node Node updates its successor to succ=nil succ= pred=nil succ= pred= join() succ= pred= 9

Joining Operation Joining Operation (cont d) Node : send stabilize() to node Node : - update predecessor to - send notify() back succ= pred=nil notify(pred=) succ= pred= pred= stabilize() This completes the joining operation! succ= pred= pred= succ= pred= succ= Joining Operation (cont d) Achieving fficiency: finger tables Node sends a stabilize message to its successor, node Node reply with a notify message Node updates its successor to succ= stabilize() pred=nil succ= succ= pred= notify(pred=) succ= pred= Finger Table at i ft[i] 9 9 9 9 9 + ( + ) mod = + 9 + + + + Say m= i m ith entry at peer with id n is first peer with id >= n + (mod ) Node sends a stabilize message to its new successor, node Node sets its predecessor to node Joining Operation (cont d) succ= pred= Achieving Robustness To improve robustness each node maintains the k (> ) immediate successors instead of only one successor succ= pred= pred=nil succ= pred= Stabilize() In the notify() message, node A can send its k- successors to its predecessor B Upon receiving notify() message, B can update its successor list by concatenating the successor list received from A with A itself

Discussion Query can be implemented - Iteratively - Recursively Performance: routing in the overlay network can be more expensive than in the underlying network - Because usually there is no correlation between node ids and their locality; a query can repeatedly jump from urope to North America, though both the initiator and the node that store the item are in urope! - Solutions: Tapestry takes care of this implicitly; CAN and Chord maintain multiple copies for each entry in their routing tables and choose the closest in terms of network distance 9 Conclusions The key challenge of building wide area PP systems is a scalable and robust directory service Solutions covered in this lecture - Naptser: centralized location service - Gnutella: broadcast-based decentralized location service - CAN, Chord, Tapestry, Pastry: intelligent-routing decentralized solution Guarantee correctness Tapestry, Pastry provide efficient routing, but more complex 9