mirror of
https://github.com/wangyu-/UDPspeeder.git
synced 2025-01-18 22:09:35 +08:00
Merge branch 'master' of https://github.com/wangyu-/UDPspeeder
This commit is contained in:
commit
0e1b86b237
23
README.md
23
README.md
@ -80,7 +80,7 @@ To run stably,pay attention to MTU.
|
||||
### Full Options
|
||||
```
|
||||
UDPspeeder V2
|
||||
git version:f479ca2779 build date:Oct 19 2017 01:37:08
|
||||
git version:8e7a8aed92 build date:Oct 25 2017 02:00:54
|
||||
repository: https://github.com/wangyu-/UDPspeeder
|
||||
|
||||
usage:
|
||||
@ -91,13 +91,13 @@ common option,must be same on both sides:
|
||||
-k,--key <string> key for simple xor encryption. if not set,xor is disabled
|
||||
main options:
|
||||
-f,--fec x:y forward error correction,send y redundant packets for every x packets
|
||||
--timeout <number> how long could a packet be held in queue before doing fec,unit: ms
|
||||
--mode <number> fec-mode,available values: 0,1 ; 0 cost less bandwidth,1 cost less latency
|
||||
--timeout <number> how long could a packet be held in queue before doing fec,unit: ms,default :8ms
|
||||
--mode <number> fec-mode,available values: 0,1 ; 0 cost less bandwidth,1 cost less latency(default)
|
||||
--report <number> turn on send/recv report,and set a period for reporting,unit:s
|
||||
advanced options:
|
||||
--mtu <number> mtu. for mode 0,the program will split packet to segment smaller than mtu_value.
|
||||
for mode 1,no packet will be split,the program just check if the mtu is exceed.
|
||||
default value:1250
|
||||
default value:1250
|
||||
-j,--jitter <number> simulated jitter.randomly delay first packet for 0~<number> ms,default value:0.
|
||||
do not use if you dont know what it means.
|
||||
-i,--interval <number> scatter each fec group to a interval of <number> ms,to protect burst packet loss.
|
||||
@ -105,6 +105,9 @@ advanced options:
|
||||
--random-drop <number> simulate packet loss ,unit:0.01%. default value: 0
|
||||
--disable-obscure <number> disable obscure,to save a bit bandwidth and cpu
|
||||
developer options:
|
||||
--fifo <string> use a fifo(named pipe) for sending commands to the running program,so that you
|
||||
can change fec encode parameters dynamically,check readme.md in repository for
|
||||
supported commands.
|
||||
-j ,--jitter jmin:jmax similiar to -j above,but create jitter randomly between jmin and jmax
|
||||
-i,--interval imin:imax similiar to -i above,but scatter randomly between imin and imax
|
||||
-q,--queue-len <number> max fec queue len,only for mode 0
|
||||
@ -114,11 +117,21 @@ developer options:
|
||||
--disable-fec <number> completely disable fec,turn the program into a normal udp tunnel
|
||||
--sock-buf <number> buf size for socket,>=10 and <=10240,unit:kbyte,default:1024
|
||||
log and help options:
|
||||
--log-level <number> 0:never 1:fatal 2:error 3:warn
|
||||
--log-level <number> 0:never 1:fatal 2:error 3:warn
|
||||
4:info (default) 5:debug 6:trace
|
||||
--log-position enable file name,function name,line number in log
|
||||
--disable-color disable log color
|
||||
-h,--help print this help message
|
||||
|
||||
```
|
||||
#### `--fifo` option
|
||||
Use a fifo(named pipe) for sending commands to the running program. For example `--fifo fifo.file`,you can use following commands to change parameters dynamically:
|
||||
```
|
||||
echo fec 19:9 >fifo.file
|
||||
echo mtu 1100 >fifo.file
|
||||
echo timeout 5 >fifo.file
|
||||
echo queue-len 100 >fifo.file
|
||||
echo mode 0 >fifo.file
|
||||
```
|
||||
### Speed-Up any traffic with OpenVPN+UDPspeeder
|
||||
|
||||
|
@ -80,7 +80,7 @@ https://github.com/wangyu-/UDPspeeder/releases
|
||||
### 命令选项
|
||||
```
|
||||
UDPspeeder V2
|
||||
git version:99f6099e86 build date:Oct 19 2017 13:35:38
|
||||
git version:8e7a8aed92 build date:Oct 25 2017 02:00:54
|
||||
repository: https://github.com/wangyu-/UDPspeeder
|
||||
|
||||
usage:
|
||||
@ -105,6 +105,9 @@ advanced options:
|
||||
--random-drop <number> simulate packet loss ,unit:0.01%. default value: 0
|
||||
--disable-obscure <number> disable obscure,to save a bit bandwidth and cpu
|
||||
developer options:
|
||||
--fifo <string> use a fifo(named pipe) for sending commands to the running program,so that you
|
||||
can change fec encode parameters dynamically,check readme.md in repository for
|
||||
supported commands.
|
||||
-j ,--jitter jmin:jmax similiar to -j above,but create jitter randomly between jmin and jmax
|
||||
-i,--interval imin:imax similiar to -i above,but scatter randomly between imin and imax
|
||||
-q,--queue-len <number> max fec queue len,only for mode 0
|
||||
@ -158,6 +161,16 @@ UDPspeeder默认情况下会对每个发出的数据包随机填充和异或一
|
||||
|
||||
##### `-q,--queue-len`
|
||||
编码器在做FEC前最多积攒多少个数据包,只对mode 0有效。除非是使用下文`V2版如何多倍发包`里面提到的用法,不建议改动。
|
||||
#### `--fifo` option
|
||||
用fifo(命名管道)向运行中的程序发送command. 例如`--fifo fifo.file`,可用的command有:
|
||||
```
|
||||
echo fec 19:9 >fifo.file
|
||||
echo mtu 1100 >fifo.file
|
||||
echo timeout 5 >fifo.file
|
||||
echo queue-len 100 >fifo.file
|
||||
echo mode 0 >fifo.file
|
||||
```
|
||||
可以动态改变fec编码器参数。
|
||||
|
||||
# 使用经验
|
||||
|
||||
@ -202,6 +215,10 @@ FEC算法很吃CPU,初次使用建议关注UDPspeeder的CPU占用。如果CPU被
|
||||
|
||||
另外,fec分组大小不宜过大,否则不但很耗CPU,还有其他副作用,建议x+y<50。
|
||||
|
||||
### 改变FEC参数而不断线
|
||||
|
||||
`--fifo`选项可以在运行时无缝改变FEC参数,无需重启程序,也不会断线。
|
||||
|
||||
### 为什么使用之后效果反而变差了?
|
||||
|
||||
有可能是你用了mode 0参数,而又没调好参数。
|
||||
@ -221,7 +238,7 @@ UDPspeeder和Kcptun配合,UDPspeeder和Kcptun可以并联也可以串联。
|
||||
|
||||
并联的情况下,让kcptun负责加速TCP,UDPspeeder负责加速UDP。见下文的`UDPspeeder + kcptun + $*** 同时加速tcp和udp流量`。
|
||||
|
||||
串联的情况。UDPspeeder的FEC跟Kcptun自带的相比:可以对两个方向设置不通的FEC参数、有一个更省流量的mode 0模式、可以调整的FEC参数多一些;但是UDPspeeder本身不优化拥塞和重传算法。所以UDPspeeder和Kcptun也可以配合使用,结合两者的优点。
|
||||
串联的情况。UDPspeeder的FEC跟Kcptun自带的相比:可以对两个方向设置不同的FEC参数、有一个更省流量的mode 0模式、可以动态改变FEC参数;但是UDPspeeder本身不优化拥塞和重传算法。所以UDPspeeder和Kcptun也可以配合使用,结合两者的优点。
|
||||
|
||||
串联时可以关掉Kcptun的FEC,让UDPspeeder接管FEC功能。这样UDPspeeder工作在UDP层负责降低丢包率,Kcptun工作在应用层用kcp算法负责优化拥塞和重传,能起到和`UDPspeeder+BBR/锐速`类似的效果。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user