Internet Indirection Infrastructure i 3 Ion Stoica Daniel
- Slides: 28
Internet Indirection Infrastructure (i 3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by: Ao-Jan Su
Motivations n Today’s Internet is built around a unicast point-to-point communication abstraction: n n Send packet “p” from host “A” to host “B” Point-to-point communication n n 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 165. 124. 180. xxx is located in NU
Motivations n n This abstraction allows Internet to be highly scalable and efficient, but… … not appropriate for applications that require other communications primitives: n n n Multicast Anycast Mobility … More general abstraction is needed
Solution n Use an overlay network to implement this layer n 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) IP Layer
Internet Indirection Infrastructure (i 3) n n 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 trigger id R Receiver (R)
Service Model n API n n n send. Packet(p); insert. Trigger(t); remove. Trigger(t) // optional Best-effort service model (like IP) Triggers periodically refreshed by end-hosts ID length: 256 bits
Mobility n Host just needs to update its trigger as it moves from one subnet to another Sender id R 2 R 1 Receiver (R 1) Receiver (R 2)
Multicast n n Receivers insert triggers with same identifier Can dynamically switch between multicast and unicast Sender trigger id R 1 id R 2 Receiver (R 1) trigger Receiver (R 2)
Anycast n Use longest prefix matching instead of exact matching n n Prefix p: anycast group identifier Suffix si: encode application semantics, e. g. , location
Stack of Identifiers n idstack: (id 1, id 2, id 3, …, idk) n n n idi is either identifier or an address Packet p = (idstack, data) Trigger t = (id, idstack)
Using i 3 n Service Composition n Server initiated Receiver initiated Large Scale Multicast
Service Composition: Sender Initiated n 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) Sender (MPEG) send(R, data) send(ID, data) ID_MPEG/JPEGS_MPEG/JPEG ID R Receiver R (JPEG)
Service Composition: Receiver Initiated n Receiver can also specify the operations to be performed on data S_MPEG/JPEG send(R, data) send(ID, data) Sender (MPEG) ID_MPEG/JPEGS_MPEG/JPEG send((ID_MPEG/JPEG, R), data) ID ID_MPEG/JPEG, R Receiver R (JPEG)
Large Scale Multicast n Can create a multicast tree for scalability (g, data) g x x R 3 g g R 1 R 2 x R 4 R 1 R 4
Implementation Overview n ID space is partitioned across infrastructure nodes n n n 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 n O(log N) hops
Properties n Robustness, Efficiency, Scalability, Stability n n 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 n n n ID space [0. . 63] partitioned across five i 3 nodes Each host knows one i 3 node R inserts trigger (37, R); S sends packet (37, data)
Example n n n ID space [0. . 63] partitioned across five i 3 nodes Each host knows one i 3 node R inserts trigger (37, R); S sends packet (37, data)
Optimization: Path Length n n Sender/receiver caches i 3 node mapping a specific ID Subsequent packets are sent via one i 3 node
Optimization: Location-aware Triggers n n n 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 n i 3 end-points also store routing information n n New opportunities for malicious users Goal: make i 3 not worse than today’s Internet
Some Attacks
Solutions n n n Eavesdropping: Use private triggers, periodically change them, multiple private triggers Do. S Attacks: Challenges, Fair Queueing for resource allocation, loop detection Dead-End: Use push-back
Experimental Results n Simulation over two topologies n n Power-law random graph topology Transit-stub topology n Latency Stretch = (i 3 latency)/(IP latency) n 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 log 2 N closest fingers when routing 90 th percentile latency stretch vs. no of i 3 servers for Transit-stub topology
End-to-end Latency 90 th percentile latency stretch vs. no of samples (16384 i 3 servers) i 3 latency = (sender to i 3 server)+(i 3 server to receiver)
Conclusions n Indirection – key technique to implement basic communication abstractions n n Multicast, Anycast, Mobility, … This research n n Advocates for building an efficient Indirection Layer on top of IP Explores the implications of changing the communication abstraction
- Ion stoica
- Ion stoica
- Indirection grasp
- G mail
- Indirection layer
- Adrian stoica jpl
- Beatrice stoica
- Emilia ion procuror
- Monica stoica
- Emilia stoica
- Qué son las fuerzas intramoleculares
- Dispersion forces
- Ion dipolo
- Ejemplo de fuerza ion ion
- E business infrastructure components
- What is internet
- Transition metal ion colours
- Balancing ionic equations
- Ion basgan
- North bay lead acid flooded
- Ment verb
- Marine de dardel
- Carbonium ion rearrangement
- Ion run it
- Reaction quotient vs equilibrium constant
- Hexaaquaaluminium complex ion
- Ion
- Ion etching
- Bridged bromonium ion