Answers:
通常,以最快的连接为准。但是,在Windows 7网络混乱之前,到处都是糟糕的性能。尝试从XP中获得超过20mb / s的运气。
http://research.microsoft.com/pubs/70189/tr-2005-86.pdf
标准的TCP拥塞避免算法采用加和减乘(AIMD)方案。如果没有检测到数据包丢失(通过三个重复ACK或重传超时),则每个RTT的拥塞窗口(cwnd)都会增加一个“最大段大小(MSS)”。否则,如果检测到数据包丢失,则TCP发送方会将cwnd减少一半。在高速和长延迟的网络中,需要很大的窗口(例如数千个数据包)才能充分利用链路容量。因此,在单个丢失事件中,将需要许多TCP标准的RTT来恢复发送速率。而且,现在众所周知,平均TCP拥塞窗口与分组丢失率的平方根成反比。
更快的连接包含更多成功的数据包,因此增加了其cwnd / mss并获得了更多的总连接数。
活动的开放式TCP将通过测量服务器的响应来测试网络状况。如果路由器缓冲区被另一个连接饱和,并导致高延迟,则客户端将相应地调整其发送窗口。如果采用经典的拥塞控制方法,则客户端将不断提高其发送速率,直到出现丢包为止。因此,如果使路由器饱和的设备开始遭受严重的跌落,而新来者却没有,则新来者可能会介入。
现在有实验性和更智能的拥塞控制方法,它们使用延迟作为度量标准,而不是简单地使用丢弃来衡量网络状况。但是,这些新方法有一个坏习惯,那就是被更顽强的经典方法所欺负,它们会占用尽可能多的带宽。
同样,如果使用UDP连接,由于它不小心喷洒比特,它将在任何网络中占主导地位。取决于应用程序,它会在不考虑网络条件的情况下不计后果地使路由器缓冲区饱和。