Indirection - PowerPoint PPT Presentation

About This Presentation
Title:

Indirection

Description:

... interposed between sender(s) and receiver(s) Examples: ... Receivers insert triggers with same identifier. Dynamically switch between multicast and unicast ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 28
Provided by: albertgr
Category:
Tags: indirection | keys

less

Transcript and Presenter's Notes

Title: Indirection


1
Indirection
  • Jennifer Rexford
  • Advanced Computer Networks
  • http//www.cs.princeton.edu/courses/archive/fall08
    /cos561/
  • Tuesdays/Thursdays 130pm-250pm

Slides borrowed liberally from Ion Stoicas CS
268 class at UC Berkeley
2
Motivations
  • Todays 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

3
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
    128.32.xxx.xxx is located in Berkeley

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

5
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

6
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

7
I3 Solution
  • Use overlay network to implement this layer
  • Incrementally deployable dont need to change IP

8
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
Receiver (R)
9
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

10
Mobility
  • Host just needs to update its trigger as it moves
    from one subnet to another

Sender
11
Multicast
  • Receivers insert triggers with same identifier
  • Dynamically switch between multicast and unicast

id
R1
Receiver (R1)
Sender
id
R2
Receiver (R2)
12
Anycast
  • Use longest prefix matching instead of exact
    matching
  • Prefix p anycast group identifier
  • Suffix si encode application semantics, e.g.,
    location

Receiver (R1)
R1
ps1
R2
ps2
Sender
Receiver (R2)
R3
ps3
Receiver (R3)
13
Service Composition Sender Initiated
  • Use a stack of IDs to encode sequence of
    operations to be performed on data path
  • Advantages
  • Dont need to configure path
  • Load balancing and robustness easy to achieve

Transcoder (T)
Receiver (R)
Sender
id
R
idT
T
14
Service Composition Receiver Initiated
  • Receiver can also specify the operations to be
    performed on data

Firewall (F)
Receiver (R)
Sender
idF
F
id
idF,R
15
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

16
Example
  • IDs0..63 partitioned across five i3 nodes
  • Each host knows one i3 node
  • R inserts trigger (37, R) S sends packet (37,
    data)

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

8..20
4..7
42..3
21..35
Sender (S)
36..41
Receiver (R)
18
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

8..20
4..7
42..3
21..35
Sender (S)
36..41
Receiver (R)
19
Outline
  • Overview
  • Security
  • Discussion

20
Some Attacks
Eavesdropping
R
id
R
S
21
Constrained Triggers
  • hl(), hr() well-known one-way hash functions
  • Use hl(), hr() to constrain trigger (x, y)

22
Attacks Defenses
Attack
Defense
23
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

24
Design Principles (contd)
Infrastructure
Host
Data plane
Internet
Control plane
p2p End-host overlays
Data plane
Control plane
i3
Data plane
Control plane
25
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

26
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?

27
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
  • Ill be in Thailand
  • Co-chairing Asia Internet Engineering Conference
  • After Thanksgiving
  • Programmability and virtualization
Write a Comment
User Comments (0)
About PowerShow.com