Can an end-host running multiple TCP sessions detect not just the occurrence, but also the location of congestion? This paper answers this question through new analytic results on the two underlying technical difficulties: synchronization effects of loss and delay in TCP and distributed hypothesis testing using only local loss and delay data, as well as practical algorithm development and extensive simulations. It presents a Congestion Location Detection algorithm that effectively allows an end host to distributedly detect whether congestion happens in the local access link or in more remote links. This further enables the practical usage of low-priority congestion control protocols.