Using Linux To Make a Slow, Awful WAN Connection
Julie188 writes "This is a brilliant little Linux trick from Windows fanboy Tyson Kopczynski. He wanted to test a new Windows 7 feature called Branch Cache, which caches remote data on the local machine to reduce traffic on a stressed out WAN connection. But how to fake a crappy WAN? Linux. 'The command that I executed (tc) made use of Linux Traffic Control (a kernel thing) which allows me to easily interject 100ms latency on eth1. Boff, Bonk, Pow, Plop, Kapow, swa-a-p, whamm, zzzzzwap, bam ... instant WAN crappiness,' he writes."
Linux: Because sometimes you want slow and awful.
Linux has to be forced to degrade network performance. Windows does it automatically.
Did MS ever fix that 10 TCP/IP connection limit?
Why not just use a Vista box and play an MP3?
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
What is the point of doing this? Is this even of remote interest to anyone other than the author of the article? If there's a genuine reason for this to be important or at least intriguing, someone please speak...
that Linux is awesome for research!
how did that windows caching stuff he was testing out perform? or is this article just a synopsis of the man page for a common command .... ?
The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
I love how the previous story was this one:
http://mobile.slashdot.org/article.pl?sid=09/04/09/220244
100ms of latency is a crappy WAN connection?
How spoiled we've become. 100ms was playable in Quakeworld.
FreeBSD's dummynet seems to provide something similar as well.
http://www.scalabledesign.com/articles/dummynet.html
http://wanem.sourceforge.net/
Such capability is very useful to network folks to predict application behavior and best management approaches in various environments. We used FreeBSD for that purpose, but the effect was the same. We injected 350ms latency in each direction, and presto - satellite communication. That is enough to cripple TCP connectivity through a sizable pipe (latency will preclude the flow from taking entire pipe). By testing various acceleration methodologies, you can see first hand which one will allow you to fully utilize the bandwidth you are paying for, all in the comfort of your lab.
End anonymous moderation and posting on
Throw in a 300 baud modem if you want a crappy network connection. You can read a newspaper (dead tree edition) while a screen of text is downloading.
I know this is a troll, but I remember hearing someone say their wireless card works better on a linux driver than a windows driver. Unfortunately, I can't remember where, so no link. Will post again if I remember.
What's the value of information that you don't know?
... and you might find out about NISTnet, which has been around for YEARS... NISTnet does the same thing as this, on Linux, and also includes a statistical latency delay model which simulates real world conditions.
*raises hand*
Intel 8945J integrated wireless on my laptop. Dual boot, Zenwalk Linux and XP MCE 2005. Until the most recent driver from Intel, the wireless card was *significantly* stabler under Linux. It's now just as stable under Windows (though I replaced by router with a new D-Link 802.11n router recently too), but the throughput at long range is still better in Linux.
As an example of the latter under Windows the useable range on my wlan caps out at about 25m. that's enough to cover my house, and much of the front lawn. Under Linux, I was able to connect to my network from the picnic table at the park across the street, about 100m. I was only getting 1mbit of throughput, probably less, but it was definitely getting better error correction and a more useable connection at that range than under Windows.
If you believe everything you read, you'd better not read. - Japanese proverb
someone said something? oh...well then, that's a horse of a different color.
THL phish sticks
At work we deal with satellite links in northern offices (100ms crappy? try 800ms... ), testing network apps and such it would be handy to have had this feature back when I did this sorta thing.
Good to file away in the back of my head for future reference.
tc basically allows you to activate netem (a network emulator in linux). I dont know about now, but when I had used it for a project a year ago, you had to compile your kernel with netem enabled. tc then allowed you to modify your link properties to emulate wan links. Had used this with tcpprobe to analyze the performance of an Inverse Increase Additive Decrease congestion control algorithm that we had written for academic purposes (adapted from http://nms.lcs.mit.edu/papers/binomial-infocom01.pdf) and compare its performance with newreno. Fun stuff. This was a helpful reference: http://linuxgazette.net/135/pfeiffer.html
The "dummynet" functionality in the FreeBSD kernel has provided this for years. Works like a charm.
http://www.freebsd.org/cgi/man.cgi?query=dummynet&sektion=4
http://info.iet.unipi.it/~luigi/ip_dummynet/
Where are your power settings in Windows vs Linux? My Thinkpad's Intel wifi driver defaults to an energy-saving power mode, which results in lower performance at long distances (but is fine in my small apartment). This might not be a fair fight.
.sig withheld by request
Try using Wanem http://wanem.sourceforge.net/ You can even download it as a vmware virtual appliance.
this is the kind of quality stories i've come to expect from kdawson/timothy.
and you wonder why we all choke with laughter when you expect to be considered journalists.
If you mod me down, I will become more powerful than you can imagine....
It's been 13 years. In Moore years that's a long time. Let it go.
Though not free (there is a trial), I played around with an appliance with a program called Lanforge installed. It's pretty sophisticated. You can setup a number of different "errors" (packet loss, jitter, delay, etc) and it can cycle between them - never constantly the same. It runs on Linux and Windows for sure, but I'm unsure about other OS's. It will also "learn" link statistics between two particular nodes and save that configuration for testing.
Kind of neat, but I'm unsure about how much license costs are. There may easily be open source applications that could be just as good.
Link is here: http://www.candelatech.com/
Intel 8945J integrated wireless on my laptop. Dual boot, Zenwalk Linux and XP MCE 2005. Until the most recent driver from Intel, the wireless card was *significantly* stabler under Linux.
Who needs wireless - I've got an Atherlos L1 gigabit ethernet controller on the motherboard - despite it being years old, all vista drivers for it are dogshit slow AND crash under any significant load. Under linux it works just fine. For the one vista system I must run I had to waste as slot on a PCIe gig-e card and use that instead.
When information is power, privacy is freedom.
So I abused myself last night.
Can I get some mod points for letting the world know ?
You know, I have noticed this with my laptop in my house. Under windows xp I get one bar of connection and its flaky at best. Granted this is on the other side of the house from the router and also on a different floor, so I am not surprised by that. But in the same location on the same laptop running an Ubuntu liveCD gets better signal and a much more reliable connection.
My guess is that the linux driver allows for a higher power setting, though over the years I've come to think that the Linux TCP/IP stack seems a little speedier than Windows... I dunno if that is really the case, but I like to think so :-)
What could possibly hurt the security of the American people more than giving our own government the ability to hide its
compensated for the ineffiency(sp)
inefficiency, I believe. HTH.
...as demonstrated by "VIM rocks" in his text.
Ezekiel 23:20
Amazing, Linux can mess up my LAN. Next you will be telling me it can make me bald, fat and unattractive to women ...
Author of TFA said his original intent was to highlight using Linux to simulate network crapfulness, but enough folks have asked your question that he's planning a followup with the actual caching results.
SCOX(Q) DELENDA EST!!
http://www.linux.com/feature/46616
BSD systems of course include OS X http://www.afp548.com/article.php?story=20060214081244545
Pluralitas non est ponenda sine neccesitate
Can I be on the front of Slashdot too!?
# Once my newly minted Linux box was up and running. I then configured the network properties and enabled IP Forwarding (VIM rocks, I always really hated VI): (Edit the /etc/network/interfaces file for the network settings and Edit the /etc/sysctl.conf file to turn on net.ipv4.ip_forward)
syctl -e net.ipv4.ip_forward=1
# I then rebooted the Linux box, and once it was back online I verified that it was able to act as my router between my two previously mentioned network segments.
Seems un-necessary.
There are however few gotchas:
All that being said in most cases having a rough simulation is sufficient to validate the behaviour of an application on WAN before deployment.
For those interested there is an excellent, 13years old but still relevant paper about latency: http://rescomp.stanford.edu/~cheshire/rants/Latency.html
One of the great features of netem is that it isn't restricted to being used on a router. If you bridge two network interfaces together you can essentially use netem to make a device which looks like a faulty link. This can be plugged and unplugged [or routed using a VLAN infrastructure] into anywhere in your network without reconfiguration of any IP details on the machines under test.
hello fellow zenwalk user i noticed significantly better wifi performance from the kernel update, too