Correctness: The routing should be done properly and correctly so that the packets may reach their proper destination. Simplicity: The routing should be done in a simple manner so that the overhead is as low as possible. With increasing complexity of the routing algorithms the overhead also increases.