开KCP加速的,微信视频流量消耗会加倍消耗吗

kcptun 据说可以比肩 Finalspeed?作为连接服务器传输数据的加速软件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
探索世界的好奇心万岁
Sponsored by
咨询微信:twosecurityrefer
Promoted by
kcptun 据说可以比肩 Finalspeed?作为连接服务器传输数据的加速软件?
19:12:51 +08:00 · 17623 次点击
kcptun 是 kcp 协议的一个简单应用,可以用于任意 tcp 网络程序的传输承载,以提高网络流畅度,降低掉线情况。
12 回复 &| &直到
01:02:03 +08:00
& & 10:46:42 +08:00
额 怎么没人探讨这个问题。。。
& & 11:21:04 +08:00
我测试过,速度没 fs 快,可能是 sndwnd,rcvwnd 参数还要优化, vps 是 BWG , 100M 电信, fs 能上 32Mbps, kcp 只能在 12Mbps 左右
& & 22:07:06 +08:00
上海电信 200M 带宽测试,有效带宽 21%
如果有较多人使用这种程序,出国链路速度会变得越来越可怕
& & 11:56:53 +08:00
有效载比的参数可以调整的,可以试试-mode default 或 fast 模式,或者关闭 fec
& & 16:21:00 +08:00
@ 换成 default 后,有效负载比大大增加了,最多可以达到 60% 左右,一般有 40%,比原来好多了
& & 20:34:21 +08:00
@ 载比和速度是一对矛盾,载比高,意味着需要等待更久,让延迟的数据包到达。
载比低,意味着可能误判数据包丢失,导致数据包重复发送了。
& & 20:43:05 +08:00
@ 这些都可以通过观察 SNMP 的输出来调整, kill -SIGUSR1 pid 可以打印详细情况。
BytesSent:
BytesReceived: 9022988 MaxConn: 8 ActiveOpens: 0 PassiveOpens: 23 CurrEstab: 3 InErrs: 0 InCsumErrors: 7361 InSegs: 141681 OutSegs: 1051412 OutBytes:
RetransSegs: 669591 FastRetransSegs: 442516 EarlyRetransSegs: 145268 LostSegs: 81807 RepeatSegs: 87 FECRecovered: 942 FECErrs: 0 FECSegs: 32499
例如上面这段, RepeatSegs 表示收到的重复数据, InSegs/RepeatSegs ,表示 incoming 数据包的重复率
RetransSegs /
可以得出 outcoming 数据包的重复率。可以看出,当前链路丢包导致的重复率较高。
& & 20:51:49 +08:00
kcptun 设计上已经非常良心了。
1. 有超时退让, RTO ,网路不好的时候,会退让,有基本的利他机制。
2. 不伪造数据包类型,不用 raw socket/pcap 可以在非 root 运行,正常的协议栈流动。
3. 窗口大小默认设置保守。
& & 16:56:14 +08:00
所以说,理论上 kcp 无论如何改进优化,在绝对速度上是不可能好于
FS 的,因为 FS 足够流氓,足够暴力。
是不是可以这样理解?
& & 16:24:06 +08:00
@ 不能这么理解,各有优劣, TCP 信道质量好,丢包低,但简单的 RST 包就能让路由器断掉这个连接(conntrack)。
UDP 信道质量低,但无状态,抗干扰性能较好。
& & 15:11:37 +08:00
@ 希望增加 armv8 (rspi 3) 的預編譯二進制文件
& &254 天前
不怎么会用,感觉和没加速没区别,是我没配置正确?
& · & 2051 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 57ms · UTC 11:11 · PVG 19:11 · LAX 03:11 · JFK 06:11? Do have faith in what you're doing.16254人阅读
开篇说明:本篇文章是结合网络多篇文章综合出来的结果,主要参考了《厘米天空》,《扩软博客》,《k162》,以及简书的一篇文章;
所以综合以上几位的博客内容写出本篇文章,目的是让更多的人都能实验成功;
正文开始:
本篇文章服务端搬瓦工VPS Centos6.6 32位;客户端windows7 64位;
之前好多人都是在用FS(FinalSpeed)做udp加速,但是现在作者已经停止维护,并推出了收费版的Xsocks(),当然之前用过FS的都知道效果很不错,所以如果经济能力允许的话就支持下收费的项目吧;
当然本篇文章是用kcptun替代FS;
Kcptun是一个非常简单和快速的,基于KCP协议的UDP隧道,它可以将TCP流转换为KCP+UDP流。而KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。
Kcptun是KCP协议的一个简单应用,可以用于任意TCP网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于Kcptun使用Go语言编写,内存占用低(经测试,在64M内存服务器上稳定运行),而且适用于所有平台,甚至Arm平台。
其实总结来说,个人觉得就通过UDP的方式来实现访问看视频的加速,原来是使用TCP访问,需要进行双方确认,所以访问的速度变快了,流量也用的多了;补充下TCP和UDP的区别(个人理解),大家都知道TCP的三次握手,在建立TCP连接时,保障传输安全要先进行三次的握手(三次握手白话来说就是:A问B:在吗,B回答:在有事么,A问B:我可以和你唠嗑么,B收到回复A:可以唠吧,然后A对B进行唠嗑了……),UDP协议则是不需要问在不在,直接就开唠,这样相信大家就能理解了。
Kcptun下载地址: 截至本篇文章发稿时作者的最后一次更新时间
注:我这里用的是centos6 32位的版本,所以我下载的是kcptun-linux-386-.tar.gz(服务端的版本是32的就下32的,64就下64的),我的客户端(就是我现在上网的电脑)是windows7 64位的版本,所以我下载的是kcptun-windows-amd64-.tar.gz,根据你当前的客户端下载,当然你64位的客户端下载32位的版本也可以,反之不可以;
Kcptun客户端配置:
用Xshell或者Putty登陆服务器,下载Kcptun:
mkdir /root/kcptun
cd /root/kcptun
wget https:///xtaci/kcptun/releases/download/v/kcptun-linux-386-.tar.gz
tar -zxvf kcptun-linux-386-.tar.gz
注意:我这里下载的是kcptun-linux-386-.tar.gz,根据你当前的版本选择!
创建启动服务:
vi /root/kcptun/start-kcptun.sh
按i粘贴以下内容:
!/bin/bash
cd /root/kcptun/
./server_linux_386 -l :2006 -t 23.83.229.171:7777 -key test -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2 & kcptun.log 2&&1 &
echo "Kcptun started"
按ESC,输入:x 即可
我这里是server_linux_386,根据你的情况更改;
23.83.229.171是你的VPS的IP,我这里没有写127.0.0.1,因为我发现写127.0.0.1部分的VPS不好使,导致后续失败,这里直接写你自己服务器的IP地址;
监听端口为2006,这个数字是你自己起的,7777为你当然的ss端口(也就是你之前ss连接的端口号),key为你的验证密钥,这里为test,可以自己写,其他参数不做介绍;
创建关闭服务:
vi /root/kcptun/stop-kcptun.sh
按i粘贴以下内容:
killall server_linux_386
echo "Kcptun stoped"
按ESC,输入:x 即可
至此为止启动和关闭创建完成!
启动服务:
为了确保之前的操作步骤都正确,所以我们要确认服务是否真的启动了!
用#ps aux命令来查看,正在运行的进程(下图为没启动start-kcptun.sh时的状态);
输入以下命令启动
sh /root/kcptun/start-kcptun.sh
启动后的状态
如上两张图所示,服务已经启动,至此服务端配置完毕!
服务端配置:
当前我的主机是windows7 64位的,于是我下载kcptun-windows-amd64-
下载后解压到一个指定的文件夹内,在此文件夹内创建文本文件,内容如下:
Dim RunKcptun
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
currentPath = fso.GetFile(Wscript.ScriptFullName).ParentFolder.Path & "\"
exeConfig = "client_windows_amd64.exe -l :12300 -r 23.83.229.171:2006 -key test -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46"
logFile = "kcptun.log"
cmdLine = "cmd /c " & currentPath & exeConfig & " & " & currentPath & logFile & " 2&&1"
WshShell.Run cmdLine, 0, False
Set WshShell = Nothing
Set fso = Nothing
WScript.quit
保存退出,将此文本文件重命名为run.vbs,这个run.vbs就是客户端的启动程序;
注:这里的12300为你自己起的一个端口,这个12300和之前所有端口都没关系,不能和之前的端口号重复!!!2006是你之前的监听端口,key为之前设置的test!!!
在创建一个关闭程序:
新建文本文件,内容为:
taskkill /f /im client_windows_amd64.exe
保存退出,重命名为stop.bat,这里的kcptun.log为日志文件
接下来我们在设置下shadowsocks:
服务器IP为127.0.0.1
服务器端口为12300
密码为你的ss密码(和原来你用ss时候的密码一样)
双击run.vbs启动服务,服务启动后,打开任务管理器可在进程中看到此服务,即表示服务启动完成:
设置客户端开机启动:
echo "sh /root/kcptun/start-kcptun.sh" && /etc/rc.local
设置服务端开机启动:开始-所有程序-启动 将run.vbs快捷方式拖入进来即可!
加速前后对比图:
下面是作者给的配置参数样例,适用大部分ADSL接入(非对称上下行)的参数(实验环境电信100MADSL)。其它带宽请按比例调整,比如50MADSL,把客户端的 -sndwnd -rcvwnd 减掉一半,服务端不变。
-mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2
-mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46
结语:本篇文章没有太多介绍所谓的参数含义,当然如果你想弄清楚这些参数的含义,如果你是从上到下按照本篇文章配置的还是失败,那么我建议你,检查下你的防火墙,版本号是否对应,服务是否正常已经启动了等等!
后续的话,可能会针对调优参数写一篇,另外之前写过一篇,ss多端口密码的配置,可以参考
读此篇文章前,你一定要之前配置过ss,如果之前你都没配置过ss的话,你在配置起来问题可能会很多。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:150272次
积分:1529
积分:1529
排名:千里之外
转载:12篇
一个论坛众筹小众vps的idc
(1)(2)(1)(1)(7)(2)(2)(1)(1)(2)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'思科1200刷OPENWRT后KCPTUN怎么设置_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
思科1200刷OPENWRT后KCPTUN怎么设置
思科1200刷了OPENWRT后,系统中有个KCPTUN,这个什么设置
我有更好的答案
可以刷openwrt,
已经出了不死U-至于有openwrt固件,就不会选择dd固件;
VpnVip资讯教程,软件使用平台。
操作系统/系统故障
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包相关文章推荐
在国内如果经常要访问一些诸如Google、Facebook、Youtube等根本不存在的网站,最便捷的方式就是用Shadowsocks搭梯子。但是往往梯子太长,即使梯子带宽足够宽,线路质量也是不忍直视...
这次来说说如何让翻墙速度更快,用起来就像墙内一样。这里介绍一个免费的工具Kcptun,它是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 ...
ss的kcptun加速器
1.安装SS服务端:
yum update
yum install python-setuptools && easy_install pip
pip install shadowsocks
# shadowsocks安装以及kcptun加速最近买了搬瓦工的vps,因为搬瓦工很便宜而且可以一键安装,所以选了他,但是缺点是速度不快。经过研究发现可以很快搭建一个快速的梯子。为了方便所以我都是选...
CentOS 7 修改SSH端口,
[root@localhost
~]# systemctl status sshd
● sshd.service
关于attention的发展综述文章
上一步我们搭建了SS的服务器,虽然浏览网页没啥压力,但是YouTube就算720P都有时有压力,这次我们要利用Kcptun来为SS加速,让YouTube飚4K视频。
因为我是为SS服务加速,所...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)部落之前介绍了用FinalSpeed为ShadowSocks加速,用FinalSpeed固然好,但是FinalSpeed比较占内存,不适合小内存用户,而如果仅仅用来FQ,买一个小内存VPS似乎又是更加经济的选择。所以对于小内存用户而言,需要找一个替代方案,那么今天给大家介绍的KCPTun正是这样一个工具——他内存占用极低,却能够有不输FinalSpeed的效果。
由于KCPTun配置比较复杂,部落也没完全搞懂各种参数,所以使用的一键安装包为大家介绍KCPTun的安装使用。
一、KCPTun简介
Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。
Kcptun 是 KCP 协议的一个简单应用,可以用于任意 TCP 网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于 Kcptun 使用 Go 语言编写,内存占用低(经测试,在64M内存服务器上稳定运行),而且适用于所有平台,甚至 Arm 平台。
Kcptun 工作示意图:
KCP 协议:
Kcptun 项目地址:
二、KCPTun一键安装
2.1 确认加速地址
在配置之前请确认一下你的加速地址,大部分不能加速都是由于加速地址配置错误。
鉴于大部分朋友是用来加速 Shadowsocks,下面以 Shadowsocks 为例,Shadowsocks 正确安装运行在当前服务器上。
首先找到你的 Shadowsocks 端口,比如我的 Shadowsocks 端口为 21000,然后在命令行输入以下命令:
netstat -nl | grep 21000
如果提示以上命令不存在,请输入:
ss -nl | grep 21000
注:将 21000 替换为你的 Shadowsocks 端口。
然后你会看到类似下面的输出(着重看显示为红色的部分):
127.0.0.1:21000
127.0.0.1:21000
0.0.0.0:21000
0.0.0.0:21000
10.10.10.10:21000
10.10.10.10:21000
若为情况1、情况2和情况3,那么你的加速地址可以为:加速 IP 127.0.0.1,加速端口 21000(你的 Shadowsocks 端口)
若为情况4,那么你的加速地址为:加速IP 10.10.10.10(你的服务器IP),加速端口21000(你的 Shadowsocks 端口)
2.2 使用脚本一键安装
wget --no-check-certificate /kuoruan/shell-scripts/raw/master/kcptun/kcptun.sh
chmod +x ./kcptun.sh
./kcptun.sh
设置 Kcptun 的服务端端口(请输入一个未被占用的端口,Kcptun 运行时将使用此端口。):
请输入 Kcptun 服务端运行端口 [1~65535]
这个端口就是 Kcptun 客户端连接的端口
(默认: 29900):
请输入需要加速的地址,我这里默认127.0.0.1:
可以输入主机名称、IPv4 地址或者 IPv6 地址
(默认: 127.0.0.1):
需要加速的端口(SS服务器端口,我这里填21000):
请输入需要加速的端口 [1~65535]
(默认: 12984):
请设置 Kcptun 密码(key),这个你自己随意设置,跟SS密码是两个东西,但是你可以设置为一样,后面要用到:
该参数必须两端一致
(默认密码: very fast):
请选择加密方式(crypt),自己随意选吧,我选的aes-192:
强加密对 CPU 要求较高,
如果是在路由器上配置客户端,
请尽量选择弱加密或者不加密。
该参数必须两端一致
(2) aes-128
(3) aes-192
(4) salsa20
(5) blowfish
(6) twofish
(默认: aes) 请选择 [1~12]:
请选择加速模式(mode),推荐fast2:
加速模式和发送窗口大小共同决定了流量的损耗大小
如果加速模式选择“手动(manual)”,
将进入手动档隐藏参数的设置。
(1) normal
(5) manual
(默认: fast) 请选择 [1~5]:
下面一路回车即可:
请设置 UDP 数据包的 MTU (最大传输单元)值
(默认: 1350):
---------------------------
MTU = 1350
---------------------------
请设置发送窗口大小(sndwnd)
发送窗口过大会浪费过多流量
(数据包数量, 默认: 512):
---------------------------
sndwnd = 512
---------------------------
请设置接收窗口大小(rcvwnd)
(数据包数量, 默认: 512):
---------------------------
rcvwnd = 512
---------------------------
请设置前向纠错 datashard
该参数必须两端一致
(默认: 10):
---------------------------
datashard = 10
---------------------------
请设置前向纠错 parityshard
该参数必须两端一致
(默认: 3):
---------------------------
parityshard = 3
---------------------------
请设置差分服务代码点(DSCP)
(默认: 0):
---------------------------
---------------------------
是否关闭数据压缩?
(默认: false) [y/n]:
---------------------------
nocomp = false
---------------------------
是否记录 SNMP 日志?
(默认: 否) [y/n]:
---------------------------
不记录 SNMP 日志
---------------------------
是否开启 pprof 性能监控?
地址: http://IP:6060/debug/pprof/
(默认: false) [y/n]:
---------------------------
pprof = false
---------------------------
基础参数设置完成,是否设置额外的隐藏参数?
通常情况下保持默认即可,不用额外设置
(默认: 否) [y/n]:
---------------------------
不配置隐藏参数
---------------------------
配置完成。
请按任意键继续或 Ctrl + C 退出
安装完成,最好把安装完成后的信息记录下来:
恭喜! Kcptun 服务端安装成功。
服务器IP: 104.223.15.xxx
端口: 29900
加速地址: 127.0.0.1:21000
key: 8Bc0gVpdjNP4UFQVBoos
crypt: aes-192
mode: fast2
sndwnd: 512
rcvwnd: 512
datashard: 10
parityshard: 3
nocomp: false
当前安装的 Kcptun 版本为:
请自行前往:
/xtaci/kcptun/releases/tag/v
手动下载客户端文件
可使用的客户端配置文件为:
"localaddr": ":21000",
"remoteaddr": "104.223.15.xxx:29900",
"key": "8Bc0gVpdjNP4UFQVBoos",
"crypt": "aes-192",
"mode": "fast2",
"mtu": 1350,
"sndwnd": 512,
"rcvwnd": 512,
"datashard": 10,
"parityshard": 3,
"dscp": 0,
"nocomp": false
手机端参数可以使用:
key=8Bc0gVpdjNP4UFQVBcrypt=aes-192;mode=fast2;mtu=1350;sndwnd=512;rcvwnd=512;datashard=10;parityshard=3;dscp=0
Kcptun 安装目录: /usr/local/kcptun
已将 Supervisor 加入开机自启,
Kcptun 服务端会随 Supervisor 的启动而启动
更多使用说明: ./kcptun.sh help
安装之后,Kcptun 服务交由 Supervisor 管理。Supervisor 相关命令:
service supervisord {start|stop|restart|status}
Kcptun 相关命令:
supervisorctl {start|stop|restart|status} kcptun
三、客户端配置使用
3.1 准备工作
安装完成后要使用还在先下载两个东东:
1.Kcptun启动工具:
2.服务端对应版本的 Kcptun(保存下来的提示信息里有:当前安装的 Kcptun 版本为: )。
然后将他们解压到一起:
3.2 打开KCPTun启动工具
3.3 配置启动工具
我们可以通过配置文件配置启动工具,也可以手动配置。
通过配置文件配置
我们可以将安装KCPTun服务端时保存下来的信息的如下部分保存到新建txt文档中,文件名随意(比如 config.txt 或者 config.json),确保它是标准的 json 格式(可以到这里校验格式 /)。:
"localaddr": ":21000",
"remoteaddr": "104.223.15.xxx:29900",
"key": "8Bc0gVpdjNP4UFQVBoos",
"crypt": "aes-192",
"mode": "fast2",
"mtu": 1350,
"sndwnd": 512,
"rcvwnd": 512,
"datashard": 10,
"parityshard": 3,
"dscp": 0,
"nocomp": false
然后勾选“使用配置文件”,选择你新建的文件即可,下面的参数区域直接留空,点击启动。我这边直接手动配置。
手动配置启动工具
根据之前保存下来的信息:
服务器IP: 104.223.15.xxx
端口: 29900
加速地址: 127.0.0.1:21000
key: 8Bc0gVpdjNP4UFQVBoos
crypt: aes-192
mode: fast2
sndwnd: 512
rcvwnd: 512
datashard: 10
parityshard: 3
nocomp: false
配置启动工具如下图,然后启动:
需要注意:
1.本地监听端口,这个端口你可以随意设置,但是后面SS客户端的设置必须跟这里一致。
2.KCP服务器地址为你的服务器IP地址,不是 127.0.0.1,端口为服务端 Kcptun 的端口。
3.通信密钥是你配置的 Kcptun 密码,不是 Shadowsocks 的密码;在配置 Kcptun 的时候,不用管 Shadowsocks 的配置参数;
3.4 配置SS客户端
1.服务器地址填127.0.0.1。
2.服务器端口填上一步配置中的本地侦听端口。
3.密码填SS的密码,不是KCPTun的密码。
4.加密方式也是填SS的加密方式,而不是KCPTun的加密方式。
四、速度对比
使用KCPTun前后的速度对比。
使用前(简直凄惨):
使用后(怎一个NB了得):
本文全文整理自
<span class="tipso_style" id="tip-p" data-tipso='
您可以选择一种方式赞助本站
有回复时邮件通知我
最新VPS优惠
关于部落VPS部落是一个致力于分享VPS相关内容的站点。随着云技术的发展,我们认为,云时代已经到来,而虚拟主机已经成为过去式,VPS主机势不可挡。我们分享来自于全球的VPS主机商和最新优惠,以及一些VPS的简单性能和网络测试数据,同时分享一些新手VPS教程,供大家参考。
记住我的登录信息
输入用户名或电子邮箱地址,您会收到一封新密码链接的电子邮件。
用户名或电子邮件地址

我要回帖

更多关于 手机流量突然消耗很快 的文章

 

随机推荐