V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Jermin
V2EX  ›  问与答

奇怪的 WAN 到 LAN TCP 吞吐问题

  •  
  •   Jermin · 2015-03-07 00:09:13 +08:00 · 2633 次点击
    这是一个创建于 3575 天前的主题,其中的信息可能已经有所发展或是发生改变。

    路由:Buffalo WZR-HP-AG300H
    固件:OpenWRT CHAOS CALMER (Bleeding Edge, r44541)

    我在linode达拉斯的一台主机上搭了ss,但是发现看油管360p都卡(用windows客户端)。客服让我做iperf测试。我先在路由器上(当时还在运行12.09)做了测试,结果如下:

    root@OpenWrt:~# iperf -c xxx.xxx.xxx.xxx

    Client connecting to xxx.xxx.xxx.xxx, TCP port 5001

    TCP window size: 43.8 KByte (default)

    [ 3] local yyy.yyy.yyy.yyy port 38902 connected with xxx.xxx.xxx.xxx port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.2 sec 16.1 MBytes 13.3 Mbits/sec

    可以看到iperf跑满了带宽。

    然后我在LAN上的一台PC(运行win 7)上也做了测试,得到如下结果:

    E:\Program Files (x86)\iperf>iperf -c xxx.xxx.xxx.xxx

    Client connecting to xxx.xxx.xxx.xxx, TCP port 5001

    TCP window size: 63.0 KByte (default)

    [ 3] local 192.168.1.2 port 1610 connected with xxx.xxx.xxx.xxx port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.7 sec 3.38 MBytes 2.65 Mbits/sec

    可以看到只跑满了1/5的带宽。

    然后我在LAN上的另一台电脑(运行XP)和我的手机(运行Android)上做了同样的测试,也是只跑到1/5的带宽。

    然后我又在路由器,两台PC和手机上测试了到linode主机的udp连接,均能跑满带宽。可见问题出在TCP连接上。这也能解释为什么我用openvpn看1080P一点也不卡。

    然后我在openwrt上建了一个iperf服务器,在局域网的机器上做了测试。两台PC都能跑到200多Mbps。

    然后我升级了openwrt到最新版,问题依旧。

    我本以为是openwrt的问题,但是刚才我在国内的另一台主机上也建了一个iperf服务器。分别在路由器,两台PC上做TCP连接测试,结果都能跑满带宽。

    那为什么在用国外主机做服务器时会出现路由器和LAN上设备TCP传输速度不一致的问题呢?

    3 条回复    2015-03-07 01:59:48 +08:00
    ryd994
        1
    ryd994  
       2015-03-07 00:31:24 +08:00 via Android
    openwrt nat性能差这也算著名了
    xierch
        2
    xierch  
       2015-03-07 01:31:16 +08:00
    OpenWrt 没装什么 QoS 脚本吧
    Jermin
        3
    Jermin  
    OP
       2015-03-07 01:59:48 +08:00
    @ryd994 我一开始也是以为是NAT速度太慢。可是我后来在国内的主机上建了个iperf服务器,在我的电脑上测试可以满速。
    @xierch 没有装过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3415 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:05 · PVG 08:05 · LAX 16:05 · JFK 19:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.