Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 49.479.938 Times

The Wonder Shaper 1.1a

  Date Added: October 12, 2010  |  Visits: 1.601

The Wonder Shaper

Report Broken Link
Printer Friendly Version


Product Homepage
Download (138 downloads)



The Wonder Shaper is a very special network shaper script with a lot of features. Works on Linux 2.4 & higher. Goals I attempted to create the holy grail: * Maintain low latency for interfactive traffic at all times. This means that downloading or uploading files should not disturb SSH or even telnet. These are the most important things, even 200ms latency is sluggish to work over. * Allow surfing at reasonable speeds while up or downloading Even though http is bulk traffic, other traffic should not drown it out too much. * Make sure uploads dont harm downloads, and the other way around This is a much observed phenomenon where upstream traffic simply destroys download speed. It turns out that all this is possible, at the cost of a tiny bit of bandwidth. The reason that uploads, downloads and ssh hurt eachother is the presence of large queues in many domestic access devices like cable or DSL modems. Why it doesnt work well by default ISPs know that they are benchmarked solely on how fast people can download. Besides available bandwidth, download speed is influenced heavily by packet loss, which seriously hampers TCP/IP performance. Large queues can help prevent packetloss, and speed up downloads. So ISPs configure large queues. These large queues however damage interactivity. A keystroke must first travel the upstream queue, which may be seconds (!) long and go to your remote host. It is then displayed, which leads to a packet coming back, which must then traverse the downstream queue, located at your ISP, before it appears on your screen. This HOWTO teaches you how to mangle and process the queue in many ways, but sadly, not all queues are accessible to us. The queue over at the ISP is completely off-limits, whereas the upstream queue probably lives inside your cable modem or DSL device. You may or may not be able to configure it. Most probably not. So, what next? As we cant control either of those queues, they must be eliminated, and moved to your Linux router. Luckily this is possible. Limit upload speed somewhat By limiting our upload speed to slightly less than the truly available rate, no queues are built up in our modem. The queue is now moved to Linux. Limit download speed This is slightly trickier as we cant really influence how fast the internet ships us data. We can however drop packets that are coming in too fast, which causes TCP/IP to slow down to just the rate we want. Because we dont want to drop traffic unnecessarily, we configure a burst size we allow at higher speed. Now, once we have done this, we have eliminated the downstream queue totally (except for short bursts), and gain the ability to manage the upstream queue with all the power Linux offers. Let interactive traffic skip the queue What remains to be done is to make sure interactive traffic jumps to the front of the upstream queue. To make sure that uploads dont hurt downloads, we also move ACK packets to the front of the queue. This is what normally causes the huge slowdown observed when generating bulk traffic both ways. The ACKnowledgements for downstream traffic must compete with upstream traffic, and get delayed in the process. We also move other small packets to the front of the queue - this helps operating systems which do not set TOS bits, like everything from Microsoft. Allow the user to specify low priority traffic (new in 1.1!) Sometimes you may notice low priority OUTGOING traffic slowing down important traffic. In that case, the following options may help you: NOPRIOHOSTSRC Set this to hosts or netmasks in your network that should have low priority NOPRIOHOSTDST Set this to hosts or netmasks on the internet that should have low priority NOPRIOPORTSRC Set this to source ports that should have low priority. If you have an unimportant webserver on your traffic, set this to 80 NOPRIOPORTDST Set this to destination ports that should have low priority. See the start of wshaper and wshaper.htb Results If we do all this we get the following measurements using an excellent ADSL connection from xs4all in the Netherlands: Baseline latency: round-trip min/avg/max = 14.4/17.1/21.7 ms Without traffic conditioner, while downloading: round-trip min/avg/max = 560.9/573.6/586.4 ms Without traffic conditioner, while uploading: round-trip min/avg/max = 2041.4/2332.1/2427.6 ms With conditioner, during 220kbit/s upload: round-trip min/avg/max = 15.7/51.8/79.9 ms With conditioner, during 850kbit/s download: round-trip min/avg/max = 20.4/46.9/74.0 ms When uploading, downloads proceed at ~80% of the available speed. Uploads at around 90%. Latency then jumps to 850 ms, still figuring out why. What you can expect from this script depends a lot on your actual uplink speed. When uploading at full speed, there will always be a single packet ahead of your keystroke. That is the lower limit to the latency you can achieve - divide your MTU by your upstream speed to calculate. Typical values will be somewhat higher than that. Lower your MTU for better effects! A small table: Uplink speed | Expected latency due to upload -------------------------------------------------- 32 | 234ms 64 | 117ms 128 | 58ms 256 | 29ms So to calculate your effective latency, take a baseline measurement (ping on an unloaded link), and look up the number in the table, and add it. That is about the best you can expect. This number comes from a calculation that assumes that your upstream keystroke will have at most half a full sized packet ahead of it. This boils down to: mtu * 0.5 * 10 -------------- + baseline_latency kbit The factor 10 is not quite correct but works well in practice. Your kernel If you run a recent distribution, everything should be ok. You need 2.4 with QoS options turned on. If you compile your own kernel, it must have some options enabled. Most notably, in the Networking Options menu, QoS and/or Fair Queueing, turn at least CBQ, PRIO, SFQ, Ingress, Traffic Policing, QoS support, Rate Estimator, QoS classifier, U32 classifier, fwmark classifier. In practice, I (and most distributions) just turn on everything. The scripts The script comes in two versions, one which works on standard kernels and is implemented using CBQ. The other one uses the excellent HTB qdisc which is not in the default kernel. The CBQ version is more tested than the HTB one! See wshaper and wshaper.htb. Tuning These scripts need to know the real rate of your ISP connection. This is hard to determine upfront as different ISPs use different kinds of bits it appears. People report success using the following technique: Estimate both your upstream and downstream at half the rate your ISP specifies. Now verify if the script is functioning - check interactivity while uploading and while downloading. This should deliver the latency as calculated above. If not, check if the script executed without errors. Now slowly increase the upstream & downstream numbers in the script until the latency comes back. This way you can find optimum values for your connection. If you are happy, please report to me so I can make a list of numbers that work well. Please let me know which ISP you use and the name of your subscription, and its reputed specifications, so I can list you here and save others the trouble. Installation If you dial in, you can copy the script to /etc/ppp/ip-up.d and it will be run at each connect. If you want to remove the shaper from an interface, run wshaper stop. To see status information, run wshaper status. KNOWN PROBLEMS If you get errors, add an -x to the first line, as follows: #!/bin/bash -x And retry. This will show you which line gives an error. Before contacting me, make sure that you are running a recent version of iproute! Recent versions can be found at your Linux distributor, or if you prefer compiling, here: ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz.

