1. A method for determining a best route for an IP data packet comprising at least one IP address of X bits, said method comprising the steps of: determining said IP address of said IP data packet; indexing a first memory source using k bits of said IP address, for a pointer to a hashed radix tree comprising at most X-k levels of nodes; traversing said hashed radix tree by examining at least one of said X-k bits of said IP address at each of said at most X-k levels, for a pointer to one of a plurality of child nodes, said child nodes being either an internal node or a leaf node; and emitting a pointer from each one of said nodes to a second memory source storing said best route corresponding to said IP address.