One of the more popular water cooler discussions for network engineers revolves around the topic of open networking. While open networking can have a lot of different meanings, for the purposes of this article it generally involves pairing an open source networking operating system with generic, commodity hardware, or running the NOS inside a virtual machine. This disaggregation sounds exciting, yet it can be hard to know how to begin dabbling in this open networking universe. In this blog, I'll offer some ideas to help point you in the right direction.
The benefits of open networking are described as two-fold. First, there is the potential to save a great deal of money when using white-box hardware and open source software as opposed to a proprietary vendor solution. The markups on traditional networking hardware/software sales can be significant and that markup is largely eliminated when using white-box gear. The other key benefit is the added level of configurability that comes with working with open source network operating systems. You also gain the ability to add additional applications/tools directly onto the hardware that would not be allowed using proprietary packaged solutions.
The concept of software-defined networking is integral to the open networking movement. In an SDN environment, intelligence is centralized in the control plane, as opposed to distributed throughout each network appliance. Because of this, network hardware such as switches/routers become little more than "dumb" devices that forward traffic based on the instructions given by the controller. So the idea is that one could use an open source controller operating system to manage the forwarding tables of low-cost commodity hardware distributed throughout a data center or campus network.
Open networking is something that all network engineers should at least check out. But here’s the big problem for many: Jumping into open networking can be overwhelming and expensive if not done carefully. I recommend easing your way in, and a great place to start is with your home router. DD-WRT is a popular open source router OS that can be downloaded and installed on a number of popular consumer-grade router platforms including ones from vendors such as Belkin, Linksys and D-Link. DD-WRT will help get you prepared for the world of open source networking with little to no investment.
Another great option is to look into setting up an OpenSwitch virtual appliance. OpenSwitch is a multi-layer switch operating system for enterprise-class networks. But before you install OpenSwitch on physical hardware, you may want to opt for a virtualized experience. Instructions on how to install and perform initial setup of an OpenSwitch virtual appliance can be found here.
Once you build experience with open networking using DD-WRT and OpenSwitch, you might want to try out more complex platforms. One option is to play with fully virtual SDN environments such as Cumulus VX or a combo physical/virtual solution like Big Switch Networks Community Edition with the purchase of a white-box switch. Another option is to purchase a branded white-box switch with the networking OS already pre-installed from vendors such as Dell and HPE.
Keep in mind that open networking doesn't simply begin and end with routers and switches. In fact, it's pretty easy to find open source options for firewalls, load balancers and just about any other network appliance or service imaginable. It's really up to you to determine how far down the rabbit hole you wish to go.