Requirements: No special requirements
Platforms: Linux
Keyword: Cbq Isps Make Sure Networking Qos Queue Set This Shaper Speed Traffic Upstream Very Special Wonder
Users rating: 0/10

License: Freeware
USER REVIEWS
More Reviews or Write Review


THE WONDER SHAPER RELATED
Utilities  -  Set CD-ROM Speed 1.1.6
Set-cd-rom-speed is an application for setting CD-ROM and DVD-ROM drive speed, written in Kommander. Since the issues mentioned here apply to CD-ROM and DVD-ROM drives as well as to recorders for these types of media, in this document...
20.48 KB  
Utilities  -  System Integrity Checker 0.0.3
System Integrity Checker can make sure that no unauthorized changes have been made to your computer systems. Installation: $ tar zxvf sic-x.y.z.tar.gz $ cd sic-x.y.z $ ./configure $ make $ make install Whats New in This Release: -...
 
Nature  -  Animals Mother Nature Left Out 1.0
Animals Mother Nature Letf Out ScreenSaver. Save your screen will cool photos. While you're away from your desktop, this colorful screensaver will make sure your desktop doesn't burn its way into your screen. It provides a colorful and exciting...
3.57 MB  
Utilities  -  FasterWin CPU Quota Tool 0.9 beta
FasterWin CPU Quota Tool will make sure there is always some CPU time available for your GUI and your applications. This tool does not make your computer or OS run faster but it lets you set CPU quotas to applications and services. No single...
225 KB  
Shell & Desktop  -  Tcsh 6.15.00
Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). The project is a command language interpreter usable both as an interactive login shell and a shell script command processor. It includes a command-line...
860.16 KB  
Utilities  -  Bilbo 0.2
Bilbo is a PHP frontend to run scans using the security scanner Nessus. Installation instructions: 1) Download bilbo-x.y.tgz and do: tar -zxvf bilbo-x.y.tgz This will create the following files in the current directory. bilbo/index.php...
13.31 KB  
Password Managers  -  Agile Password Manager 1.0
Agile Password Manager - is a small freeware utility which will make sure you will never forget a password again.
370 KB  
Web Site Promotion  -  M6.Net Link Checker 1.00
The M6.Net Link Checker is an extremely easy to use, free link checker tool that allows you to check other sites for your link or text. A highly useful and essential tool for webmasters to make sure that your reciprocal link is still up on a site...
686 KB  
Spreadsheets  -  DRoster - Employee Scheduling 3.0.3
DRoster is a staff rostering and employee scheduling software tool. It is flexible and meets the needs of a wide range of people who have to manage rosters and schedules. With DRoster you can: schedule assignments quickly and react instantly...
6.09 MB  
Utilities  -  UpdateStar 2.0.464
UpdateStar is the program that lets you stay up-to-date with all of your personal software you are using on your computer. This way you make sure to always use the most up-to-date software, maximizing your every-day user experience. UpdateStar...
3.8 MB  
NEW DOWNLOADS IN NETWORK & INTERNET, NETWORKING TOOLS
Network & Internet  -  Free WiFi Hotspot 3.3.1
Free WiFi Hotspot is a super easy solution to turn your laptop or notebook into a portable Wi-Fi hotspot, wirelessly sharing your internet connections like DSL, Cable, Bluetooth, Mobile Broadband Card, Dial-Up, etc. through the built-in wireless...
1.04 MB  
Network & Internet  -  Easy Uploads 1.8
Easy uploads is a file storage media streaming application designed by Filestreamers that allows you to upload, store, and stream your files from their virtually unlimited file storage server. Easy Uploads can backup,share, and stream your files...
615.97 KB  
Network & Internet  -  PacketFence ZEN 3.1.0
PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) system. Boosting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, 802.1X...
1024 MB  
Network & Internet  -  django-dbstorage 1.3
A Django file storage backend for files in the database.
10.24 KB  
Network & Internet  -  SQL Inject Me 0.4.5
SQL Inject Me is a Firefox extension used to test for SQL Injection vulnerabilities. The tool works by submitting your HTML forms and substituting the form value with strings that are representative of an SQL Injection attack.
133.12 KB  
Networking Tools  -  gvrpad 0.1
gvrpad is a daemon that makes GVRP announcements of all VLAN interfaces on a FreeBSD system. GVRP is the GARP VLAN Registration Protocol, defined in IEEE 802.1Q (VLANS); GARP is the Generic Attribute Registration Protocol, defined in 802.1D...
15.36 KB  
Networking Tools  -  Cheops 0.61
Cheops is an Open Source Network User Interface. It is designed to be the network equivalent of a swiss-army knife, unifying your network utilities. Cheops is for the network what a file manager is for your filesystem..
317.44 KB  
Networking Tools  -  ssh tunnel on demand 1.0
ssh tunnel on demand provides a script that creates an SSH tunnel on demand. ssh tunnel on demand is a script that makes it possible for a user to create an SSH tunnel to a server and connect to it without needing an account on the box or any...
13.31 KB  
Networking Tools  -  strongSwan 4.1.5
strongSwan is an OpenSource IPsec implementation for the Linux operating system. strongSwan is an OpenSource IPsec implementation for the Linux operating system. In order to have a stable IPsec platform to base our future extensions of the X.509...
1.7 MB  
Networking Tools  -  triggers 0.41
trigger is a lightweight, asynchronous notification mechanism to set off events in and across systems. The poor mans daily snapshot, glastree builds live backup trees, with branches for each day. Users directly browse the past to recover older...
14.34 KB