Indirection Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm Slides.

Slides:



Advertisements
Similar presentations
Multihoming and Multi-path Routing
Advertisements

Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:
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
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
Mobile IP: enable mobility for IP-based networks CS457 presentation Xiangchuan Chen Nov 6, 2001.
Re-Thinking Internet Architecture
Lecture 5 - Routing On the Flat Labels M.Sc Ilya Nikolaevskiy Helsinki Institute for Information Technology (HIIT)
Internet Indirection Infrastructure Presented in by Jayanthkumar Kannan On 09/17/03.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
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,
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.
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.
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.
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
CS 268: Project Suggestions Ion Stoica February 6, 2003.
Internet Indirection Infrastructure Ion Stoica UC Berkeley June 10, 2002.
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.
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.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
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.
COS 461: Computer Networks
Towards a More Functional and Secure Network Infrastructure Dan Adkins, Karthik Lakshminarayanan, Adrian Perrig (CMU), and Ion Stoica.
The Future of the Internet Jennifer Rexford ’91 Computer Science Department Princeton University
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
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?
1 Internet Protocol: Forwarding IP Datagrams Chapter 7.
Internet Indirection Infrastructure Ion Stoica April 16, 2003.
Software-Defined Networks Jennifer Rexford Princeton University.
End-to-end resource management in DiffServ Networks –DiffServ focuses on singal domain –Users want end-to-end services –No consensus at this time –Two.
Internet Indirection Infrastructure Ion Stoica et. al. SIGCOMM 2002 Presented in CIS700 by Yun Mao 02/24/04.
Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)
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.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Floodless in SEATTLE : A Scalable Ethernet ArchiTecTure for Large Enterprises. Changhoon Kim, Matthew Caesar and Jenifer Rexford. 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,
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.
CS470 Computer Networking Protocols Huiping Guo Department of Computer Science California State University, Los Angeles 4. Internetworking.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #09: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
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.
: MobileIP. : r Goal: Allow machines to roam around and maintain IP connectivity r Problem: IP addresses => location m This is important for efficient.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
I3 and Active Networks Supplemental slides Aditya Akella 03/23/2007.
Internet Indirection Infrastructure (i3)
CS4470 Computer Networking Protocols
Internet Indirection Infrastructure
Intradomain Routing Outline Introduction to Routing
Internet Indirection Infrastructure
EE 122: Lecture 7 Ion Stoica September 18, 2001.
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

Indirection Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm Slides borrowed liberally from Ion Stoica’s CS 268 class at UC Berkeley

Motivations Today’s Internet is built around a unicast 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 –Implicitly assumes there is one sender –… and one receiver, –… and that they are placed at fixed and well- known locations Network location tied to network layer identifier –E.g., a host identified by the IP address xxx.xxx is located in Berkeley

IP Solutions Extend IP to support new communication primitives, e.g., –Mobile IP –IP multicast –IP anycast Disadvantages: –Difficult to implement while maintaining Internet’s scalability (e.g., multicast) –Require community wide consensus -- hard to achieve in practice

Application-Level Solutions Implement the required functionality at the application level, e.g., –Application-level multicast –Application-level mobility Disadvantages: –Inefficiency: hard to achieve good performance –Redundancy: Each application implements the same functionality over and over again –No synergy: each application implements usually only one service, 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 “Any problem in computer science can be solved by adding a layer of indirection”

I3 Solution Use overlay network to implement this layer –Incrementally deployable; don’t need to change IP Build an efficient indirection layer on top of IP IP TCP/UDP Application Indir. layer

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

Service Model API –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 Sender Receiver (R1) Receiver (R2) idR1 idR2

iddata Multicast Receivers insert triggers with same identifier Dynamically switch between multicast and unicast Receiver (R1) idR1 Receiver (R2) idR2 Sender R1data R2data iddata

Anycast Use longest prefix matching instead of exact matching –Prefix p: anycast group identifier –Suffix s i : encode application semantics, e.g., location Sender Receiver (R1) p|s 1 R1 Receiver (R2) p|s 2 R2 p|s 3 R3 Receiver (R3) R1 data p|a data p|a data

Service Composition: Sender Initiated Use a stack of IDs to encode sequence of operations to be performed on data path Advantages –Don’t need to configure path –Load balancing and robustness easy to achieve Sender Receiver (R) id T T id R Transcoder (T) T,id data iddata R id T,id data id T,id data

Service Composition: Receiver Initiated Receiver can also specify the operations to be performed on data Receiver (R) id id F,R Firewall (F) Sender id F F id F,R data R F,R data id data id data

Quick 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

Example IDs[0..63] partitioned across five i3 nodes Each host knows one i3 node R inserts trigger (37, R); S sends packet (37, data) [42..3] [4..7] [8..20] [21..35] [36..41] Sender (S) Receiver (R) 37R data R

Sender (S) Optimization: Path Length Sender/receiver caches i3 node mapping a specific ID Subsequent packets are sent via one i3 node [42..3] [4..7] [8..20] [21..35] [36..41] 37R data R cache node Receiver (R)

Optimization: Triangular Routing Use well-known trigger for initial rendezvous Exchange a pair of (private) triggers well- located Use private triggers to send data traffic [42..3] [4..7] [8..20] [21..35] [36..41] 37R R [2] 2S 37 [2] 2 [30] 30R S [30] 30 data R Receiver (R) Sender (S)

Outline Overview  Security Discussion

Some Attacks S R idR Attacker (A) idA Eavesdropping Attacker id 2 id 3 id 1 id 2 id 4 id 3 id 1 id 4 Loop Victim (V) id 3 V Attacker id 2 id 1 id 3 Confluence Attacker id 2 id 1 id 3 id 2 Dead-End

Constrained Triggers h l (), h r (): well-known one-way hash functions Use h l (), h r () to constrain trigger (x, y) prefix key must match ID: suffix xy x.key = h l (y) xy x.key = h l (y.key) end-host address Left constrained xy y.key = h r (x) Right constrained

Attacks & Defenses Trigger constraint s Pushbac k Trigger challenge s Public i3 node constraint s Eavesdropping& Impersonation Loops & Confluences Dead-ends Reflection & Malicious trigger-removal Confluences on i3 public nodes Attack Defense

Design Principles Give hosts control on routing –A trigger is like an entry in a routing table! –Flexibility, customization –End-hosts can Source route Set-up acyclic communication graphs Route packets through desired service points Stop flows in infrastructure … Implement data forwarding in infrastructure –Efficiency, scalability

Design Principles (cont’d) Host Infrastructure Internet Data plane Control plane p2p & End-host overlays Data plane Control plane i3 Data planeControl plane

Conclusions Indirection – key technique to implement basic communication abstractions –Multicast, Anycast, Mobility, … Building efficient indirection layer on IP –Triggers, and DHTs to map to the location

Discussion Value of composition? –Middlebox functionality –E.g., transcoding, firewall, caching, etc. Efficiency cost? –Stretch by traversing intermediate node –Processing and storing of triggers Complexity? –When trying to reduce stretch –When trying to cache information –… Should indirection be part of future Internet?

Next Two Weeks Guest lectures –11/18: Mike Freedman –11/20: Sharon Goldberg –11/25: Mung Chiang No class on 11/27 due to Thanksgiving I’ll be in Thailand –Co-chairing Asia Internet Engineering Conference After Thanksgiving –Programmability and virtualization…