uTorrent 导致 DNS 偶尔停止工作

And*_*rey 8 windows utorrent

使用 uTorrent 时,DNS 会定期停止响应。

该问题似乎与过多的带宽使用(从路由器到计算机的情况)无关,但可能与路由器提供的某种形式的洪水保护有关(到路由器的传入连接比 Windows 接受的要多)。

我如何让网络正常工作(当然仍然可以使用 uTorrent)?

kil*_*ist 14

bittorent 客户端积极地连接到对等点......一些路由器将此解释为同步泛滥。


打开连接

当 uTorrent 加载并暂停(未停止)上传/下载时,它会与您的同行保持开放连接。与此同时,大量互联网同行仍会尝试与您联系,以了解您是否拥有他们想要的信息。

最终,您将达到操作系统强加的开放连接限制(在 Windows 7 中,这是 10 个连接),来自新客户端的连接将开始在您的路由器上排队。

排队的客户端将积极检查以查看连接是否空闲。这种激进的轮询可能会被路由器解释为同步泛滥攻击。

解决方案

  • 将您的 bittorent 软件中的半开连接限制降低到低于您的操作系统强加的连接限制
  • 在您的路由器/调制解调器上禁用 IP 洪水保护。

带宽饱和

此外,由于 uTorrent(或任何批量流量)连接不受限制地运行,上传(和可能下载)管道达到完全使用,迫使一些“维护”流量退居次要位置,这最终会降低网络可用性。

下面是一个例子:

  1. 高速下载(洪流或其他)使下游链接饱和。
  2. 用户尝试浏览最近未访问的站点。计算机生成所需站点的 DNS 信息请求。向 DNS 服务器的请求“上传”成功(不会对上游管道访问提出质疑)。
  3. DNS 服务器响应(或尝试),但响应在尝试到达用户机器时被挂断,因为下载管道中充满了下载内容,并且由于必须丢弃某些内容,并且下载积极地保持速度, DNS 响应被丢弃(在到达本地路由器之前的某个时间点)。

如果上传不受限制,也会发生同样的事情。随着上传饱和,称为 TCP-ACK 的数据包(发送为“嘿,我成功获得数据包 xyz”类型的响应)被挂断,使下载停止,导致网络浏览变得非常不完整。

解决方案

  • 弄清楚您的连接的最大功能是什么(向上和向下,单独),并将批量传输客户端的最大速度设置为不超过该速度的 80%。这将为 DNS 和 TCP-ACK 数据包等内容留出“空间”,以绕过批量流量并快速处理。
  • 使用可以处理流量整形的路由器,这样某些流量(DNS、IMCP Ping、TCP-ACK)可以优先于其他形式的流量,而某些形式的流量(特别是洪流)可以被取消优先级。这是我首选的方法。这可以提供额外的好处,即当更高优先级的流量不挑战它时,允许完整的上下管道可用于 torrent 流量。
  • 使用 1 和 2 的某种组合来限制“行为不端”的流量。

如果对有关流量整形 Linux/BSD 发行版的更多信息感兴趣,MonoWallIPCop都有一些很好的信息。


Alo*_*dal 5

当我遇到这样的事情时,Wireshark是我最好的朋友。

但首先要意识到这三件事:

  • ping 正在运行的事实并不意味着 DNS(或任何其他服务)正在运行,反之亦然。

    那是因为 ping 在完全不同的网络模型级别上使用完全不同的协议(ICMP,而 DNS 使用 IP 以及 UDP 和 TCP 的组合)。任何在路上的东西,从你的个人防火墙到路由器的数量,再到运行服务的实际主机,都可能被配置为丢弃其中一个而不是另一个(无论是管理员的偏执还是某些失败案例),尽管它通常发生在 ICMP 上而不是其他人身上

  • 通常,明确是您的 (DNS) 请求还是丢失的回复也很好。

    好吧,您正在使用的特定程序应该让您清楚这一点,但作为一般规则,在 Wireshark GUI 中自己更容易看到它:)

  • 正如我所提到的,DNS 通常使用 UDP 作为传递请求和响应内容的方式。

    与它的兄弟 TCP 相比,UDP 的定义方式是根本不保证 数据包会被传送,并且路由器没有必要(也不能)做任何事情来让您知道失败。(这是对 UDP 的另一个特性的牺牲:它非常快。路由器不必保留有关发送者的任何信息或数据包的顺序,它们只是快速传递并忘记。它们甚至可以非常安全地为它们提供比TCP。)

通常我会做的第一件事是:

  1. 启动 Wireshark
  2. 单击捕获选项
  3. 对于捕获过滤器,设置host 1.2.3.4为确保您只捕获您和 1.2.3.4 之间的流量
  4. 开始捕捉
  5. 以这种方式启动后,请尝试您的命令

但是,根据您的上次更新:我不知道这个软件,但我肯定会怀疑 uTorrent 客户端。应用程序可能会发送过多的 UDP,例如在您的家用路由器上达到某个限制,并且它开始丢弃 UDP 数据包。