为什么某些网络连接占主导?


15

我对为什么会有所怀疑,但我想请具有较深网络背景的人来解释。

为什么从多个不同的位置进行下载时,某些连接会饱和带宽,而使其他连接几乎处于空闲状态,直到主导连接完成?

Answers:


26

通常,以最快的连接为准。但是,在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并获得了更多的总连接数。


这与我的想法相符,尽管更具技术性。
Keltari '16

23
即使对于Windows XP,每秒20毫微秒也是相当低的。:P
CodesInChaos

@codesinchaos当您需要一个徽章时,在哪里?
Ashley

1
@CodesInChaos我觉得这是不是一个真正的不确定性,因为你不能拆了一点,但Mb / s的可能会更好看;-)一个更大的问题是,当人混淆了“兆”与“兆” ..
comfreak

-1

活动的开放式TCP将通过测量服务器的响应来测试网络状况。如果路由器缓冲区被另一个连接饱和,并导致高延迟,则客户端将相应地调整其发送窗口。如果采用经典的拥塞控制方法,则客户端将不断提高其发送速率,直到出现丢包为止。因此,如果使路由器饱和的设备开始遭受严重的跌落,而新来者却没有,则新来者可能会介入。

现在有实验性和更智能的拥塞控制方法,它们使用延迟作为度量标准,而不是简单地使用丢弃来衡量网络状况。但是,这些新方法有一个坏习惯,那就是被更顽强的经典方法所欺负,它们会占用尽可能多的带宽。

同样,如果使用UDP连接,由于它不小心喷洒比特,它将在任何网络中占主导地位。取决于应用程序,它会在不考虑网络条件的情况下不计后果地使路由器缓冲区饱和。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.