Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Internetworking II: MPLS, Security, and Traffic Engineering
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
Flat Identifiers Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Distributed Hash Tables CPE 401 / 601 Computer Network Systems Modified from Ashwin Bharambe and Robert Morris.
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel Proc. of the 18th IFIP/ACM.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
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.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
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.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
CS 268: Overlay Networks: Distributed Hash Tables Kevin Lai May 1, 2001.
Overlay Networks and Tunneling Reading: 4.5, 9.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Mike Freedman Teaching Assistants: Wyatt.
File Sharing : Hash/Lookup Yossi Shasho (HW in last slide) Based on Chord: A Scalable Peer-to-peer Lookup Service for Internet ApplicationsChord: A Scalable.
12 – NAT, ICMP, IPv6 Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
 A P2P IRC Network Built on Top of the Kademlia Distributed Hash Table.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
OVERVIEW Lecture 6 Overlay Networks. 2 Focus at the application level.
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.,
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Distributed Hash Tables CPE 401 / 601 Computer Network Systems Modified from Ashwin Bharambe and Robert Morris.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Lecture 12 Distributed Hash Tables CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 20 Omar Meqdadi Department of Computer Science and Software Engineering University.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Distributed Hash Tables Steve Ko Computer Sciences and Engineering University at Buffalo.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
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.,
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
CSE 486/586 Distributed Systems Distributed Hash Tables
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
4: Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
CSE 486/586 Distributed Systems Distributed Hash Tables
(slides by Nick Feamster)
Improving and Generalizing Chord
S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord
Distributed Hash Tables
EE 122: Peer-to-Peer (P2P) Networks
CPE 401/601 Computer Network Systems
DHT Routing Geometries and Chord
5.2 FLAT NAMING.
CS 162: P2P Networks Computer Science Division
Lecture 6 Overlay Networks
Lecture 6 Overlay Networks
CSE 486/586 Distributed Systems Distributed Hash Tables
DHCP: Dynamic Host Configuration Protocol
Presentation transcript:

Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)

Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)

Motivations for overlay networks – Customized routing and forwarding solutions – Incremental deployment of new protocols

Focus at the application level

7 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

8 A C B Src: A Dest: B Src: A Dest: B Src: A Dest: C Src: A Dest: B Src: C Dest: B

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

IP routing depends on AS routing policies – But hosts may pick paths that circumvent policies AT&T PU Patriot ISP me My buddy’s computer

11 Start experiencing bad performance – Then,start forwarding through intermediate host A C B

12 VoIP traffic: low-latency path File sharing: high-bandwidth path A C B voice file sharing

Internet needs to evolve – IPv6 – Security – Mobility – Multicast But, global change is hard – Coordination with many ASes – “Flag day” to deploy and enable the technology Instead, better to incrementally deploy – And find ways to bridge deployment gaps

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

15 Multicast – Delivering the same data to many receivers – Avoiding sending the same data many times unicastmulticast

Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)

Name-value pairs (or key-value pairs) – E.g,. “Amin” and – E.g., “ and the Web page – E.g., “BritneyHitMe.mp3” and “ ” Hash table – Data structure that associates keys with values

Hash table spread over many nodes – Distributed over a wide area Main design goals – Decentralization: no central coordinator – Scalability: efficient even with large # of nodes – Fault tolerance: tolerate nodes joining/leaving Two key design decisions – How do we map names on to nodes? – How do we route a request to that node?

Hashing – Transform the key into a number – And use the number to index an array Example hash function – Hash(x) = x mod 101, mapping to 0, 1, …, 100 Challenges – What if there are more than 101 nodes? Fewer? – Which nodes correspond to each hash value? – What if nodes come and go over time?

Large, sparse identifier space (e.g., 128 bits) – Hash a set of keys x uniformly to large id space – Hash nodes to the id space as well 01 Hash(name)  object_id Hash(IP_address)  node_id Id space represented as a ring

Mapping keys in a load-balanced way – Store the key at one or more nodes – Nodes with identifiers “close” to the key – Where distance is measured in the id space Advantages – Even distribution – Few changes as nodes come and go… Hash(name)  object_id Hash(IP_address)  node_id

Small changes when nodes come and go – Only affects mapping of keys mapped to the node that comes or goes Hash(name)  object_id Hash(IP_address)  node_id

Maintain a circularly linked list around the ring – Every node has a predecessor and successor node pred succ

When an existing node leaves – Node copies its pairs to its predecessor – Predecessor points to node’s successor in the ring When a node joins – Node does a lookup on its own id – And learns the node responsible for that id – This node becomes the new node’s successor – And the node can learn that node’s predecessor (which will become the new node’s predecessor)

Need to find the closest node – To determine who should store (key, value) pair – To direct a future lookup(key) query to the node Strawman solution: walk through linked list – Circular linked list of nodes in the ring – O(n) lookup time when n nodes in the ring Alternative solution: – Jump further around ring – “Finger” table of additional overlay links

1/2 1/4 1/8