Routing on longest-matching prefixes
IEEE/ACM Transactions on Networking (TON)
Small forwarding tables for fast routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Scalable high speed IP routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Fast address lookups using controlled prefix expansion
ACM Transactions on Computer Systems (TOCS)
Data Structures, Algorithms and Applications in Java
Data Structures, Algorithms and Applications in Java
Fundamentals of Data Structures in C++
Fundamentals of Data Structures in C++
Efficient Construction of Variable-Stride Multibit Tries for IP Lookup
SAINT '02 Proceedings of the 2002 Symposium on Applications and the Internet
Fast address look-up for internet routers
BC '98 Proceedings of the IFIP TC6/WG6.2 Fourth International Conference on Broadband Communications: The future of telecommunications
O(log n ) Dynamic Packet Routing
ISCC '02 Proceedings of the Seventh International Symposium on Computers and Communications (ISCC'02)
Efficient Construction of Fixed-Stride Multibit Tries for IP Lookup
FTDCS '01 Proceedings of the 8th IEEE Workshop on Future Trends of Distributed Computing Systems
Multiway range trees: scalable IP lookup with fast updates
Computer Networks: The International Journal of Computer and Telecommunications Networking
O(\log n) Dynamic Router-Tables for Prefixes and Ranges
IEEE Transactions on Computers
Survey and taxonomy of IP address lookup algorithms
IEEE Network: The Magazine of Global Internetworking
Dynamic Segment Trees for Ranges and Prefixes
IEEE Transactions on Computers
Efficient IP table lookup via adaptive stratified trees with selective reconstructions
Journal of Experimental Algorithmics (JEA)
Efficient Prefix Updates for IP Router Using Lexicographic Ordering and Updatable Address Set
IEEE Transactions on Computers
I/O Efficient Dynamic Data Structures for Longest Prefix Queries
SWAT '08 Proceedings of the 11th Scandinavian workshop on Algorithm Theory
High throughput and large capacity pipelined dynamic search tree on FPGA
Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays
The CPBT: a method for searching the prefixes using coded prefixes in B-tree
NETWORKING'08 Proceedings of the 7th international IFIP-TC6 networking conference on AdHoc and sensor networks, wireless networks, next generation internet
Range Tries for scalable address lookup
Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
ICCC'11 Proceedings of the 2011 international conference on Computers and computing
Scalable architecture for 135 GBPS IPv6 lookup on FPGA (abstract only)
Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays
Scalable high-throughput architecture for large balanced tree structures on FPGA (abstract only)
Proceedings of the ACM/SIGDA international symposium on Field programmable gate arrays
Hi-index | 14.99 |
We propose B-tree data structures for dynamic router-tables for the cases when the filters are prefixes as well as when they are nonintersecting ranges. A crucial difference between our data structure for prefix filters and the MRT (Multiway Range Trees) is that, in our data structure, each prefix is stored in O(1) B-tree nodes per B-tree level, whereas, in MRT, each prefix is stored in O(m) nodes per level (m is the order of the B-tree). As a result of this difference, the measured average insert and delete times using our structure are about 30 percent less than when MRT is used. Further, an update operation of MRT will, in the worst case, make 2.5 times as many cache misses as made when our structure is used. The asymptotic complexity to find the longest matching prefix is the same and the measured time for this operation also is nearly the same for both data structures. Both B-tree structures for prefix router-tables take O(n) memory. However, our structure is more memory efficient by a constant factor. For the case of nonintersecting ranges, our data structure requires O(n\log_mn) memory and O(\log_m n) nodes are accessed during an operation (finding the highest-priority matching range, insert and delete a range).