Title: Internet Indirection Infrastructure (i3)
1Internet Indirection Infrastructure(i3)
- Ion Stoica
- Daniel Adkins
- Shelley Zhuang
- Scott Sheker
- Sonesh Surana
Presented by Kiran Komaravolu
2Motivation
- With the Internets point to point communication
abstraction, implementation of some services like
mobility, multicast, anycast etc. has become
difficult. - Solution Indirection ? Instead of sending packet
to receiver, associate a packet with an id,
receiver picks up all packets with the ids its
interested in.
3How i3 works
Receiver inserts a trigger into i3 Send all
pkts with identifier id to address R.
When a pkt with id is sent into i3, matching
triggers are looked up and Pkts sent to those
receivers.
A packet may match a trigger both their ids have
the same prefix of k bits And no other trigger
has a longer prefix that matches the packet.
4How i3 works
- I3 is an overlay network with a bunch of servers.
- In the basic form
- Packets are of the form (id, data)
- Triggers are of the form (id, addr)
- Each server has a unique identifier.
5How i3 works
- When a trigger (id, addr)is inserted, it is
stored in server responsible for id. - When Packet (idt , data) is inserted into i3, it
is routed to server responsible for id. - All Ids with same initial k bits are stored in
same server . - When packet reaches the server, appropriate
trigger is fired or the packet is dropped if it
doesnt match any trigger.
6Communication with i3.
- Mobility
- Packet redirection can be made just by changing
clients trigger from (id,R) to (id, R). - Multicast
- A bunch of clients insert triggers in the form
- (id, R1), (id, R2), (id, R3). Pkt with id is
sent to R1, R2, R3 - Anycast
- Pkts should be sent to only one receiver in a
group. - All receivers in the group insert triggers with
same k bit prefix. - The last m-k bits are used to encode differences
between the receivers. The receiver whose id
matches the longest prefix gets the packet. -
7ID Stacks.
- Triggers or Packets could specify identifier
stacks or address stacks. - Packet p (idstack, data)
- Trigger t (id , idstack)
- Useful in redirecting traffic.
8Using ID stacks
- Packet p (id1-id2-id3 ,data)
- I3 has a trigger t (id2, x-y) x,y are addrs
- Packet is sent to id1
- No trigger match. id1 popped out of stack.
- Packet sent to id2.
- Trigger found. id2 popped out and x-y prepended
to identifier list. - This trigger is fired.
This allows for end parties to determine the
routing of the packets.
9Using i3
- Service composition
- Packets may be sent to a 3rd party server for
preprocessing before being sent to the client. - Heterogeneous multicast.
- Two receivers receiving same data but in
different application formats. - Server Selection
- Last m-k bits of identifiers may be used for
server selection.
10Simulation Results
Packets sent from Sender to server to
Receiver Sender caches server address.
11Latency stretch for the 1st packet
12Per Data Packet forwarding overhead
13