首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在局域网内设备上很高的tcp重传速率

在局域网内设备上很高的tcp重传速率
EN

Server Fault用户
提问于 2018-07-15 16:46:38
回答 1查看 2.6K关注 0票数 1

作为一名开发人员,我经常使用Linux系统,并且拥有中等水平的网络知识,但以下情况确实是一个令人费解的谜团:

我正在linux主机上的kvm虚拟机上运行pfSense 2.4.3 (这是当前的)。我打算将它用于我的因特网路由、NAT和防火墙。VM有一个基于宏点的接口,它基本上可以通过调制解调器的以太网连接到的主机上的物理接口直接访问我的电缆调制解调器。它有另一个虚拟接口,它是linux主机上网络桥的成员,用于在Linux主机本身和局域网上的其他设备上提供Internet连接的LAN端。LAN网络为192.168.123.0/24;pfSense的LAN地址静态分配给192.168.123.2。

这一设置在前四、五天似乎运行良好,但随后我注意到局域网上的机器对于发送给Internet的TCP流量来说,无论是上传还是下载,吞吐量都很低:大约1 1mbps。数据包捕获显示TCP重传率在16%左右。

我观察到了以下额外的事情:

  • 局域网上的所有机器都能相互通信,没有明显的问题。特别是,如果我将托管在pfSense实例上的文件传输到局域网上的机器上,则传输进行得很快(200+ mbps),数据包捕获显示在77k数据包中重传1次。
  • 当在pfSense实例上运行例如curl或wget时,TCP对互联网的吞吐量以我的互联网连接的额定速度运行,大约60 mbps。我已经复制了好几次了。
  • 无论使用NATted、IPv4还是IPv6,性能都很差。
  • 在连接Linux主机/ pfSense桥的端口上,我的交换机报告的接收错误率约为1.2 %。我没有看到在任何主机上出现高丢失或错误的以太网帧统计数据。
  • 局域网上的pfSense和机器捕获的数据包显示,当数据包被重新传输时,接收到了具有相同序列号的早期数据包,并且在一些不同的情况下,包含相同的TCP段有效负载,似乎表明没有必要重传?

然后,我还注意到pfSense的Linux主机完全失去了打开出站TCP连接的能力,但是:

  • 它仍然可以在互联网上解决一些问题。
  • pfSense防火墙日志显示,我的出站连接尝试没有被错误的规则阻止。
  • 显然完美无缺的局域网连接包括用于pfSense VM的Linux主机和pfSense VM - Linux之间的连接,可以打开TCP会话到其默认的192.168.123.2网关,并快速地从它之间传输东西。
  • pfSense对其广域网接口的数据包捕获显示,当Linux主机试图按预期的方式进行出站连接时,TCP数据包将被发送到macvtap接口。他们从来没有被承认。

线索?我可以尝试的东西?都是猜测?

EN

回答 1

Server Fault用户

发布于 2018-08-11 21:11:21

我将这两个问题都归因于计算错误的TCP段校验和。对于来自运行pfSense VM的Linux主机的通信量,它们总是被错误地计算出来,而对于其他通信量则会间歇性地被错误地计算。

这似乎是因为pfSense默认不计算这些校验和,而是将其卸载到网络驱动程序/硬件中。您可以在软件中设置pfSense来计算它们: System / Advanced / Networking,禁用硬件校验和卸载

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/922016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档