In this paper, we introduce the notation of a congestion equilibrium where competing players share a common level of congestion in the system. We illustrate the concept by developing a framework under which content providers (CPs) compete for a last-mile bottleneck capacity of an ISP so as to service their users. We show that under minor monotonicity assumptions on the system congestion and traffic rates, a unique congestion equilibrium exists. Under an independence of scale assumption, we characterize the congestion and rates in equilibrium as continuous homogeneous functions. In particular, the congestion in equilibrium can be characterized by a continuous non-increasing function of the per capita capacity of the system. Through examples, we show that various congestion metrics apply to our model, e.g. M/M/1 delay metric and throughput metrics that results from work-conserving congestion control mechanism.By using the congestion equilibrium as a building block, we further model class-based service differentiations of an ISP under which CPs choose service class and compete resource with other CPs in the same service class. We formulate a two-stage strategic game between an ISP and the CPs. We characterize the Nash equilibrium and competitive equilibrium, which is based on a corresponding congestiontaking assumption, and propose an algorithm to practical solve a competitive equilibrium.