<div>&nbsp;</div>
<div>Hi Keshav,</div>
<div>&nbsp;</div>
<div>My two cents on the questions you raised:</div>
<div>&nbsp;</div>
<div>&gt;&gt;&nbsp;&nbsp;A. What is the commonly agreed definition for congestion. (I will post my suggestion later today). If we do not agree on a definition, then indices are meaningless.<br>&nbsp;</div>
<div>Congestion happens when demand exceeds capacity. Queue and loss are the *outcome* of congestion, but not congestion itself. </div>
<div>&nbsp;</div>
<div>Therefore, in steady state, if there is congestion, queue builds and, up to a point, loss is resulted. If there is no congestion, there is no queue and no loss due to congestion. On the contrary, queue and loss do not necessarily mean congestion happens. There are other reasons that might cause queue&nbsp;or loss.
</div>
<div>&nbsp;</div>
<div>At each link, if the aggregate incoming traffic rate is less than the link&nbsp;capacity, then there is no congestion&nbsp;on this link (in steady state). In a network, if there is no congestion&nbsp;on all the links, there is no congestion in this network.
</div>
<div>&nbsp;</div>
<div><br>&gt;&gt;&nbsp;B. What's wrong with TCP's congestion control scheme. Does someone have a concise summary that they can post here? I am sure this will be a cut-and-paste job for someone who has written a paper on congestion control recently :-)
<br>&nbsp;</div>
<div>TCP's problems are mainly two: 1) Using loss to detect congestion. Even though&nbsp;this works&nbsp;in wired networks such as today's Internet, loss is a too-late (binary) signal --- congestion has already happened when loss is seen. Non-congestion caused loss is also a common case in wireless networks; 2) The limited *information* about congestion using loss as&nbsp;the indicator limits the choice of&nbsp;congestion control algorithm. TCP's AIMD&nbsp;has a dynamic range that does not scale to the future high-speed, long-delay&nbsp;networks.
</div>
<div>&nbsp;</div>
<div>Best,</div>
<div>Yong</div>
<div>&nbsp;</div>