A technique efficiently searches a hash table containing a plurality of
"ranges." In contrast with previous implementations, the technique
performs fewer searches to locate one or more ranges stored in the hash
table. To that end, the hash table is constructed so each hash-table
entry is associated with a different linked list, and each linked-list
entry stores, inter alia, "signature" information and at least one pair
of values defining a range associated with the signature. The technique
modifies the signature based on the results of one or more preliminary
range checks. As a result, the signature's associated ranges are more
evenly distributed among the hash table's linked lists. Thus, the linked
lists are on average shorter in length, thereby enabling faster and more
efficient range searches. According to an illustrative embodiment, the
technique is applied to flow-based processing implemented in an
intermediate network node, such as a router.