n2n速度测试之2023

由于 n2n v1 和 v2s 的直连成功率较低,速度也慢(主要是因为它们的加密算法速度慢;而不加密不安全不说,还容易受到干扰,然后速度会变慢),因此不再重视它们,这里主要测试 v2 和 v3,并与 zerotier、tinc 的速度进行对比(直连情况下)。

先说说我的测试环境和测试方法:我有一个小主机,CPU 是 J1800(双核处理器,最大睿频为2.58GHz),配有 8g 内存,256g ssd 固态硬盘,上面安装的是 ubuntu 18.04 x 64 系统,安装了 docker,又在 docker 里安装了 openwrt-19.07.8 系统,我的 n2n 就是放到这个 openwrt 系统里,我就是在这样两个不同的 openwrt 之间进行测试的。

测试方法是:一个 openwrt 系统下运行“iperf -s”启动测试服务器,另外一个 openwrt 系统下用“iperf -i 10 -t 50 -c ip”来测试其连接速度。其中的 ip 是指运行“iperf -s”的服务器的 ip,可以是 n2n ip,也可以是真实局域网上的 ip,还可以是 zerotier 的 ip,选择哪一个 ip 就能测试哪一种网络的速度。一次标准的测试结果信息如下(用 n2n_v3 测试的),最后一项的 Bandwidth 是平均值,也就是我们下面要对比的速度(带宽)。

/ # iperf -i 10 -t 50 -c 172.17.12.7
------------------------------------------------------------
Client connecting to 172.17.12.7, TCP port 5001
TCP window size: 99.0 KByte (default)
------------------------------------------------------------
[  3] local 172.17.12.8 port 55712 connected with 172.17.12.7 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   104 MBytes  87.0 Mbits/sec
[  3] 10.0-20.0 sec   105 MBytes  88.2 Mbits/sec
[  3] 20.0-30.0 sec   102 MBytes  85.8 Mbits/sec
[  3] 30.0-40.0 sec   104 MBytes  87.2 Mbits/sec
[  3] 40.0-50.0 sec   105 MBytes  88.0 Mbits/sec
[  3]  0.0-50.0 sec   520 MBytes  87.2 Mbits/sec
/ #

以下未注明程序的版本情况:

n2n_v2:n2n ntop v.2.8.0_r540(2.8-stable)
n2n_v3:n2n ntop v.3.1.1-1-g661858a
zerotier:v1.6.5 (openwrt 里面直接使用 opkg 安装上的)
tinc:v1.0.35(openwrt 里面直接使用 opkg 安装上的)

n2n 运行参数:edge3 -d A53 -a 172.17.12.7 -c A53 -k test -l x.x.x.x:10090 -Ef -A5 -e auto & # 其余类似

2023-2-17 15:00 局域网内,测试结果如下(直连状态下,只有我在活动状态时),v2、v3 的主程序 edge 都是在同等环境和参数下连续用 cmake 编译出来的;中心节点 x.x.x.x 的带宽只有 1 Mbits/sec。

[  3]  0.0-50.0 sec   572 MBytes    96 Mbits/sec #  100% # n2n_v3 (-A5 加密)
[  3]  0.0-50.0 sec   595 MBytes   100 Mbits/sec #  104% # n2n_v2 (-A5 加密)
[  3]  0.0-50.0 sec   488 MBytes    84 Mbits/sec #   88%  # zerotier (默认设置,有时只有 42 Mbits/sec)
[  3]  0.0-50.0 sec  55.2 GBytes  9.49 Gbits/sec # 9900% # lan (真实局域网IP)

2023-3-9 10:00 局域网内,v2 用 github.com/lucktu/cnn2n_new2 上的 v2 加强版,未明条件同上,下同

[  3]  0.0-50.0 sec   558 MBytes  93.5 Mbits/sec # 100% # n2n_v3(-A5)
[  3]  0.0-50.0 sec   627 MBytes   105 Mbits/sec # 112% # n2n_v2(-A5)
[  3]  0.0-50.0 sec   273 MBytes  45.7 Mbits/sec #  49% # zerotier(速度上不来,估计最大是 *2)
[  3]  0.0-50.3 sec   163 MBytes  27.2 Mbits/sec #  29% # tinc(转发?宿主机作两个 docker 的转发中心)
[  3]  0.0-50.0 sec  56.7 GBytes  9.75 Gbits/sec # 10428 # lan 的速度

2023-3-13 14:20 远程测试(群晖213J<--->J1800),群晖的 CPU 都到100%了(带宽刚好跑满)

[  3]  0.0-50.1 sec  68.5 MBytes  11.5 Mbits/sec  # v2s      #    45%
[  3]  0.0-50.2 sec  56.6 MBytes  9.46 Mbits/sec  # v1       #    37%
[  3]  0.0-50.1 sec   230 MBytes  38.5 Mbits/sec  # v2-A5  #  149% # v2 加强版
[  3]  0.0-50.0 sec   154 MBytes  25.8 Mbits/sec  # v3-A5  #  100% # 用 A3 是 32.1 Mbits/sec(124%)

2023-3-30 22:30 远程测试(i5-10400F<--->J1800),CPU 占用都很低,但网友(江湖一**)的共享网络带宽较低

[  1] 0.00-50.27 sec   133 MBytes  22.2 Mbits/sec  # v2s     #    97%
[  1] 0.00-50.52 sec  82.3 MBytes  13.7 Mbits/sec  # v1      #    60% # 多次尝试后才直连
[  1] 0.00-50.20 sec   150 MBytes  25.1 Mbits/sec  # v2-A5  #  109% # v2 加强版
[  1] 0.00-50.22 sec   138 MBytes  23.0 Mbits/sec  # v3-A5  #  100%
[  1] 0.00-50.14 sec   133 MBytes  22.3 Mbits/sec  # v3-A4  #   97%

