Application Layer Overlays IS250 Spring 2010 John Chuang.

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
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
P2P Systems and Distributed Hash Tables Section COS 461: Computer Networks Spring 2011 Mike Freedman
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
Overlay Networks EECS 122: Lecture 18 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Peer-to-Peer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
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.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Data Structures Hash Table (aka Dictionary) i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, Andreas Veneris, Glenn Brookshear,
CS 268: Overlay Networks: Distributed Hash Tables Kevin Lai May 1, 2001.
1 EE 122: Overlay Networks and p2p Networks Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
CSE 461 University of Washington1 Topic Peer-to-peer content delivery – Runs without dedicated infrastructure – BitTorrent as an example 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.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Introduction Widespread unstructured P2P network
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Distributed Systems Concepts and Design Chapter 10: Peer-to-Peer Systems Bruce Hammer, Steve Wallis, Raymond Ho.
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.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Introduction of P2P systems
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
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.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Hongil Kim E. Chan-Tin, P. Wang, J. Tyra, T. Malchow, D. Foo Kune, N. Hopper, Y. Kim, "Attacking the Kad Network - Real World Evaluation and High.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
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.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
15-744: Computer Networking L-22: P2P. Lecture 22: Peer-to-Peer Networks Typically each member stores/provides access to content Has quickly.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Peer to Peer Network Design Discovery and Routing algorithms
15-744: Computer Networking L-22: P2P. L -22; © Srinivasan Seshan, P2P Peer-to-peer networks Assigned reading [Cla00] Freenet: A Distributed.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
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
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Bruce Hammer, Steve Wallis, Raymond Ho
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.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
CS 268: Lecture 22 (Peer-to-Peer Networks)
Peer-to-Peer Data Management
Computer Science Division
EE 122: Peer-to-Peer (P2P) Networks
CS 268: Peer-to-Peer Networks and Distributed Hash Tables
CS 162: P2P Networks Computer Science Division
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

Application Layer Overlays IS250 Spring 2010 John Chuang

2  The Internet infrastructure, based on TCP/IP, provides: -Global reachability -Reliable end-to-end transport  Highly successful in supporting one-to-one (unicast) communication  But there are some limitations: -Difficult to deploy new network services (e.g., IP multicast, IP anycast, QoS, IPv6) -Lack of support for one-to-many (multicast) or even many-to- many (“peer-to-peer”) communication -End hosts have no control over what goes on in the network (e.g., no source routing or user-directed routing) Application Layer Overlay

John Chuang3 Application Layer Overlay  One strategy: build an overlay network at the application layer  End hosts gain control over topology formation, routing, to meet specific application needs  New applications and services can be deployed without changes to the TCP/IP infrastructure

John Chuang4 Overlay Networks  Logical topology  Self-organized  Dynamic  Application specific Application layer overlay Network layer

John Chuang5 Early Examples  Domain Name Service (DNS)  6bone: IPv6 over IPv4  Mbone: multicast over unicast IP  X-Bone

John Chuang6 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

John Chuang7 Web Caching  Improves download latency, content availability by storing local copy of popular web objects  Web caches are L7 boxes web server client proxy cache network caches reverse proxy cache

John Chuang8 Content Delivery Networks  Clients are intelligently redirected to nearest CDN server to download publisher content  IP anycast (if it exists) could accomplish this easily…  In the absence of IP anycast, companies like Akamai constructs CDNs as application layer overlay networks web server client CDN servers

John Chuang9 publisher DNS publisher client Nearest replica Method 1: DNS Redirect Local DNS Step 1: client queries DNS for IP address of based on client’s IP address, reconfigured publisher DNS returns IP address of replica closest to client

John Chuang10 publisher DNS publisher client Nearest replica Method 1: DNS Redirect Local DNS Step 2: client contacts replica for object

John Chuang11 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 1: client queries DNS for IP address of

John Chuang12 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 2: client contacts publisher; publisher returns HTML with embedded objects’ URLs pointing to best CDN server

John Chuang13 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 3: client queries DNS for IP address of CDN server

John Chuang14 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 4: client contacts CDN server; CDN server returns embedded objs

John Chuang15 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

John Chuang16 IP Multicast  Network routers must implement IP Multicast to construct delivery tree and forward packets to multicast group receivers server client routers

John Chuang17 Application Layer Multicast  End hosts self-organize to construct multicast delivery tree; messages sent using IP unicast  Sacrifice some efficiency (latency stretch) for deployability  Various systems: ESM, Overcast, Promise, Scattercast, SplitStream, Yoid, … server client routers

John Chuang18 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

John Chuang19 IP Source Route  IP source route allows end hosts to exercise some degree of route control  However, many ISPs turned off IP source routing option for security reasons server client routers default route IP source route

John Chuang20 User Directed Routing  Some applications would benefit from having some degree of control over route selection -Resiliency: e.g., resilient overlay network (RON), Detour -Anonymity: onion routing, MIX-nets, … server client routers

John Chuang21 Onion Routing  Application layer overlay for anonymous routing -Existence of communication between Alice and Bob not revealed to any 3rd party  Alice constructs onion where message is successively encrypted with keys of intermediate routing nodes  Each intermediate node ‘peels’ one layer of onion and forward to next node  Example system: Tor

John Chuang22 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

John Chuang23 P2P  Self-organized overlay network to support distributed storage, search and retrieval of content -The killer-app: free music and movies  Individual peers contribute resources -Content -Network management (e.g., forwarding query messages)  Desirable properties: -Scalability -Performance (latency, recall) -Robustness -Anonymity, censorship-resistance  Design challenges: -Dynamic membership -Various forms of attacks -Free-riding behavior

