Internet Indirection Infrastructure (i3)

Slides:



Advertisements
Similar presentations
Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:
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.
Internetworking II: MPLS, Security, and Traffic Engineering
Internet Indirection Infrastructure Presented in by Jayanthkumar Kannan On 09/17/03.
1/32 Internet Architecture Lukas Banach Tutors: Holger Karl Christian Dannewitz Monday C. Today I³SI³HIPHI³.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Host Mobility Using an Internet Indirection Infrastructure by Shelley Zhuang, Kevin Lai, Ion Stoica, Randy Katz, Scott Shenker presented by Essi Vehmersalo.
I3 Status Ion Stoica UC Berkeley Jan 13, The Problem Indirection: a key technique in implementing many network services,
Internet Indirection Infrastructure Ion Stoica and many others… UC Berkeley.
10/31/2007cs6221 Internet Indirection Infrastructure ( i3 ) Paper By Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Sharma Sonesh Sharma.
Criticisms of I3 Zhichun Li. General Issues Functionality Security Performance Practicality If not significant better than existing schemes, why bother?
3-1 Distributed Hash Tables CS653, Fall Implementing insert/retrieve: distributed hash table (DHT) r Hash table m data structure that maps “keys”
CS 268: Lecture 5 (Project Suggestions) Ion Stoica February 6, 2002.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Scalable Application Layer Multicast Suman Banerjee Bobby Bhattacharjee Christopher Kommareddy ACM SIGCOMM Computer Communication Review, Proceedings of.
I3 Update Ion Stoica and many others… UC Berkeley January 10, 2005.
Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,
Internet Indirection Infrastructure (i3) Status – Summer ‘03 Ion Stoica UC Berkeley June 5, 2003.
CS 268: Project Suggestions Ion Stoica February 6, 2003.
Internet Indirection Infrastructure Ion Stoica UC Berkeley June 10, 2002.
Fixing the Embarrassing Slowness of OpenDHT on PlanetLab Sean Rhea, Byung-Gon Chun, John Kubiatowicz, and Scott Shenker UC Berkeley (and now MIT) December.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Internet Indirection Infrastructure Slides thanks to Ion Stoica.
1 Routing as a Service Karthik Lakshminarayanan (with Ion Stoica and Scott Shenker) Sahara/i3 retreat, January 2004.
CS 268: Overlay Networks: Distributed Hash Tables Kevin Lai May 1, 2001.
CS 268: Lecture 25 Internet Indirection Infrastructure Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
Indirection Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm Slides.
Towards a More Functional and Secure Network Infrastructure Dan Adkins, Karthik Lakshminarayanan, Adrian Perrig (CMU), and Ion Stoica.
Internet Indirection Infrastructure (i3) Ion Stoica Daniel Adkins Shelley Zhuang Scott Shenker Sonesh Surana (Published in SIGCOMM 2002) URL:
Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002.
Towards a New Naming Architectures
Internet Indirection Infrastructure Ion Stoica April 16, 2003.
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.
Software-Defined Networks Jennifer Rexford Princeton University.
SCAN: a Scalable, Adaptive, Secure and Network-aware Content Distribution Network Yan Chen CS Department Northwestern University.
Internet Indirection Infrastructure Ion Stoica et. al. SIGCOMM 2002 Presented in CIS700 by Yun Mao 02/24/04.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
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.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,
Information-Centric Networks06b-1 Week 6 / Paper 2 A layered naming architecture for the Internet –Hari Balakrishnan, Karthik Lakshminarayanan, Sylvia.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
CS 268: Project Suggestions Ion Stoica January 26, 2004.
Minimizing Churn in Distributed Systems P. Brighten Godfrey, Scott Shenker, and Ion Stoica UC Berkeley SIGCOMM’06.
Information-Centric Networks Section # 7.1: Evolved Addressing & Forwarding Instructor: George Xylomenos Department: Informatics.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Internet Indirection Infrastructure Ion Stoica UC Berkeley Nov 14, 2005.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Internet Indirection Infrastructure (i3) Ion Stoica Daniel Adkins Shelley Zhuang Scott Sheker Sonesh Surana Presented by Kiran Komaravolu.
I3 and Active Networks Supplemental slides Aditya Akella 03/23/2007.
Naming Dave Andersen. Lecture warning ● Think “lots of in-class paper discussion” today.
Naming for Mobile Systems
Magdalena Balazinska, Hari Balakrishnan, and David Karger
CS 268: Lecture 22 (Peer-to-Peer Networks)
Distributed Hash Tables
Chris Meullion Preston Burden Dwight Philpotts John C. Jones-Walker
Plethora: Infrastructure and System Design
EE 122: Peer-to-Peer (P2P) Networks
5.2 FLAT NAMING.
Internet Indirection Infrastructure
Overview i3 Layered naming DOA SFR.
CS 162: P2P Networks Computer Science Division
Internet Indirection Infrastructure
EE 122: Lecture 22 (Overlay Networks)
Consistent Hashing and Distributed Hash Table
Presentation transcript:

Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002

