通过多个套接字传输文件比仅使用一个套接字更快吗?

时间:2015-03-26 11:44:04

标签: sockets tcp network-programming winsock

在这个旧的project(从2002年开始)中,它说如果你将文件分成多个块然后使用不同的套接字传输每个块,它将比使用一个传输整个传输速度快得多。插座。我还记得(许多年前)读过一些下载管理器也使用这种技术。这有多准确?

1 个答案:

答案 0 :(得分:6)

鉴于具有大窗口或小型RTT的单个TCP连接可以使任何网络链路饱和,我看不出您期望从多个TCP会话中获得什么好处。每个新作品都将以慢启动开始,因此传输速率低于已建立的连接速度。

TCP已经拥有高吞吐量,高延迟连接(“window scale option”)和处理数据包丢失的代码。试图通过并行连接改进这一点通常会产生负面影响,因为有更多的故障情况和增加的数据包丢失(由于单个连接上的TCP可以管理的拥塞)。

多个TCP会话仅在您从不同的对等端同时进行提取并且网络瓶颈在本地网络之外(如bittorrent)或服务器正在为每个连接进行带宽限制时才有用(在这一点你要优化服务器,而不是TCP或网络。