Gost隧道性能测试(协议速度横向对比)

背景

一直有个疑问,Gost隧道的哪个协议的速度最快,延迟最低。今天群里的朋友讨论到协议的选择,当然每个人都有不同的看法。不过没有定论,经过在线查询也找不到测试的文章,所以这次做一个吃力不讨好的工作,做为日后协议选择参考。

Gost是什么,见官方文档:https://v2.gost.run

本次测试主要测试极速,不测试延迟。使用的测试软件为iperf3。

测试的协议包含常用加密和不加密协议,包含是否带relay,共需测12次:

  • [ws, wss, tls] + [relay]
  • [mws, mwss, mtls] + [relay]

为了让结果更具参考性,所以加上一个不采用gost中转的基准测试,和采用gost中转的tcp协议模式。

测试结果汇总表:

此处内容需要 回复 后才能查看

测试过程

基准测试:

测试Iperf本地裸连速度

在本地debian服务器上开启一个iperf3服务[窗口1]:

root@debianbt:~# iperf3 -s -p 8888
-----------------------------------------------------------
Server listening on 8888
-----------------------------------------------------------

另开一个窗口[窗口2]运行数据传输命令:

root@debianbt:~# iperf3 -c 127.0.0.1 -p 8888 -t 3
Connecting to host 127.0.0.1, port 8888
[ 5] local 127.0.0.1 port 45934 connected to 127.0.0.1 port 8888
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 2.88 GBytes 24.7 Gbits/sec 0 2.50 MBytes 
[ 5] 1.00-2.00 sec 2.88 GBytes 24.8 Gbits/sec 0 2.50 MBytes 
[ 5] 2.00-3.00 sec 2.92 GBytes 25.1 Gbits/sec 0 2.50 MBytes 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-3.00 sec 8.68 GBytes 24.9 Gbits/sec 0 sender
[ 5] 0.00-3.04 sec 8.67 GBytes 24.5 Gbits/sec receiver                 receiver

得到`iperf3裸连传输速度为25G`。

 

测试iperf3经gost tcp协议直接中转后速度

再开一个窗口[窗口3],输入命令:

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888"
2022/04/21 20:27:03 route.go:679: tcp://:1000 on [::]:1000

在[窗口2]中通过gost中转测速:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54386 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.39 GBytes  11.9 Gbits/sec    0   2.50 MBytes       
[  5]   1.00-2.00   sec  1.39 GBytes  11.9 Gbits/sec    0   2.50 MBytes       
[  5]   2.00-3.00   sec  1.45 GBytes  12.5 Gbits/sec    0   2.50 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec  4.22 GBytes  12.1 Gbits/sec    0             sender
[  5]   0.00-3.04   sec  4.22 GBytes  11.9 Gbits/sec                  receiver

得到`通过gost直接tcp中转速度为12G`【分析原因为本地测速,所以速度约为极速一半】

 

测试ws, wss, tls协议

测试ws协议

新开一个[窗口4]模拟落地机,输入命令:

root@debianbt:~# ./gost -L "ws://:2000"
2022/04/21 20:36:11 route.go:679: ws://:2000 on [::]:2000

用[窗口3]模拟中转机,命令修改为:

 

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "ws://127.0.0.1:2000"
2022/04/21 20:39:32 route.go:679: tcp://:1000 on [::]:10000

在[窗口2]中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54458 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   170 MBytes  1.42 Gbits/sec    0   1.25 MBytes       
[  5]   1.00-2.00   sec   165 MBytes  1.38 Gbits/sec    0   1.25 MBytes       
[  5]   2.00-3.00   sec   164 MBytes  1.37 Gbits/sec    0   1.25 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   498 MBytes  1.39 Gbits/sec    0             sender
[  5]   0.00-3.05   sec   487 MBytes  1.34 Gbits/sec                  receiver

得到的测速结果`ws协议中转速度1.35G`

测试wss协议

修改[窗口4]命令为:

./gost -L "wss://:2000?cert=isir.crt&key=isir.key"
2022/04/21 20:47:42 route.go:679: wss://:2000 on [::]:2000

修改[窗口3]命令为:

 

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "wss://127.0.0.1:2000"
2022/04/21 20:44:12 route.go:679: tcp://:1000 on [::]:1000

在窗口2中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54474 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   140 MBytes  1.17 Gbits/sec    0   2.50 MBytes       
[  5]   1.00-2.00   sec   135 MBytes  1.13 Gbits/sec    0   2.50 MBytes       
[  5]   2.00-3.00   sec   129 MBytes  1.08 Gbits/sec    1   2.50 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   403 MBytes  1.13 Gbits/sec    1             sender
[  5]   0.00-3.05   sec   392 MBytes  1.08 Gbits/sec                  receiver

得到测速结果`wss协议中转速度1.1G`

测试tls协议

修改[窗口4]命令为:

root@debianbt:~# ./gost -L "tls://:2000?cert=isir.crt&key=isir.key"
2022/04/21 20:48:40 route.go:679: tls://:2000 on [::]:2000

