Skip to Main Content
IP address lookup provides forwarding decision based on incoming packet's destination address. Due to the rapid growth of the Internet traffic, IP address lookup became a bottleneck in the Internet routers since it should be performed in wire-speed on packet-by-packet basis. It has been required efficient algorithms and architectures for IP address lookup in terms of lookup performance, memory size requirement, scalability, and update. In this paper, we propose an IP address lookup architecture which shows very good performance in search speed while requires a single small-size memory. In the proposed architecture, using leaf pushing, each of the prefixes becomes disjoint, and the disjoint prefix set constructs a balanced tree that exploits outstanding storage efficiency. The proposed scheme performs binary search on the routing table, in which each of prefixes is stored in ascending order. By confining the binary search space using first 8 bits of prefix, the proposed architecture also improves the search performance greatly. Performance evaluation results show that the proposed scheme requires a single 266.6 KByte SRAM to store about 41000 routing entries, and an address lookup is achieved by 10.4 memory accesses in average.