Abstract--Every congestion control protocol operating in wireless networks is potentially faced with two major challenges of performance degradation. These sources are (a) the coupling of fairness and efficiency, and (b) not properly differentiating between congestion-caused loss associated with network buffering and error-caused loss associated with fading effects. In this paper, we provide a VCP-based cross-layer framework of congestion control that can address both challenges noted above. As a part of our framework, we introduce a loss differentiation heuristic algorithm that can be used with a variety of congestion control protocols. Then using analysis, simulation, implementation, and emulation, we profile the performance of a number of congestion control alternatives in wireless networks. We describe the first implementation of VCP as a collection of loadable kernel modules along with fine-tuned implementations of XCP and TCP/AQM+ECN in Linux. We utilize NS2 as our simulation too...