Adaptive Hashing for IP Address Lookup in Computer Networks

For applications that rely on large databases as the core data structure, the need for a fast search process is essential. Hashing algorithms have widely been adopted as the search algorithm of choice for fast lookups. Hashing algorithms involve the creation of hash values from the target database entries. A hashing algorithm that transforms the database to hash values with a distribution as uniform as possible would lead to a better search performance. When a database is already value-wise uniformly distributed, any regular hashing algorithm, such as bit-extraction, group-XOR, etc., will lead to a statistically perfect hashing result. In almost all known practical applications, the target database rarely demonstrates uniformly distributed characteristic. The use of any known regular hashing algorithm can lead to a performance far less than desirable. This paper aims at designing a hashing algorithm that can deliver a better performance for all practical databases. An analytical preprocess is performed on the original database to extract critical information that would significantly benefit the design of a better hashing algorithm. The process includes sorting database hash bits to provide a priority that would facilitate the decision-making on which bits and how these bits should be combined to generate better hash values. The algorithm follows an ad hoc design that is critical to adapting to real-time situation when there exists a changing database with an irregular non-uniform distribution. The proposed technique clearly outperforms all known regular hashing algorithms by a significant margin

[1]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[2]  Andreas Moestedt,et al.  Lookup in Hardware for High-Speed Routing , 1998 .

[3]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[4]  Xiaojun Nie,et al.  IP address lookup using a dynamic hash function , 2005, Canadian Conference on Electrical and Computer Engineering, 2005..

[5]  Christopher J. Martinez,et al.  An ad hoc adaptive hashing technique for non-uniformly distributed IP address lookup in computer networks , 2007 .

[6]  Mehmet Toy,et al.  A trie-based algorithm for IP lookup problem , 2000, Globecom '00 - IEEE. Global Telecommunications Conference. Conference Record (Cat. No.00CH37137).

[7]  Raj Jain,et al.  A comparison of hashing schemes for address lookup in computer networks , 1992, IEEE Trans. Commun..

[8]  Andrei Z. Broder,et al.  Using multiple hash functions to improve IP lookups , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[9]  Kwan Lawrence Yeung,et al.  Efficient hardware architecture for fast IP address lookup , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[10]  George Varghese,et al.  Faster IP lookups using controlled prefix expansion , 1998, SIGMETRICS '98/PERFORMANCE '98.

[11]  Hyunsoo Yoon,et al.  A fast and updatable IP address lookup scheme , 2001, Proceedings 2001 International Conference on Computer Networks and Mobile Computing.

[12]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[13]  Daxiao Yu,et al.  Forwarding engine for fast routing lookups and updates , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).