我们有一个文件传输速度封顶(最大速度)的案例如下:
- 1 文件传输上限为 5Mbps;
- 2 个并行文件传输(同一文件),上限为 10 Mbps
什么可以解释这种行为?
它似乎不是IP层(网络)。那会是TCP层的设置吗?
编辑:
我将尝试澄清上下文和我的问题。
文件传输发生在两个 FTP 服务器(我不确定哪个操作系统或 FTP 软件)之间,通过广域网(专用网络,而不是 Internet)。所以我们有这样的事情:
FTP 服务器 A --> LAN --> WAN --> LAN --> FTP 服务器 B
第一个文件传输作业获得 5Mbps 带宽。我们认为 WAN 在某处存在限制带宽的瓶颈。但随后额外的文件传输作业设法找到另外 5Mbps 的带宽......
如果您的延迟很高(例如,如果您正在通过 Internet 传输),则可能是因为连接的一端或两端不支持窗口缩放。如果您的 ISP 倾向于弄乱您的数据包,则可能是由于流量整形。正如 Robert Moir 所指出的,这可能是应用程序或驱动程序问题。
您提出问题的方式有点令人困惑。让我更明确地重申一下。
在给定的网络上...
中间没有盒子做“流量整形”......限制取决于我们拥有的网络类型。
为什么两个可以传输多个?
答案是 TCP/IP 是一种礼貌的协议。它积极尝试不占用频道。它实际上已经过优化,因此许多传输一次都可以获得“公平份额”的带宽。
不利的一面是,在否则为空的网络上的单次传输会获得非常糟糕的性能。这并不是因为 TCP/IP 的创建者想要那样做。多年的研究并没有极大地改善这种情况,因为主要的研究是使整个互联网更加高效,而不是让封闭网络上的特定机器运行良好。互联网不是关于你,而是关于“我们”。
很难针对您的特定情况调整网络。例如,当您的机器正在等待硬盘时,网络可能会闲置,未使用。同时进行两次传输,一次传输在等待硬盘,另一次传输是“保持管道满”。
如果您想提高传输率,请将您的传输分成多个同时传输。进行基准测试以查看 1、2、3 或 4 是否获得最佳挂钟时间。使用最有效的。(如果你改变了你的网络、网卡速度等,你应该重新做基准测试)
如果您不能将任务分解为多个传输,则需要考虑调整操作系统上的 TCP/IP 设置。您可以更改一些参数,例如增加带宽使用的速度(“快速启动计时器”)和其他设置。这些对于不同的操作系统是不同的。在网上搜索可以找到类似http://support.microsoft.com/kb/93444和http://www.psc.edu/networking/projects/tcptune/的文章 但是我应该警告你,你可以让事情变得更糟,就像你可以让事情变得更好一样容易。您应该建立一个基准并在每次更改后一次调整一个参数运行整个基准。保留好日志,看看是什么让事情变得更好和更糟。此外,请记住,一旦您针对这种传输进行了调整,执行其他网络任务(如浏览网页)可能会变得不协调。
不可能用你在这里提供的信息说。我已经看到单次下载的文件传输速度超过 5mb,因此它不是一些不可变的“互联网法则”。当然,可能是您正在使用的应用程序。可能是一个设置。可能是司机。
在网络中的某些地方,每个 TCP 流都被限制为 5 Mbps。最有可能在 WAN 连接中,但也可能在其他地方。