Congestion control is a preventive method associated with computer networks operated at high load conditions. The congestion is a severe issue which requires considerable attention, as internet performance is largely governed by data traffic fluctuations which are usually burst in nature. Therefore, a survey of different congestion control protocols comparing various parameters is essential to come up with new proposal to avoid congestion problem in computer networks. In this paper, we review progress made in the field of reactive and proactive congestion methodologies, which explicitly compute rates independently of congestion signal in decentralized fashion. Finally, the review brings to notice the application of various protocols along with their advantages and disadvantages.