John Chuang24 P2P File-Sharing Networks  1 st generation: centralized index -e.g., Napster  2 nd generation: decentralized indices -e.g., Gnutella v0.4, Freenet  3 rd generation: hierarchical -e.g., FastTrack (KaZaA, Grokster, Morpheus), eDonkey2000, Gnutella v0.6  4 th generation: -Structured topologies using DHTs, e.g., eMule, Overnet, BitTorrent -Parallel downloads, e.g., BitTorrent, Avalanche -Darknets, e.g., WASTE for small-scale “F2F” networks

John Chuang25 Napster  Maintains a centralized index that maps files to machines  How to find a file -Query the index system  return a list of peers that store the requested file -Transfer the file directly from peer(s)  Advantage: -Simplicity: easy to implement sophisticated search engines on top of the index system  Disadvantage: -Single point of failure A B C D E F m1 m2 m3 m4 m5 m6 m1 A m2 B m3 C m4 D m5 E m6 F E? m5 E? E Slide adapted from Ion Stoica, Nicolas Christin

John Chuang26 Gnutella (v0.4)  Flood the request  How to find a file: -Send request to all neighbors -Neighbors recursively propagate the request -Eventually a machine that has the file receives the request, and it sends back the answer  Advantages: -Totally decentralized, highly robust  Disadvantages: -The entire network can be swamped with a request -Can be alleviated using TTLs, but can then fail to locate files (and still high resource usage) A B C D E F m1 m2 m3 m4 m5 m6 E? E Assume: m1’s neighbors are m2 and m3; m3’s neighbors are m4 and m5;… Slide adapted from Ion Stoica, Nicolas Christin

John Chuang27 Hierarchical Networks  Use two-level hierarchy -Some nodes are elected as “super nodes” or “ultra-peers” -Each ultra-peer serves as centralized index for a portion of the network -If an ultra-peer does not know where to find an item, query is forwarded to other ultra-peers  Advantage: -Reduce the amount of network traffic compared to “naïve” flooding  Disadvantage: -Ultra-peers vulnerable to attacks -Potential convergence problems when ultra-peers leave abruptly  Used in FastTrack (KaZaA, Grokster, Morpheus), eDonkey2000, Gnutella v0.6 A B C D E F m1 m2 m3 m4 F? F Assume red nodes are ultra-peers Slide adapted from Ion Stoica, Nicolas Christin

John Chuang28 Structured Topologies  Gnutella and KaZaA topologies are unstructured -Neighbor selection largely random -No guarantee that a file can be located, even if it exists in the network  Distributed hash tables (DHTs) offer to solve this problem by constructing highly structured topologies

John Chuang29 Distributed Hash Table (DHT)  Applications: distributed search (e.g., p2p, CDNs, cooperative caching), application layer overlays for multicast, anycast, etc.  Similar to traditional hash table data structure, except data is stored in distributed peer nodes -Each node is analogous to a bucket in a hash table -Put(), Get() interface like a regular hash table: -put(id, item); -item = get(id);  Designed to scale to large numbers of nodes and to handle continual node arrivals, departures, or failures.  Various DHT designs: -CAN, Chord, Kademlia, Pastry, Tapestry, Viceroy, etc.

John Chuang30 DHT Example: Chord  Associate each node and item to a unique identifier in a one-dimensional space (0..2 m )  Each node x maintains a finger table -Fingers are neighbors -i-th entry in finger table is the first node that succeeds or equals x + 2 i  An item identified by id is stored on the successor node of id  Properties -Routing table size O(log(N)), where N is the total number of nodes -Guarantees that a file (if it exists) is found in O(log(N)) steps Slide adapted from Ion Stoica, Nicolas Christin

John Chuang31 Chord Example  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins i id+2 i succ Finger Table Slide adapted from Ion Stoica, Nicolas Christin

John Chuang32 Chord Example i id+2 i succ Finger Table i id+2 i succ Finger Table  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins  Node n2:(2) joins Slide adapted from Ion Stoica, Nicolas Christin

John Chuang33 Chord Example i id+2 i succ Finger Table i id+2 i succ Finger Table i id+2 i succ Finger Table i id+2 i succ Finger Table  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins  Node n2:(2) joins  Nodes n3:(0), n4:(6) join Slide adapted from Ion Stoica, Nicolas Christin

John Chuang34 Insertion  Items inserted: f1:(7), f2:(1) i id+2 i succ Finger Table i id+2 i succ Finger Table i id+2 i succ Finger Table 7 Items 1 i id+2 i succ Finger Table Slide adapted from Ion Stoica, Nicolas Christin

John Chuang35 Query  Upon receiving a query for item id, a node -Checks if item is cached locally -If not, forwards the query to the largest node in its successor table that does not exceed id i id+2 i succ Finger Table i id+2 i succ Finger Table i id+2 i succ Finger Table 7 Items 1 i id+2 i succ Finger Table query(7) Slide adapted from Ion Stoica, Nicolas Christin

John Chuang36 Summary  Difficult to deploy new network services at network layer  Response: build overlay network at the application layer -End hosts gain control over topology formation, routing, to meet specific application needs -New applications and services can be deployed without changes to the TCP/IP infrastructure  Many flavors of application layer overlay networks: -Web Caching and Content Distribution Networks (CDNs) -Application Layer Multicast (ALM) -Anonymous Routing (Tor) -Resilient overlay network (RON) -P2P file-sharing networks -Distributed Hash Tables (DHTs) -…