Skip to content

FRP TCP丢包/重传严重 #5224

@chongchong721

Description

@chongchong721

Bug Description

有一台同城的阿里云服务器A和一台内网机器B

A-B间网络情况良好

  • A/B之间的ping RTT是8ms,互相的MTR也是8ms,都没有丢包。
  • 使用tcp nc测试正常。
  • 直接使用ssh从B链接A延迟正常
  • 先从B ssh到 A使用反向端口转发22,再从A ssh回 B 延迟正常

A/B分别用frp官方的docker做了内网穿透。所有设置均为默认

现在 通过frp的端口 在A上ssh B(127.0.0.1:frp端口)。 同时使用
ss -ti '( sport = :7000 or dport = :7000 or sport = :22022 or dport = :22022 )'
观察 服务器A 7000端口的情况:

  • 链路基线 RTT(ss minrtt):7 ms
  • 该异常 TCP 流实时 RTT:平均 347 ms,波动 541 ms
  • TCP 重传超时(RTO):3012 ms
  • 拥塞窗口(cwnd):2
  • 重传字节数:40005 / 79884,约 50.1%

tcpdump也显示重传严重。

不知道这是阿里云的问题还是frp的问题?

已经尝试过QUIC和禁用tcpmux,没有效果

frpc Version

0.67

frps Version

0.67

System Architecture

linux/amd64

Configurations

frpc:

serverAddr = "xxxxxx"
serverPort = 7000

auth.method = "token"
auth.token = "123456"

transport.tcpMux = false

[[proxies]]
name = "ubuntu-ssh-tcp-test"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 22022

frps:

bindPort = 7000

auth.method = "token"
auth.token = "123456"

transport.tcpMux = false

Logs

No response

Steps to reproduce

...

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions