奇迹整形是一个很大的特点非常特殊的网络脚本成型机。在Linux 2.4及更高版本。
进球
我试图创建的制胜法宝:
*保持对interfactive交通低延迟在任何时候。
这意味着,上传或下载文件不应该打扰SSH或远程登录连。这是最重要的事情,即使是200ms的延迟是呆滞地工作过。
*允许“冲浪”以合理的速度,同时向上或下载
尽管HTTP是'大头'流量,其他流量不应淹没了太多。
*请务必上传不伤害下载,和周围的其他方式
这是一个非常观察到的现象,其中上游业务只是破坏的下载速度。原来,这一切都是可能的,在带宽的一点点的费用。即上传,下载和ssh伤害海誓山盟的原因是大型队列像电缆或DSL调制解调器国内众多接入设备的存在。
为什么它默认情况下不正常工作
互联网服务供应商知道他们是如何快的人可以下载单独基准。除了可用带宽,下载速度由丢包,严重阻碍了TCP / IP的性能影响很大。大队列有助于防止packetloss,加快下载。因此,互联网服务供应商配置大型队列。
然而,这些大队列损坏互动。 A击键必须先前往上游的队列,这可能是秒(!)长,去你的远程主机。它然后显示,这导致分组回来,那么它必须遍历下行队列,位于您的ISP,它出现在屏幕上之前。
这个HOWTO教你如何裂伤和处理在许多方面的队列,但遗憾的是,并不是所有的队列访问美国。队列在ISP处是完全禁地,而上游队列可能住电缆调制解调器或DSL设备内部。你可能会或可能不能够对其进行配置。最有可能不是。
那么,接下来呢?由于我们无法控制的任何队列,它们必须被淘汰,并移动到你的Linux路由器。幸运的是,这是可能的。
限制上传速度有点
通过限制我们的上传速度略低于真正的可用率,没有队列建立在我们的调制解调器。该队列现在转移到Linux上。
限制下载速度
这是稍微复杂一些,因为我们无法真正影响网络船舶我们如何快速的数据。然而,我们可以删除那些即将在太快的数据包,这将导致TCP / IP放缓只是我们想要的速度。因为我们不想丢弃不必要的流量,我们配置一个'爆'的大小,我们允许以更高的速度。
现在,一旦我们做到了这一点,我们已经完全消除了下行队列(除了短时间),并获得与所有的Linux电源管理提供上行队列的能力。
让交互通信跳过队列
剩下的工作就是确保交互式流量跳转到上游队列的前面。为了确保上传不要伤害下载,我们也将ACK数据包队列的前面。这是通常会导致大宗产生两种交通方式时,观察到的巨大的经济放缓。致谢下游流量必须与上游竞争的流量,并获得延迟的过程。
我们也将其他的小数据包队列的前面 - 这有助于它不设置TOS位,就像一切从微软的操作系统。
允许用户指定低优先级的流量(在1.1新!)
有时你可能会发现低优先级的输出流量减慢重要的交通。在这种情况下,下列选项可以帮助你:
NOPRIOHOSTSRC
设置为主机或网络掩码网络中应该有低优先级
NOPRIOHOSTDST
将此设置应具有低优先级的Internet上的主机或网络掩码
NOPRIOPORTSRC
将此设置应具有低优先级的源端口。如果你有一个网络服务器不重要您的流量,设置为80
NOPRIOPORTDST
将此设置应具有低优先级目标端口。
见wshaper和wshaper.htb开始
结果
如果我们做到这一切,我们得到利用XS4ALL在荷兰一个极好的ADSL连接以下测量:
基线潜伏期:
往返最小/平均/最大= 14.4 / 17.1 / 21.7毫秒
没有交通调节,在下载:
往返最小/平均/最大= 560.9 / 573.6 / 586.4毫秒
没有交通调节,同时上传:
往返最小/平均/最大= 2041.4 / 2332.1 / 2427.6毫秒
与空调,220kbit / s的上传过程中:
往返最小/平均/最大= 15.7 / 51.8 / 79.9毫秒
与空调,850kbit / s的下载过程:
往返最小/平均/最大= 20.4 / 46.9 / 74.0毫秒
当上传,下载在着手〜80%的可用速度。载在90%左右。潜伏期,然后跳转到850毫秒,还是弄清楚为什么。
你可以从这个脚本期望在很大程度上取决于你的实际的上行速度。当全速上传,总会有一个数据包的提前击键。这是下限就可以实现延迟 - 将您的MTU通过你的上行速度来计算。典型值将比稍高。降低你的MTU为更好的效果!
一张小桌子:
上行速度|预期的延迟,由于上传
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
因此,要计算你的有效延迟,取基线测量(平上卸载链接),并查找号码表,并添加它。这是关于你可以期望的最好的。这个数字来自一个计算是假定你的上游按键将有一半最完整大小的数据包在它前面。
这可以归结为:
MTU * 0.5 * 10
-------------- + baseline_latency
千位
在10倍是不太正确的,但在实践中效果很好。
你的内核
如果你运行一个最近的分布,一切都应该是好的。您需要2.4具有QoS选项打开。
如果您编译自己的内核,它必须启用一些选项。最值得注意的是,在网络选项菜单,QoS和/或公平排队,把至少CBQ,PRIO,SFQ,入口,流量监管,QoS支持,速率估计,QoS的分类,分级U32,fwmark分类。
在实践中,我(和大多数发行)刚打开的一切。
脚本
该脚本有两个版本,其中一个工作在标准的内核,并使用CBQ实现。另一种采用了优秀的HTB队列规定是不是在默认内核。该CBQ版本比HTB多一个测试!
见“wshaper'和'wshaper.htb”。
调音
这些脚本需要知道您的ISP连接的“真实”利率。这是很难确定的前期不同的互联网服务供应商使用不同种类似乎位。人们使用以下技术报告成功:
估计你都上游和下游的一半速度您的ISP指定。现在验证如果脚本运行 - 检查交互,同时上传和下载时。如上计算这应交付的等待时间。如果没有,检查如果脚本没有错误执行。
现在慢慢增加上下游数脚本,直到延迟回来。这样,您就可以找到您的连接的最佳值。如果你是快乐的,请报告给我,让我可以使这项工作顺利号码列表。请让我知道您使用的ISP和你的订阅,它被誉为规格的名称,这样我就可以在这里列出你和拯救他人的麻烦。
安装
如果您拨打的,你可以将脚本复制到/etc/ppp/ip-up.d,它会在每次连接运行。
如果你想从一个接口取出成型机,运行'wshaper停止“。要查看状态信息,运行'状态wshaper“。
已知问题
如果出现错误,一个-x添加到第一线,具体如下:
#!/斌/ bash的-x
然后重试。这将显示出哪些行给出了一个错误。在联系我,请确保您运行的是最新版本的iproute!
最近的版本可以在你的Linux发行商被发现,或者如果你喜欢编译,在这里:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz
最近浏览的软件
EyeLine Video Surveillance System 19 Feb 15
Xfire 31 Dec 14
Dream WMV Converter Platinum 22 Jan 15
ie7Launcher 14 Jul 15
Magayo Lotto (64-bit) 26 Jul 16
Ch Professional (64-bit) 27 Jan 15
AxExplorerBar 26 Oct 15
NTkrnl Protector 23 Sep 15
Paltalk Messenger 20 Sep 15
RIS.zip 24 Sep 15
按类别搜索
热门软件
Unity Linux 15 Apr 15
Distro Astro 17 Feb 15
Kali Linux 22 Jun 18
antiX MEPIS 19 Jun 17
Super Grub2 Disk 20 Jan 18
Parrot security OS 23 Oct 17
BackBox Linux 16 Aug 18
The Wonder Shaper
显影剂的其他软件 Bert Hubert
意见 The Wonder Shaper
最近浏览的软件
EyeLine Video Surveillance System 19 Feb 15
Xfire 31 Dec 14
Dream WMV Converter Platinum 22 Jan 15
ie7Launcher 14 Jul 15
Magayo Lotto (64-bit) 26 Jul 16
Ch Professional (64-bit) 27 Jan 15
AxExplorerBar 26 Oct 15
NTkrnl Protector 23 Sep 15
Paltalk Messenger 20 Sep 15
RIS.zip 24 Sep 15
按类别搜索
热门软件
Cub Linux 11 Apr 16
Solus 2 Sep 17
LMule 4 Jun 15
Kconfigure 3 Jun 15
Zuma Deluxe 20 Feb 15
GTK VNC Viewer 2 Jun 15
AirSnort 3 Jun 15
评论没有发现