为什么某些 TCP 连接非常慢,除了在路由器上运行数据包捕获时?

为什么某些 TCP 连接非常慢,除了在路由器上运行数据包捕获时?

我的 MikroTik RouterBOARD hEX - RB750Gr3(运行路由器操作系统 7.8)遇到了一个奇怪的问题。

某些 TCP 连接非常慢,例如这个 93 KB 的文件需要很长时间才能从路由器 LAN 中的客户端下载:

curl https://gewerbeauskunft.bremen.de/navigaweb/res/themes/System_09.12.06/js/jquery-1.11.3.min.js > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 95957    0 95957    0     0   1998      0 --:--:--  0:00:48 --:--:--  1279

耗时48秒!

该问题可重现,且也会发生在同一 LAN 上的其他客户端上。

但是,在路由器本身上获取文件很快:

[admin@MikroTik] > /tool/fetch url="https://gewerbeauskunft.bremen.de/navigaweb/res/themes/System_09.12.06/js/jquery-1.11.3.min.js"
      status: finished
  downloaded: 93KiB-z pause]
       total: 0KiB
    duration: 1s

所以我想看看发生了什么,并开始在路由器上捕获数据包:

[admin@MikroTik] /tool/sniffer> set filter-dst-ip-address="141.91.174.108"
[admin@MikroTik] /tool/sniffer> start

然后在我的一个客户端上再次运行上面的 curl 命令:

curl https://gewerbeauskunft.bremen.de/navigaweb/res/themes/System_09.12.06/js/jquery-1.11.3.min.js > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 95957    0 95957    0     0   444k      0 --:--:-- --:--:-- --:--:--  457k

令我惊讶的是,它立即就完成了。停止数据包捕获后,它又变慢了。我多次重现了这种情况,以确保这不是巧合。

这里发生了什么?

答案1

可能是由 MikroTik 的 Fasttrack 功能引起的。尝试禁用 中的任何 Fasttrack 规则/ip/firewall

相关内容