In this paper, we introduce a congestion-aware routing protocol that selects the paths according to the congestion of nodes in the network. The aim is twofold: on one hand, and in order to prevent the networks from collapsing, it provides a good tolerance to nodes’ overloads; on the other hand, and in order to guarantee efficient communication, it also incentivize the routes to follow short paths. We analyze the performance of our proposed routing strategy by means of a series of experiments carried out by using simulations. We show that it provides a tolerance to collapse close to the optimal value. Furthermore, the average length of the paths behaves optimally up to the certain value of packet generation rate ρ and it grows in a linear fashion with the increase of ρ .