Motivations Today’s Internet is built around a unicast point-to-point communication abstraction: Send packet “p” from host “A” to host “B” Point-to-point communication Implicitly assumes there is one sender and one receiver, and that they are placed at fixed and well-known locations Example: a host identified by the IP address 128.111.xxx.xxx is located in UCSB

Motivations This abstraction allows Internet to be highly scalable and efficient, but… … not appropriate for applications that require other communications primitives: Multicast Anycast Mobility … Key Observation: Virtually all previous proposals use indirection Physical indirection point  mobile IP Logical indirection point IP multicast

Solution Use an overlay network to implement this layer Incrementally deployable; don’t need to change IP

Solution Multicast Anycast Mobility Service Composition An indirection layer based on overlay network (decouples sending and receiving) DHT IP Layer

Internet Indirection Infrastructure (i3) Each packet is associated an identifier id To receive a packet with identifier id, receiver R maintains a trigger(id, R) into the overlay network Sender Receiver (R) id R trigger

Service Model API Best-effort service model (like IP) sendPacket(p); insertTrigger(t); removeTrigger(t) // optional Best-effort service model (like IP) Triggers periodically refreshed by end-hosts ID length: 256 bits

Mobility Host just needs to update its trigger as it moves from one subnet to another Receiver (R1) Sender id R1 id R2 Receiver (R2)

Multicast Receivers insert triggers with same identifier Can dynamically switch between multicast and unicast trigger id R1 Sender Receiver (R1) trigger id R2 Receiver (R2)

Anycast Use longest prefix matching instead of exact matching Prefix p: anycast group identifier Suffix si: encode application semantics, e.g., location

Using i3 Service Composition Large Scale Multicast Server initiated Receiver initiated Large Scale Multicast

Service Composition: Sender Initiated Use a stack of IDs to encode sequence of operations to be performed on data path S_MPEG/JPEG send((ID_MPEG/JPEG,ID), data) send(ID, data) send(R, data) Receiver R (JPEG) Sender (MPEG) ID R ID_MPEG/JPEG S_MPEG/JPEG

Service Composition: Receiver Initiated Receiver can also specify the operations to be performed on data S_MPEG/JPEG send(R, data) send(ID, data) Receiver R (JPEG) Sender (MPEG) ID_MPEG/JPEG S_MPEG/JPEG send((ID_MPEG/JPEG,R), data) ID ID_MPEG/JPEG, R

Large Scale Multicast Can create a multicast tree for scalability R2 (g, data) g x g R1 g R2 R2 x R3 x R4 R1 R3 R4

Implementation Overview ID space is partitioned across infrastructure nodes Each node responsible for a region of ID space Each trigger (id, R) is stored at the node responsible for id Use Chord to route triggers and packets to nodes responsible for their IDs O(log N) hops

Properties Robustness, Efficiency, Scalability, Stability Robustness: refresh triggers , trigger replication, back-up triggers Efficiency: Routing optimizations Incremental deployment possible Legacy applications can be supported by proxy which inserts triggers on behalf of client

Example ID space [0..63] partitioned across five i3 nodes Each host knows one i3 node R inserts trigger (37, R); S sends packet (37, data)

Example ID space [0..63] partitioned across five i3 nodes Each host knows one i3 node R inserts trigger (37, R); S sends packet (37, data)

Optimization: Path Length Sender/receiver caches i3 node mapping a specific ID Subsequent packets are sent via one i3 node

Optimization: Location-aware Triggers Well-known (public) trigger for initial rendezvous Exchange a pair of (private) triggers well-located Use private triggers to send data traffic Private Triggers: - S can insert a trigger [1,S] that is stored at server 3 - R can chose a trigger [30,R] that is stored at server 35

Security i3 end-points also store routing information New opportunities for malicious users Goal: make i3 not worse than today’s Internet

Some Attacks

Solutions Eavesdropping: Use private triggers, periodically change them, multiple private triggers DoS Attacks: Challenges, Fair Queueing for resource allocation, loop detection Dead-End: Use push-back

Experimental Results Simulation over two topologies Power-law random graph topology Transit-stub topology Latency Stretch = (i3 latency)/(IP latency) First Packet Latency, End-to-end Latency

First Packet Latency Heuristics Closest Finger Replica: Store r successors of each finger Closest Finger Set: Use base b < 2 to find fingers, but consider only log2N closest fingers when routing 90th percentile latency stretch vs. no of i3 servers for Transit-stub topology

End-to-end Latency 90th percentile latency stretch vs. no of samples (16384 i3 servers) i3 latency = (sender to i3 server)+(i3 server to receiver)

Conclusions Indirection – key technique to implement basic communication abstractions Multicast, Anycast, Mobility, … This research Advocates for building an efficient Indirection Layer on top of IP Explores the implications of changing the communication abstraction

Status http://i3.cs.berkeley.edu/ i3 is available as a service on Planetlab Support for legacy applications in Linux and Windows XP Applications Mobility Transparent access to machines behind NATs Secure and transparent access to services behind firewalls