修改[窗口3]命令为:

 

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "tls://127.0.0.1:2000"
2022/04/21 20:48:46 route.go:679: tcp://:1000 on [::]:1000

在窗口2中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54498 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   289 MBytes  2.42 Gbits/sec    0   1.50 MBytes       
[  5]   1.00-2.00   sec   255 MBytes  2.14 Gbits/sec    0   1.50 MBytes       
[  5]   2.00-3.00   sec   266 MBytes  2.23 Gbits/sec    0   1.50 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   809 MBytes  2.26 Gbits/sec    0             sender
[  5]   0.00-3.05   sec   798 MBytes  2.20 Gbits/sec                  receiver

得到测速结果`tls协议中转速度2.23G`

 

 

测试[ws, wss, tls] + [relay]协议

测试relay+ws协议

修改[窗口4]命令为:

root@debianbt:~# ./gost -L "relay+ws://:2000"
2022/04/21 20:50:07 route.go:679: relay+ws://:2000 on [::]:2000

修改[窗口3]命令为:

 

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "relay+ws://127.0.0.1:2000"
2022/04/21 20:50:28 route.go:679: tcp://:1000 on [::]:1000

在窗口2中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54510 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   169 MBytes  1.42 Gbits/sec    0   1.25 MBytes       
[  5]   1.00-2.00   sec   160 MBytes  1.34 Gbits/sec    0   1.25 MBytes       
[  5]   2.00-3.00   sec   165 MBytes  1.38 Gbits/sec    0   1.25 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   494 MBytes  1.38 Gbits/sec    0             sender
[  5]   0.00-3.04   sec   482 MBytes  1.33 Gbits/sec                  receiver

得到测速结果`relay+ws协议中转速度1.35G`

测试relay+wss协议

修改[窗口4]命令为:

root@debianbt:~# ./gost -L "relay+wss://:2000?cert=isir.crt&key=isir.key"
2022/04/21 20:53:05 route.go:679: relay+wss://:2000 on [::]:2000

修改[窗口3]命令为:

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "relay+wss://127.0.0.1:2000"
2022/04/21 20:53:32 route.go:679: tcp://:1000 on [::]:1000

在窗口2中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54522 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   137 MBytes  1.15 Gbits/sec    0   1.31 MBytes       
[  5]   1.00-2.00   sec   134 MBytes  1.12 Gbits/sec    0   1.31 MBytes       
[  5]   2.00-3.00   sec   132 MBytes  1.11 Gbits/sec    0   1.31 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   403 MBytes  1.13 Gbits/sec    0             sender
[  5]   0.00-3.05   sec   393 MBytes  1.08 Gbits/sec                  receiver

得到测速结果`relay+wss协议中转速度1.1G`

 

测试relay+tls协议

修改[窗口4]命令为:

root@debianbt:~# ./gost -L "relay+tls://:2000?cert=isir.crt&key=isir.key"
2022/04/21 20:54:42 route.go:679: relay+tls://:2000 on [::]:2000

修改[窗口3]命令为:

 

root@debianbt:~# ./gost -L "tcp://:1000/127.0.0.1:8888" -F "relay+tls://127.0.0.1:2000"
2022/04/21 20:54:49 route.go:679: tcp://:1000 on [::]:1000

在窗口2中运行测速命令:

 

root@debianbt:~# iperf3 -c 127.0.0.1 -p 1000 -t 3
Connecting to host 127.0.0.1, port 1000
[  5] local 127.0.0.1 port 54534 connected to 127.0.0.1 port 1000
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   190 MBytes  1.59 Gbits/sec    0   1.44 MBytes       
[  5]   1.00-2.00   sec   185 MBytes  1.55 Gbits/sec    0   1.44 MBytes       
[  5]   2.00-3.00   sec   186 MBytes  1.56 Gbits/sec    0   1.44 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-3.00   sec   561 MBytes  1.57 Gbits/sec    0             sender
[  5]   0.00-3.06   sec   557 MBytes  1.53 Gbits/sec                  receiver

得到测速结果`relay+tls协议中转速度1.55G`

 

测试mws, mwss, mtls协议

同样方式测速:

得到测速结果`mws协议中转速度1.43G`

得到测速结果`mwss协议中转速度1.1G`

得到测速结果`mtls协议中转速度1.41G`

测试[mws, mwss, mtls] + [relay]协议

同样方式测速:

得到测速结果`relay+mws协议中转速度1.39G`

得到测速结果`relay+mwss协议中转速度1.1G`

得到测速结果`relay+mtls协议中转速度1.34G`

 

 

THE END
分享
二维码
海报
Gost隧道性能测试(协议速度横向对比)
背景 一直有个疑问,Gost隧道的哪个协议的速度最快,延迟最低。今天群里的朋友讨论到协议的选择,当然每个人都有不同的看法。不过没有定论,经过在线查询也找……
<<上一篇
下一篇>>