我有20,127/893 Kbps 服务通过 CenturyLink DSL。我进行了速度测试,它通常报告的速度接近这个数字。
除非我上传重要内容。比如将视频文件上传到 YouTube。上传需要很长时间,我理解这是因为上传速度为 893 Kbps,但整个上传过程中下载速度都停滞不前。速度太差了,我甚至无法连接到 SpeedTest.net 进行速度测试。家里其他计算机之间的网络连接很好。但只要有一台计算机正在上传,所有计算机都可能被踢出互联网。例如,ping Google 需要 5 秒钟才能解析 DNS,然后请求就会超时。
我打电话给 CenturyLink 的支持部门,与他们交谈了一个小时,他们说一切都很好。他们让我重启了几次电脑和调制解调器,当然这没有帮助。最后他们给我寄了一个新的(翻新的)调制解调器,让我不用再打电话了。它的表现还是一样。
所以我的问题是,这种行为是否是 CenturyLink DSL 的典型特征,或者是否真的出了什么问题。也许我可以做些什么来修复它,而不用在与无能的支持人员交谈时再花一个小时重启调制解调器。
答案1
大多数互联网流量使用的 TCP 协议使用“滑动窗口”方案来提供可靠性。这意味着它只会在收到指示当前窗口的部分或全部已完全收到的 ACK 消息时发送新内容(滑动窗口)。因此,它需要在上行链路中频繁发送 ACK 消息,以使您的下载流量顺利通过。如果 ACK 消息延迟或丢失,发送方可能会减慢传输速度和/或重新传输您已经收到的数据包。
默认情况下,操作系统会按照应用程序生成数据包的顺序传输数据包,因此 ACK 数据包会随机与您的上传流量交错。您的 ISP(或您的网络设备)会通过延迟数据包来控制您的带宽使用情况,当传输速度超过限制时(也称为节流)。这种延迟可能发生在任何数据包上,包括对延迟敏感的 ACK 数据包。
为了解决这个问题,您需要某种优先级系统来确保 ACK 数据包不会受到限制。有付费软件可以解决这个问题。如果您将上传速度限制为低于分配的上传带宽的值,也可以实现类似的效果。或者,您可以使用通过不需要 ACK 消息的 UDP 传输文件的应用程序。
答案2
这里发生了两件事:
您将文件上传到服务器,服务器将使用大部分上传带宽和一部分下载带宽与服务器通信,以确保文件被正确接收。
您尝试访问互联网,即使用您的下载速度与互联网进行通信,并使用您的上传速度与服务器进行通信,以确保浏览器正确接收文件。
看到问题了吗?
您的下载速度受许多因素控制:线路质量、服务水平、位置、房屋内的布线、计算机速度、上传速度以及系统上的任何异常负载。
因此,当您上传某些内容时(这会占用大部分上传带宽),然后尝试从互联网上下载某些内容,则该下载过程无法完全访问您的上传带宽,因此您的下载速度会显著降低。
答案3
解决 Centurylink 的 C3000Z 调制解调器下载速度在上传时降低的问题的一个方法是禁用 QoS。QoS 为 VoIP(流量整形)设置优先级。因此,如果您没有 VoIP 服务(我没有),禁用 QoS 应该可以让您的下载速度降低一半(28Mbps),而在上传文件时启用它(5Mbps)会使下载速度降低到 0.02Mbps。QoS 中有一个设置可以优先下载(设置 QoS 方向),但我无法让它坚持下去。所以我干脆完全禁用了 QoS。
我确实预计上传时下载速度会有所下降,但不应该只有一半。
我会继续研究这个问题,但至少现在在禁用它的情况下我可以做一些事情。
不要相信那些说上传应该取代下载的人,从什么时候开始呢?异步确实允许你的连接速度有效地双向工作。