internet indirection infrastructure (i3 ) ion stoica, daniel adkins, shelley zhuang, scott shenker,...
TRANSCRIPT
![Page 1: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/1.jpg)
Internet Indirection Infrastructure (i3 )
Ion Stoica, Daniel Adkins, Shelley Zhuang,Scott Shenker, Sonesh Surana
UC Berkeley
SIGCOMM 2002
Presented by: Ao-Jan Su
![Page 2: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/2.jpg)
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 recei
ver, and that they are placed at fixed and well-known locations
Example: a host identified by the IP address 165.124.180.xxx is located in NU
![Page 3: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/3.jpg)
Motivations
This abstraction allows Internet to be highly scalable and efficient, but…
… not appropriate for applications that require other communications primitives: Multicast Anycast Mobility …
More general abstraction is needed
![Page 4: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/4.jpg)
Solution
Use an overlay network to implement this layer Incrementally deployable; don’t need to change IP
![Page 5: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/5.jpg)
Solution
An indirection layer based on overlay network(decouples sending and receiving)
Multicast Anycast MobilityService
Composition
IP Layer
![Page 6: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/6.jpg)
Internet Indirection Infrastructure (i3)
Each packet is associated an identifier id To receive a packet with identifier id, receiv
er R maintains a trigger(id, R) into the overlay network
Sender Receiver (R)
id R
trigger
![Page 7: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/7.jpg)
Service Model
API sendPacket(p); insertTrigger(t); removeTrigger(t) // optional
Best-effort service model (like IP) Triggers periodically refreshed by end-hos
ts ID length: 256 bits
![Page 8: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/8.jpg)
Mobility
Host just needs to update its trigger as it moves from one subnet to another
Sender
Receiver(R1)
Receiver(R2)
id R1id R2
![Page 9: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/9.jpg)
Multicast Receivers insert triggers with same identifier Can dynamically switch between multicast a
nd unicast
Sender Receiver (R1)
Receiver (R2)
trigger
id R2
trigger
id R1
![Page 10: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/10.jpg)
Anycast Use longest prefix matching instead o
f exact matching Prefix p: anycast group identifier Suffix si: encode application semantics, e.g., loc
ation
![Page 11: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/11.jpg)
Stack of Identifiers
idstack: (id1, id2, id3,…,idk) idi is either identifier or an address
Packet p = (idstack, data) Trigger t = (id, idstack)
![Page 12: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/12.jpg)
Using i3
Service Composition Server initiated Receiver initiated
Large Scale Multicast
![Page 13: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/13.jpg)
Service Composition: Sender Initiated
Use a stack of IDs to encode sequence of operations to be performed on data path
Sender(MPEG)
Receiver R(JPEG)
ID_MPEG/JPEG S_MPEG/JPEGID R
send((ID_MPEG/JPEG,ID), data)
S_MPEG/JPEG
send(ID, data) send(R, data)
![Page 14: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/14.jpg)
Service Composition: Receiver Initiated
Receiver can also specify the operations to be performed on data
Sender(MPEG)
Receiver R(JPEG)ID_MPEG/JPEG S_MPEG/JPEG
ID ID_MPEG/JPEG, R
send(ID, data)
S_MPEG/JPEG
send((ID_MPEG/JPEG,R), data)
send(R, data)
![Page 15: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/15.jpg)
Large Scale Multicast Can create a multicast tree for scalability
R2
R1
R4R3
g R2
g R1
gx
x R4
x R3
(g, data)
![Page 16: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/16.jpg)
Implementation Overview ID space is partitioned across infrastructu
re 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
![Page 17: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/17.jpg)
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
![Page 18: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/18.jpg)
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)
![Page 19: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/19.jpg)
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)
![Page 20: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/20.jpg)
Optimization: Path Length Sender/receiver caches i3 node mapping a
specific ID Subsequent packets are sent via one i3 node
![Page 21: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/21.jpg)
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
![Page 22: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/22.jpg)
Security
i3 end-points also store routing information New opportunities for malicious users
Goal: make i3 not worse than today’s Internet
![Page 23: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/23.jpg)
Some Attacks
![Page 24: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/24.jpg)
Solutions Eavesdropping: Use private triggers, periodi
cally change them, multiple private triggers
DoS Attacks: Challenges, Fair Queueing for resource allocation, loop detection
Dead-End: Use push-back
![Page 25: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/25.jpg)
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
![Page 26: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/26.jpg)
First Packet Latency
90th percentile latency stretch vs. no of i3 servers for Transit-stub
topology
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
![Page 27: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/27.jpg)
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)
![Page 28: Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:](https://reader035.vdocuments.us/reader035/viewer/2022062417/5516a1e3550346f0208b4cc6/html5/thumbnails/28.jpg)
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 communic
ation abstraction