Pen*_*100 7 vpn performance openvpn tcp
我对 OpenVPN 有一个非常奇怪的问题。
大多数 VPN 工作正常,除了这个。在这里,我从 TCP 连接获得的性能非常低,但 CPU 负载很低(因此,不是 CPU 问题)。
OpenVPN 配置了 UDP、AES-256-CBC 密码、SHA256 身份验证和无压缩。
以下是我使用 iperf 进行的一些测量:
没有 VPN 的网络连接:
iperf -c external.ip result:300 - 500mbps (good)
iperf -c vpn.int.ip result: 20-30mbps (not good)
Run Code Online (Sandbox Code Playgroud)
两端cpu使用率低。好的,也许某些 ISP 对 UDP 数据包进行了整形或过滤。
iperf -c external.ip -b 500M result: no packet loss
Run Code Online (Sandbox Code Playgroud)
嗯...如果我通过 VPN 强制 UDP 流怎么办
iperf -c vpn.int.ip -b 100M result: no packet loss
iperf -c vpn.int.ip -b 180M result: packet loss ~0.1%
Run Code Online (Sandbox Code Playgroud)
因此,根据 UDP 的结果,我的 VPN 连接应该达到 180mbps,但事实并非如此。我也用 tcptrace 得到了非常奇怪的图表。
好的测试是这样进行的(没有 VPN,使用外部 IP):
如您所见,发送的数据包停留在黄线附近,这意味着接收窗口几乎已满。图表的这一部分靠近连接的起点,稍后,发送的数据包实际上位于黄线的顶部。
这个图表是我从 VPN 得到的:
现在出于某种原因,发送方的行为好像窗口非常小,即使它很大(我将窗口设置为什么无关紧要,尝试保持默认设置和 4MB)并且仅以小突发发送数据包。
这是我第一次看到这样的图表?是什么原因造成的?ISP 的某些 UDP 过滤、OpenVPN 本身,还有其他什么?
编辑:使用 TCP 而不是 UDP 运行 VPN 会导致 10mbps 的吞吐量。
归档时间: |
|
查看次数: |
12278 次 |
最近记录: |