Tuesday, November 10, 2009

Internet Indirection Infrastructure

Summary
This paper develops a nice DHT use, that of Internet wide indirection routing. The core problem this addresses is that the point-to-point nature of IP makes it non-ideal when we have mobile hosts, and also for multicast or anycast. The i3 architecture allows these these to be expressed quite naturally.

The basic idea of i3 is that senders send data to an identifier, rather than to a particular address. Receivers express interest in data sent by publishing their interest in a particular identifier into the i3 layer. When data is sent, i3 can quickly look up all receivers who are interested in the data and their IP address and route data to them.

This routing is achieved by maintaining routing tables at nodes in a chord ring. Ids prefix match, but in the paper it is required that all prefixes be at the same node (thus allowing fast prefix matching). When data is sent to a particular id, it is forwarded to the responsible chord node, target hosts are determined locally at that node using longest prefix matching, and then forwarded on.

To support mobility, mobile receivers simply publish their new address under the same identifier and packets will automatically be routed to them. For multicast, many hosts can publish the same prefix and the responsible forwarder node can multiplex the packet. Likewise for anycast.

For more flexibility i3 allows data to be sent to stacks of identifiers, allowing packets to go to a number of i3 nodes before their final destination. This allows, for example, load balancing multicast requests by having them go through a tree of nodes rather than overloading the single node responsible for that prefix.

Comments
I liked this paper. It is a clever use of a DHT, and the architecture is explained well. The motivations and uses for i3 are also well covered. However, I was disappointed with the evaluation. There was no actual comparison with any other system. Clearly packets have to travel further in i3 than in IP, so a comparison against standard IP routing to determine the overhead of i3 should really have been performed.

I also feel the multicast/anycast should behave a bit differently than simple packet routing. i3 could be used almost like DNS for simply unicasting packets, where end clients cache IPs and send directly, while multicast/anycast would always need to go through the i3 layer.

This was an interesting paper and I would keep it on the syllabus.

No comments:

Post a Comment