Internet Indirection Infrastructure Ion Stoica UC Berkeley June 10, 2002.

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.
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
Re-Thinking Internet Architecture
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
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³.
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,
Supporting Legacy Applications in Associative Overlay Networks Shelley Zhuang, Ion Stoica {shelleyz, Sahara Retreat January 16-18,
An Engineering Approach to Computer Networking
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 Jack Lange. General Issues ► Design ► Performance ► Practicality.
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.
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.
Overlay, End System Multicast and i3
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
CS 268: Project Suggestions Ion Stoica February 6, 2003.
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
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.
Institute of Technology Sligo - Dept of Computing Chapter 11 Layer 3 Protocols Paul Flynn.
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.
Computer Networks Switching Professor Hui Zhang
Towards a New Naming Architectures
CS 268: End-Host Mobility and Ad-Hoc Routing Ion Stoica Feb 11, 2003 (*based on Kevin Lai’s slides)
1 Chapter06 Mobile IP. 2 Outline What is the problem at the routing layer when Internet hosts move?! Can the problem be solved? What is the standard solution?
Internet Indirection Infrastructure Ion Stoica April 16, 2003.
Internet Indirection Infrastructure Ion Stoica et. al. SIGCOMM 2002 Presented in CIS700 by Yun Mao 02/24/04.
15-849: Hot Topics in Networking Mobility Srinivasan Seshan.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
CS 268: Overlay Networks: Introduction and Multicast Ion Stoica April 15-17, 2003.
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 Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,
Multimedia & Mobile Communications Lab.
DHT-based unicast for mobile ad hoc networks Thomas Zahn, Jochen Schiller Institute of Computer Science Freie Universitat Berlin 報告 : 羅世豪.
CS 268: Project Suggestions Ion Stoica January 26, 2004.
Information-Centric Networks Section # 7.1: Evolved Addressing & Forwarding Instructor: George Xylomenos Department: Informatics.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Internet Indirection Infrastructure Ion Stoica UC Berkeley Nov 14, 2005.
Internet Indirection Infrastructure (i3) Ion Stoica Daniel Adkins Shelley Zhuang Scott Sheker Sonesh Surana Presented by Kiran Komaravolu.
+ Lecture#4 IPV6 Addressing Asma AlOsaimi. + Topics IPv4 Issues IPv6 Address Representation IPv6 Types.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
I3 and Active Networks Supplemental slides Aditya Akella 03/23/2007.
Internet Indirection Infrastructure (i3)
EE 122: Lecture 19 (Asynchronous Transfer Mode - ATM)
CS 457 – Lecture 10 Internetworking and IP
EE 122: Peer-to-Peer (P2P) Networks
Internet Indirection Infrastructure
Internet Indirection Infrastructure
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Ch 17 - Binding Protocol Addresses
EE 122: Lecture 22 (Overlay Networks)
EE 122: Lecture 13 (IP Multicast Routing)
Presentation transcript:

Internet Indirection Infrastructure Ion Stoica UC Berkeley June 10, 2002

Collaborators Students: –Daniel Adkins –Karthik Lakshminarayanan –Ananth Rajagopala-Rao –Sonesh Surana –Shelley Zhuang Postdocs: –Kevin Lai Faculty: –Randy Katz –Scott Shenker

Motivations Today’s Internet is built around a point-to- point communication abstraction: –Send packet “p” from host “A” to host “B” This abstraction allows Internet to be highly scalable and efficient, but… … not appropriate for applications that require other communications primitives: –Multicast –Anycast –Mobility –…

Why? Point-to-point communication abstraction implicitly assumes that there is one sender and one receiver, and that they are placed at fixed and well-known locations –E.g., a host identified by the IP address xxx.xxx is located in Berkeley

Existing Solutions Change IP to support new services, e.g., –Mobile IP –IP multicast Disadvantages: –Difficult to implement while maintaining Internet’s scalability (e.g., multicast) –Even if they are implemented, ISPs might not have incentive to enable them

Existing Solutions (cont’d) Implement the required functionality at the application level, e.g., –Application level multicast (Narada, Overcast, Scattercast, Fastforward…) –Application level mobility Disadvantages: –Efficiency hard to achieve –Each application implements the same functionality over and over again –No synergy; each application implements usually only one service e.g., services hard to combine

Key Observation All previous solutions use a simple but powerful technique: indirection –Assume a logical or physical indirection point interposed between sender(s) and receiver(s) Examples: –IP multicast assumes a logical indirection point: the IP multicast address –Mobile IP assumes a physical indirection point: the home agent

Our Solution Add an efficient indirection layer (IL) on top of IP –Transparent for legacy applications Use an overlay network to implement IL –Incrementally deployable; don’t need to change IP IP TCP/UDP Application IL

Internet Indirection Infrastructure (i3) Change communication abstraction: instead of point-to-point, exchange data by name –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 SenderReceiver (R) IDR trigger send(ID, data) send(R, data)

Service Model API –sendPacket( p ); –insertTrigger( t ); –removeTrigger( t ); // optional Best-effort service model (like IP) Triggers are periodically refreshed by end- hosts Reliability, congestion control, and flow- control implemented at end-hosts

Discussion A trigger is similar to an entry in a routing table Unlike IP, IL gives the endhosts the ability to control triggers, i.e., endhosts are responsible for setting and maintaining “routing tables”

The Promise Provide support for –Mobility –Multicast –Anycast –Composable services

Mobility Host just needs to update its trigger as it moves from one subnet to another –Robust –Support simultaneous mobility –Can alleviate the “triangle routing problem” –Location privacy Sender Receiver (R1) IDR1 send(ID,data) send(R1, data)

Mobility Host just needs to update its trigger as moves from one subnet to another –Robust –Support simultaneous mobility –Can alleviate the “triangle routing problem” –Location privacy Sender Receiver (R2) IDR2 send(ID,data) send(R2, data)

Multicast Unifies multicast and unicast abstraction –Multicast: receivers insert triggers with the same identifier An application can dynamically switch between multicast and unicast Sender Receiver (R1)IDR1 send(ID,data) send(R1, data) Receiver (R2) IDR2 send(R2, data)

Anycast Generalize the matching scheme used to forward a packet –Until now we assumed exact matching Next, we assume: –Longest prefix matching (LPM) using a prefix larger than a predefined constant l to avoid collisions In the current implementation: ID length, m = 256, l = 128

Anycast (cont’d) Anycast is simply a byproduct of the new matching scheme, e.g., –Each receiver i in the anycast group inserts IDs with the same prefix p and a different suffix s i Sender Receiver (R1) p|s 1 R1 send(p|a,data) Receiver (R2) p|s 2 R2 p|s 3 R3 Receiver (R3) send(R1,data)

Anycast (cont’d) Highly flexible: the least significant l-m bits of ID are application specific Two examples: –Load balancing: clients and servers choose random suffixes –Proximity: encode host locations in their identifiers LPM can also implement “exact”, “range”, >, =, and <= matching rules

Range Matching Example Match any identifier in the range [36, 71] –Use a set of triggers to emulate an arbitrary range …01001xx …0101xxx …011xxxx …1000xxx [36,71] R R R R [32,35] [36,39] [40,47] [48,71]

Composable Services Use a stack of IDs to encode the successions of operations to be performed on data (e.g., transcoding) Advantages –Don’t need to configure path –Load balancing and robustness easy to achieve Sender (MPEG) Receiver R (JPEG) ID_ MPEG/JPEG S_ MPEG/JPEG ID R send((ID_ MPEG/JPEG,ID), data) S_ MPEG/JPEG send(ID, data) send(R, data)

Composable Services (cont’d) Both receivers and senders can specify the operations to be performed on data Receiver R (JPEG) ID_ MPEG/JPEG S_ MPEG/JPEG ID (ID_ MPEG/JPEG, R) send(ID, data) S_ MPEG/JPEG Sender (MPEG) send((ID _MPEG/JPEG, R), data) send(R, data)

Example: Heterogeneous Multicast Sender not aware of the transformations Receiver R1 (JPEG) ID_ MPEG/JPEG S_ MPEG/JPEG ID (ID_ MPEG/JPEG, R1) send(ID, data) S_ MPEG/JPEG Sender (MPEG) send((ID _MPEG/JPEG, R1), data) send(R1, data) ID R2 Receiver R2 (MPEG) send(R2, data)

Discussion: i3 vs. IP Multicast i3 doesn’t provide direct support for scalable multicast –Simple to implement Give end-hosts the ability to control “routing” –End-hosts can build their own multicast tree if needed! R2R2 R1R1 R4R4 R3R3 g R 2 g R 1 gxgx x R 4 x R 3 (g, data)

Implementation i3 is implemented on top of Chord –But can easily use CAN, Pastry, or Tapestry Each trigger ( id, …) is stored on the server responsible for id Use Chord routing to find best matching trigger for a packet ( id, data )

Implementation: Chord Define a circular ID space 0..2 m-1 Each server has a unique identifier in the ID space An arbitrary ID id is mapped on the server whose ID follows id A trigger ( id, …) is stored on the server mapping id Need O(log N) hops to locate the servers for an arbitrary ID –N, number of servers in the system R m = 6 i3 server

Implementation At minimum, an end-host needs to know only one i3 server, e.g., –S knows server 3, R knows server R R S R trigger(37,R) send(37, data) send(R, data)

Optimizations Sender/receiver caches server that maps a specific ID –Subsequent packets are sent via one i3 server R S R send(R, data) send(37, data) cache server “41”

Optimizations (cont’d) Alleviate triangular routing problem –Pick identifiers that maps on servers nearby by sampling identifier space (can be done off-line) Use public triggers for initial randezvous Use private triggers for efficient routing

Optimizations (cont’d) H1 wants to contact H2 –H1 knows H2’s public trigger (e.g., Hash(cnn.com)) id public H2 H1 id1 private id2 private H2 H1 H2 send(id public, id1 private ) send(H2, id1 private ) send(id1 private, id2 private ) send(id2 private, data) send(H2, data)

Status Prototype deployed on –Millennium: ran over > 200 i3 servers –Small Internet testbed (13 end-hosts in US, Europe and Asia) i3 header with one identifier  48 bytes Preliminary results (on Millennium): –PIII, 700 MHz, running Linux –Trigger insertion: 80,000 triggers/sec –Throughput of data forwarding overhead 35,500 pps (0 byte payload) 23,300 pps (1,400 byte payload); 261 Mbps

Applications: Support for Mobility Robustness –Indirection point maintained by infrastructure –Use multicast for hand-over between cells Efficiency –Latency stretch ~ 1.4 Support simultaneous end-host mobility Support for legacy applications

Application: Reliable and Scalable Multicast End-hosts responsible for tree construction and recovery Robustness –Multicast tree maintained by infrastructure Efficiency –Use anycast and limited-scope multicast to implement recovery and construct the tree

Conclusions Indirection – key technique to implement basic communication abstractions and services such as –Multicast, Anycast, Mobility, … This research advocates for: –Leaving IP do what is doing best: point-to-point unicast communication – Building an efficient Indirection Layer on top of IP General research theme: explore new communication abstractions for overlay network based infrastructures –This work proposes a rendezvous-based communication abstraction –Other abstractions?

Future Work Security –Denial of service attacks –Trigger hijacking “Completeness” of communication abstraction –Matching rules for anycast –Composable services

Backup Slides

Load Balancing Each server chooses the last l-m bits of its ID randomly Each client sets the last l-m bits of packets’ IDs randomly 1010:0010 S1 1010:0101 S2 1010:1010 S3 1010:1101 S4 S1 S2 S3 S4 A B send(1010:0110,data) send(1010:1110,data)

Proximity The last l-m bits of the servers’ and packets’ have location semantics 1000:0010 S1 1000:1010 S2 1000:1101 S3 S1 S2 S3 send(1000:0110,data)