The primary role of routers is to forward packets toward their final destinations. For this purpose, a router must decide for each incoming packet where to send it next. More exactly, the forwarding decision consists of finding the address of the next-hop router as well as the egress port through which the packet should be sent. This forwarding information is stored in a forwarding table that the router computes based on the information gathered by routing protocols. To consult to the forwarding table which port is proper for the packet to go out, the router uses the packet``s destination address as a key; this operation is called address lookup. Once the forwarding information is retrieved, the router can transfer the packet from the incoming link to the appropriate outgoing link, in a process called switching.
The exponential growth of the Internet has stressed its routing system. While the data rates of links have kept pace with the increasing traffic, it has been difficult for the packet processing capacity of routers to keep up with these increased data rates. Specifically, the address lookup operation is a major bottleneck in the forwarding performance of today``s routers.
This paper starts with a survey of the algorithms for efficient IP address lookup. And, we propose several new address lookup scheme enhancing the performance. We start by tracing the evolution of the IP addressing architecture. The addressing architecture is of fundamental importance to the routing architecture, and reviewing it helps us to understand the address lookup problem. Then, we propose and explain the basic approach to the address lookup. The basic idea is distributed lookup of address. Also, we modified the basic scheme into the realistic scheme by changing some parameters and lookup method partially. Moreover, we propose the necessity of small size memory and the method to save memory.