Issue No.10 - October (2004 vol.53)
Sartaj Sahni , IEEE
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2004.81
Two versions of the Internet (IP) router-table problem are considered. In the first, the router table consists of n pairs of tuples of the form (p,a), where p is an address prefix and a is the next-hop information. In this version of the router-table problem, we are to perform the following operations: insert a new tuple, delete an existing tuple, and find the tuple with longest matching-prefix for a given destination address. We show that each of these three operations may be performed in O(\log n) time in the worst case using a priority-search tree. In the second version of the router-table problem considered by us, each tuple in the table has the form (r,a), where r is a range of destination addresses matched by the tuple. The set of tuples in the table is conflict-free. For this version of the router-table problem, we develop a data structure that employs priority-search trees as well as red-black trees. This data structure permits us to perform each of the operations insert, delete, and find the tuple with most-specific matching-range for a given destination address in O(\log n) time each in the worst case. The insert and delete operations preserve the conflict-free property of the set of tuples. Experimental results are also presented.
Packet routing, dynamic router-tables, longest-prefix matching, most-specific-range matching, conflict-free ranges.
Haibin Lu, Sartaj Sahni, "O(\log n) Dynamic Router-Tables for Prefixes and Ranges", IEEE Transactions on Computers, vol.53, no. 10, pp. 1217-1230, October 2004, doi:10.1109/TC.2004.81