Skip to Main Content
Hashing is a widely used method to perform fast lookup. Several schemes have been proposed to support Internet lookup that includes IP lookup and packet classification. Rectangular search is a well-known packet classification scheme based on multiple hash accesses for different filter length. It shows good scalability with respect to the number of filters; however, the lookup performance is not satisfactory. For example, through experiments, each packet classification takes about 40 hash accesses in a 100,000-filter database and each hash access may take more than one memory access. Obviously, this is insufficient to provide gigabits throughput. We proposed a novel "lookahead caching" which can significantly improve the performance of the hash-based algorithm. The basic idea is to find out the unmatched case for each incoming packet, thus it is different from the traditional caching mechanism. The experimental results indicate that the proposed scheme can improve the performance by a factor of two. The scheme can be further enhanced using parallel processing.