A method for looking up a routing table in a software router which comprises a main memory and a central processing unit (CPU), where the main memory comprises a hash table consisting of one or more buckets (hereinafter, referred to as “buckets A”) wherein each bucket stores destination information to which a unique key is mapped, and the CPU comprises a temporary table to store the destination information present in the hash table, the method comprising:
- determining a location of a bucket (hereinafter, referred to as “bucket B”) in the temporary table by applying a specific key to a designated hash function where the specific key is extracted from a received packet;
- and
- transmitting the received packet to a destination by obtaining destination information from bucket B at the determined location in the temporary table.