2023-3-31 12:45-21:50 远程测试(ARM64开发板<--->J1800),CPU 占用都很低,网友(雪*兰)的网络是联通 5g
两边连接:PC— PPPoE路由器;手机联通5G— 手机热点WIFI 6— 笔记本电脑— 有线USB千兆网卡— ARM64开发板
后面他又改联通光纤,里面有PCDN(连接数稳定在1.5万以上),他还玩 BT,结果与 5g 的类似,此处略
由于(多次测试时)速度波动很大,最后 3 个的速度快慢无定论;以下是第一次的测量值
小结,在 CPU 是 arm 系列时:
1. v2 加强版的  MTU 大于 1337 时可以 ping 通,但一方速度为 0,另一方正常,建议调小(1330 / 1290)
2. v1、v2s 容易断,v2 加强版 和 v3 的稳定性都有所改善,但也有一定几率会断

[  3]  0.0-50.1 sec  24.4 MBytes  4.08 Mbits/sec  # v2s     #    51%
[  3]  0.0-50.1 sec  27.6 MBytes  4.63 Mbits/sec  # v1      #    58%
[  3]  0.0-50.0 sec  20.9 MBytes  3.50 Mbits/sec  # v2-A5  #   44% # v2 加强版,默认 MTU = 1386
[  3]  0.0-50.0 sec  47.6 MBytes  7.98 Mbits/sec  # v3-A5  #  100%
[  3]  0.0-50.0 sec  51.1 MBytes  8.58 Mbits/sec  # v3-A4  #  108%
[  3]  0.0-50.0 sec  53.8 MBytes  9.01 Mbits/sec  # v2-A5  #  113% # v2 加强版,再加参数 -M 1290

需要说明的是:

1、不同的编译结果,速度可能会有较大差异,例如我曾经编译的 v3,上面的测试速度只有最新编译的一半,而 QQ 群里的“白天不懂夜的黑”编译的也与我编译的结果不一样,但与我最新编译的速度相近。如果你自己不会编译,那么推荐直接用他编译的;自己会编译的话,也请对比以后再用速度最快的。
2、从上面的结果可以看出,真实局域网 ip 的速度是 n2n 速度的 100 倍(n2n、zerotier 之类的,由于使用的虚拟网卡,以及加密解密压缩以后,速度大打折扣也很“正常”)。
3、上面的所有测试过程中,CPU 的占用率都是接近了 100%(特别注明的除外),所以速度受限于 CPU 的性能。
4、它们之间都是直连,n2n的中心节点带宽只有 1 Mbits/sec

2023-6-13 到 2023-6-17 这几天,经过不断的测试(不同系统、环境之间),发现上面测试的 MTU(A5下,最大是1337)还与加密方式有关,我测得不同加密方式下的最大通用 MTU 为: A1-1354;A2-1345;A3-1329;A4-1337;A5-1337 (例如 ubuntu18 <--> docker 版 ubuntu 间就可以得到这样的完整数据。同样的方法,测得 v1-1294;v2s-1357;v3-1334),因此 建议 n2n_v2 的 MTU 取 1328,加密方式在 A5、A3 之间选择

=========================================================================================================================================

另外,我也测试了几种加密方式的速度,结果如下

2023.2.17 n2n_v3 的情况

[  3]  0.0-50.0 sec   652 MBytes   109 Mbits/sec # A1  114%
[  3]  0.0-50.0 sec   542 MBytes    91 Mbits/sec # A2   95%
[  3]  0.0-50.0 sec   553 MBytes    93 Mbits/sec # A3   97%(默认)
[  3]  0.0-50.0 sec   608 MBytes   102 Mbits/sec # A4  106%
[  3]  0.0-50.0 sec   572 MBytes    96 Mbits/sec # A5  100%

2023.3.9 n2n_v2 的情况(用 v2 加强版)

[  3]  0.0-50.0 sec   765 MBytes   128 Mbits/sec # A1 114%
[  3]  0.0-50.0 sec   521 MBytes  87.4 Mbits/sec # A2  78%(默认)
[  3]  0.0-50.1 sec   644 MBytes   108 Mbits/sec # A3  96%
[  3]  0.0-50.0 sec   673 MBytes   113 Mbits/sec # A4 101%(另一次是 103%)
[  3]  0.0-50.0 sec   669 MBytes   112 Mbits/sec # A5 100%

为了速度更快,建议 v3 采用 -A4 加密,v2 采用 -A5 (v2 的 chacha20 由于很难编译成功,只好弃用)


0%(0)

100%(3)
发表评论?

4 条评论。

  1. Welcome to n2n v2.8.2_r558_7e32ff0 for Linux
    Built on Aug 17 2023 22:00:40

    mt7621平台上

    /tmp/edge2 -u 0 -g 0 -d edgelll -a 10.0.0.2 -c test -l t1.lucktu.com:10086 -A2 -k test &
    ##rm2100_padavan

    /tmp/edge2 -u 0 -g 0 -d edge2 -a 10.0.0.4 -c test -l t1.lucktu.com:10086 -A2 -k test &
    ##r3g_OpenWrt

    密码 加密方式 上行 下行 CPU%
    无密码 无A 30.5M 21.2M 99%
    有密码 无A 18.9M 16.8M 99%
    无密码 -A1 33.6M 21.1M 99%
    有密码 -A2 18.7M 16.3M 99%
    有密码 -A3 22.0M 18.8M 99%
    有密码 -A4(不支持)
    有密码 -A5 18.6M 16.7M 99%

  2. 我移动和联通跨网,能达到6MB,其实主要看上传带宽

发表评论

*