— In this paper, we develop, analyze and implement a congestion control scheme obtained in a noncooperative game framework where each user’s cost function is composed of a pricing function, proportional to the queueing delay experienced by the user, and a fairly general utility function which captures the user demand for bandwidth. Using a network model based on fluid approximations and through a realistic modeling of queues, we establish the existence of a unique equilibrium as well as its global asymptotic stability for a general network topology. We also provide sufficient conditions for system stability when there is a bottleneck link shared by multiple users experiencing non-negligible communication delays. Based on these theoretical foundations, we implement a window-based, end-to-end congestion control scheme, and simulate it in ns-2 network simulator on various network topologies with sizable propagation delays.