我刚刚目睹了一件让我震惊的事情。我正在用 BitTorrent 下载一些东西,下载速度相当高(~1MB/s)。上传速度非常低(~15kB/s,因为有很多种子)。
但令我惊讶的是,当 BitTorrent 运行(并下载)时,我无法访问任何网页,也无法 ping 任何网站。更奇怪的是,Windows 向我显示了“我已连接到无线路由器,但没有互联网连接”的符号。
Microsoft 诊断程序表示无法找到 DNS 服务器(这解释了为什么我无法访问/ping 网页)。当我查看网络选项卡时,它当然向我显示了 BitTorrent 提供的大量活动。
下载完成后一切都恢复正常。
我想我的问题是:BitTorrent 是否可能完全占用我的带宽,导致 Windows 认为我的计算机未连接到互联网?Windows 实际上如何确定我的计算机是否连接到互联网?
答案1
有关 Windows 如何确定 Internet 连接,请参阅这个超级用户问题基本上,Windows 会尝试访问 Microsoft 托管的文本文档,并根据响应(超时、403 拒绝、200 OK 等)判断您的连接性。
是的,BitTorrent(或其他任何程序)占用过多的带宽可能会让你的连接饱和基本上,您一次传输了太多数据包,以至于其他数据包最终会超时并被丢弃。想象一下一根水管,如果您试图放入太多东西,它会比排空的速度更快被填满并开始溢出,从而失去溢出的水。
典型的 IP(Internet 协议)请求要求您向请求的服务器发送一些数据包,然后服务器将发回一些数据包 - 其响应。这需要一些上行和下行带宽。当您的上行带宽饱和时,您无法发送请求。当您的下行带宽饱和时,您无法收到响应。BitTorrent 客户端完全有可能使用您所有可用的带宽。
一般来说,最好将 BitTorrent 客户端设置为仅使用上行和下行带宽的 80%,具体比例由速度测试决定。如果您需要低延迟,例如在线游戏,百分比应该更低。
BitTorrent 还可能通过打开过多连接使家用调制解调器和路由器超载,从而使其 NAT 表溢出。因此,最大连接数应保持在相当低的水平。全局最多 300 个连接应该没问题。NAT 表溢出的症状因路由器而异,但通常会导致它们冻结。
答案2
是的,BitTorrent 可能会完全占用您的带宽。但是,BitTorrent 客户端中通常会有代码来处理程序运行时对互联网的使用。理论上,它可以适应您使用 BitTorrent 执行 ping 或浏览的操作,使它们同时进行。有时,如果下载速度很高,在 GNU/Linux 上使用 Transmission-GTK 时,我甚至无法 ping 网站。
Windows 的网络有时会非常棘手。Windows 7 告诉我,我的 wifi 服务只有 1 格,但我每秒下载 1 MB 左右,或者我在浏览互联网时断线了,但仍然在浏览互联网。后来它说我已连接。软件错误?