The primary function of routers is to forward packets toward their final destination. To accomplish this, a router must decide for each incoming packet where to send it to next. To do this, the router must do a lookup function to determine the match for the destination address so that it knows which interface to forward the packet to. This chapter describes a number of algorithms that can be used for IP address lookup; their advantages and disavantages are also discussed. Finally, a discussion on hardware-based approaches are also included.