Summary
This paper addresses the issues of supporting multicast/anycast on current networks. The Internet is designed for point-to-point connections so adding true multicast is hard. Current approaches require the sender to know a list of recipients and the recipient locations to be fixed. The proposed design logically /decouples the act of sending from the act of receiving/.
The mechanism is to have receivers register interest in a particular type data. This is done with a "trigger" consisting of a (id, address) pair where the id is an m-bit identifier. When a sender sends a packet with the specified id, the packet is forwarded to all receivers that registered triggers.
To generalize the identifier matching the system forwards packets if
- The ids have a prefix match of at least k bits and
- There is no trigger with an id that has a longer prefix.
Thoughts
This paper describes a clever way to build in support for multicast, anycast and mobility in an overlay. The core of the idea is quite simple: add a layer of indirection where receivers must register. In some sense this sounds similar to the mobile IP model of having a representative node that forwards packets to one's real location.
The only real problem is that inherent in Chords and DHTs in general: stretch. It is important to have a mechanism that does not deflect the packets from the true path too much. The strategy of private triggers, and negotiating one that is either close to the source or the destination is one one way to handle this problem.
ReplyDelete