Slashdot Mirror


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."

12 of 192 comments (clear)

  1. Doesn't matter by Drewdad · · Score: 5, Interesting

    Network and SAN will go (are already going) virtual the same way hardware has.

  2. Already happening - slowly by Anonymous Coward · · Score: 5, Interesting

    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.

    1. Re:Already happening - slowly by LoRdTAW · · Score: 4, Interesting

      Xenomai is already a threat to VxWorks as it supports the VxWorks API as well as its Native API, POSIX, uITRON and a few other RTOS API's. The current version is a dual kernel system with the Xenomai kernel running at priority but the next version will integrate with PREEMPT_RT which will expose its supported API's to PREEMPT_RT so you can run either kind of system.

    2. Re:Already happening - slowly by Anonymous Coward · · Score: 2, Interesting

      High end networking gear (read datacenter switches) don't care about hard real time (or even soft real time). That's because it would be insane to switch packets in software. Yes, Linux or a BSD variant is already used in a lot of network operating systems - most of the modern network operating systems are in fact built on top of Linux (Arista EOS, Cisco NX-OS, Cisco IOS-XE for e.g.) or BSD (Juniper JunOS). The key difference is the degree to which the underlying operating system gets exposed to end users. There is also a great deal of variance in how the OS gets implemented on top of Linux - a big binary Blob (Cisco IOS-XE) or true multi-process OSs which take advantage of the underlying Linux kernel (Arista EOS and to some extent Cisco NX-OS). Either way, typically what you get is a "walled garden" CLI or Web GUI interface, so that you don't get exposed to the underlying Linux OS (for e.g. Cisco NX-OS) but there are operating systems already out there which are NOT "walled gardens" (for e.g. Arista EOS).

      What Dinesh talks is an Network Operating System that's truly open i.e. without the above "walled garden", not necessarily open as in Open Source. The networking protocols that run on the device may or may not be open source (Cumulus OS is currently not Open Source AFAICT, though they may have plans to do that in future for all I know). What's "open" here is that, you really build on top of Linux (i.e use the Linux networking stack), do your network operating configuration (configuring a protocol, adding a static route etc) not via a vendor CLI interface but instead a sysadmin friendly Linux command line or conf files. It's not clear from the article whether Cumulus uses conf files or provides additional command line tools for configuration. But the point is you can run your usual ps, top, strace Linux tools or look at routes via "ip route" command etc.

      It's not like Cumulus is the first company to have thought of this. Arista EOS already does this; it's basically Fedora Linux with a familiar (from a Network Engineer perspective) vendor CLI interface but you can drop down to bash at any time. Internally EOS takes advantage of the underlying Linux infra as far as possible (network namespaces for VRF for example).

      Disclosure: I currently work for Arista Networks but have worked on Cisco Network Operating systems in an earlier life.

  3. Apollo Computer - Domain Operating System by tedgyz · · Score: 4, Interesting

    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
    1. Re:Apollo Computer - Domain Operating System by rwyoder · · Score: 4, Interesting

      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.

      I had the misery of working with Apollos at one employer.
      There were two major issues in my opinion:

      1. Security: There wasn't any. If you logged into just *one* host, you could change ANYTHING on ANY OTHER HOST.
              Imagine NFS-exporting "/" read/write to the world.

      2. There was an environment variable that could be set to mimic either SYSV Unix, of BSD Unix.
              The reality was it didn't emulate either, making attempts to compile/run open-source sw an exercise in futility.

  4. Network fabric != shell scripts by mlts · · Score: 4, Interesting

    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.

  5. Re:Juniper uses FreeBSD by jhealy1024 · · Score: 4, Interesting

    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?

  6. Make every packet light by acscott · · Score: 1, Interesting

    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.)

  7. Patent-inhibited memory management complications? by codeusirae · · Score: 3, Interesting

    "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 ..

  8. Re:Sorry, but no: BSD will dominate this domain. by smash · · Score: 3, Interesting

    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.
  9. Re:No not really by Anonymous Coward · · Score: 2, Interesting

    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.