Your Next Network Operating System Is Linux
jrepin writes "Everywhere you look, change is afoot in computer networking. As data centers grow in size and complexity, traditional tools are proving too slow or too cumbersome to handle that expansion. Dinesh Dutt is Chief Scientist at Cumulus Networks. Cumulus has been working to change the way we think about networks altogether by dispensing with the usual software/hardware lockstep, and instead using Linux as the operating system on network hardware. In this week's New Tech Forum, Dinesh details the reasons and the means by which we may see Linux take over yet another aspect of computing: the network itself."
Network and SAN will go (are already going) virtual the same way hardware has.
Linux is already widely used on networking gear, especially fully pre-emptive variants like RT-Linux and Monta-Vista.
It will still take considerable time to displace some of the real performance/uptime critical stuff that's done using VxWorks and QNX and a number of other proprietary systems. Many companies are sort of vendor locked and have non-portable software too and so can't change easily. There are also engineers out there who strongly believe that what the currently use is superior for things like uptime (QNX), and simplistic hard real time response (VxWorks). I'm not saying that's the case either way - I'm simply saying there are numerous industry players who won't adopt Linux for some time because they think it's too big and not good enough.
Sadly, Apollo Computer had this concept 20+ years ago. The Apollo Domain Operating System was built from the ground up as a network operating system. Everything from the kernel up was designed with networking in mind. It was a brilliant yet ultimately dead operating system. The biggest downfall was being expensive and proprietary. Sun Microsystems won through a cheaper alternative and doomed us forever with NFS.
"No matter where you go, there you are." -- Buckaroo Banzai
As it stands now, a Linux iptables list is sequential. Packets go through the input/output/forward queues.
If one wants a true network OS, this needs to be changed to a config-based system similar to what Cisco/Alcatel-Lucent/Juniper use. With this, each adapter gets a configuration attached for starters, then things go from there (VLANs, ACLs, etc.)
If Linux could make the jump from sequential parsing to configs, it might just be something that can do the job, but then it moves to the hardware, and a lot of routers have specific ASICs dedicated to packet crunching as opposed to general CPUs.
On Juniper, you can even get shell access by default (log in as root). The "command line" interface is just a program that runs on the shell.
Not only that, but Juniper's configuration is not as "modal" as the article makes everything out to be. JUNOS has built-in scripting to make modifications to the config, along with templating/macros to take the drudgery out of repeated configs. The config is hierarchical (XML on the backend), which makes it well-structured and predictable. Overall, it's a pleasure to work with (once you get used to it), and much better than some more popular/expensive networking gear I could name. Oh, and they number their interfaces starting with zero, like you should. ;-)
Sure, it's not as open as a bash shell that you can muck with to your heart's content, but at the same time, having a standardized toolset means that it can be reasonably supported. Can you imagine calling up level 1 support and asking them to help you with a system that you had fully customized with local scripts, cron jobs, and the like?
TFA did not mention details. Linux has patent-inhibited memory management complications. The best networking OS will be able to handle 2^32 connections (or about 4.2 billion). No OS can come near this. Is Linux better than the alternatives? Never, as long as its memory footprint is inhibited by patents. A good networking OS will be scale-free. (for those graduate students looking for a thesis). Thus, the best networking OS is the most fault-tolerant with the best throughput, and the smartest engineers behind it. No OS is fault-tolerant. Throughput is a function of memory (all things being equal), and the smartest engineers are probably challenged to maintain a quality of life that is satisfactory. It's a great question of what the best NOS is. Keep it coming, but don't muddy up the waters with misinformation. If you do make a suggestion, provide real empirical support. (It's not my job to do this since I have not declared what the best NOS is. I do have my opinions though.)
"Linux has patent-inhibited memory management complications .. Is Linux better than the alternatives? Never, as long as its memory footprint is inhibited by patents"
..
What specific patents are you referring to here, please provide links to the citations
Samba has been ditched by apple for example over GPLv3. They went out of their way to write their own SMB daemon due to the license change.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Extreme networks uses linux. They are about to become the 4th largest switch manufacturer after the purchase of Enterasys who are of roughly equal size.
XOS isn't very linuxy, but it is Linux, source available from them by emailing software-at-extremenetworks.com.
In the last year or so we've basically stopped selling anything apart from extreme. Specific requests for other vendors has pretty much stopped, so Extreme has become our default offering and is generally always accepted.