net-speeder

net-speeder 在高延迟不稳定链路上优化单线程下载速度

  • Owner: snooda/net-speeder
  • Platform:
  • License:: GNU General Public License v2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

net-speeder

net-speeder 在高延迟不稳定链路上优化单线程下载速度

项目由https://code.google.com/p/net-speeder/ 迁入

关注微信公众号了解最新开发进度/获取帮助/提出建议:

A program to speed up single thread download upon long delay and unstable network

在高延迟不稳定链路上优化单线程下载速度

注1:开启了net-speeder的服务器上对外ping时看到的是4倍,实际网络上是2倍流量。另外两倍是内部dup出来的,不占用带宽。
另外,内部dup包并非是偷懒未判断。。。是为了更快触发快速重传的。
注2:net-speeder不依赖ttl的大小,ttl的大小跟流量无比例关系。不存在windows的ttl大,发包就多的情况。

安装步骤:

1:下载源码并解压

wget https://github.com/snooda/net-speeder/archive/master.zip
unzip master.zip

2:准备编译环境

debian/ubuntu:

#安装libnet-dev:
apt-get install libnet1-dev
#安装libpcap-dev:
apt-get install libpcap0.8-dev 

centos:

#下载epel:https://fedoraproject.org/wiki/EPEL/zh-cn 例:CentOS6 64位:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#(如果是centos5,则在epel/5/下)
#安装epel:
rpm -ivh epel-release-6-8.noarch.rpm
#然后即可使用yum安装:
yum install libnet libpcap libnet-devel libpcap-devel

编译:

Linux Cooked interface使用编译(venetX,OpenVZ):

sh build.sh -DCOOKED

普通网卡使用编译(Xen,KVM,物理机):

sh build.sh

使用方法(需要root权限启动):

#参数:./net_speeder 网卡名 加速规则(bpf规则)
#ovz用法(加速所有ip协议数据): 
./net_speeder venet0 "ip"

如果kvm下报错:err msg:[libnet_write_raw_ipv4(): -1 bytes written (Message too long)

#关闭tso
ethtool -K 网卡名 tso off

Main metrics

Overview
Name With Ownersnooda/net-speeder
Primary LanguageC
Program languageShell (Language Count: 2)
Platform
License:GNU General Public License v2.0
所有者活动
Created At2015-01-21 16:34:42
Pushed At2021-11-10 13:28:40
Last Commit At2021-11-10 21:28:40
Release Count0
用户参与
Stargazers Count2.2k
Watchers Count114
Fork Count544
Commits Count15
Has Issues Enabled
Issues Count79
Issue Open Count4
Pull Requests Count1
Pull Requests Open Count2
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private