Skip to content

Latest commit

 

History

History
81 lines (53 loc) · 9.32 KB

project-list.md

File metadata and controls

81 lines (53 loc) · 9.32 KB

Open Source Networking Projects

Feel free to issue a pull request to make any change to the existing list or add net new projects.

Note: Please keep the descriptions concise and also include a link if you are going to add a project.

Established in April 2013 is an open source Software Defined Networking (SDN) controller platform(s). There are different controller platforms for different use cases.

Established in the late 2000s, the OpenFlow 1.0 release launched in December 2009. The Open Networking Foundation took over the development (not actually coding) of OpenFlow when ONF formed in late March / early April in 2010.

Established in mid to late 2009 by the Nicira team to replace the standard Linux bridge. It’s goal was to provide full featured switching capabilities to virtual environments running in Linux based hypervisors such as KVM and XEN. It’s also now being used to inter-connect containers.

Just established last week and will be a sub project of the OVS project. Its goal is to provide native abstractions to OVS to simplify the provisioning of logical segments, logical routers, and security groups without requiring a SDN controller (initially for OpenStack environments).

Formerly known as Quantum, it is the core networking project and API for the OpenStack project. For networks to be orchestrated by OpenStack, they must have a neutron plug in. It officially became a core project in the OpenStack Folsom release.

Launched in early 2014 by Cisco as a way to create, deploy, and manage policies. It’s initially being used as part of the Cisco Application Centric Infrastructure (ACI) solution. Cisco has also submitted it to the IETF and is contributing work around OpFlex to the ODL and OpenStack Neutron communities. The OpFlex project consists of three things: the OpFlex protocol, SB plugin, and the policy agent.

Initially created in 2013 by Plexxi, the DSE has become part of the OpenStack Congress project (focused on policy). The DSE could revolutionize how different products and solutions communicate with one another. I’ll go out on a limb and say it could be the foundation for machine learning in the data center (and IT, more generally).

This one has been around for some time, but is gaining more visibility with companies like Cumulus actively promoting open networking. Quagga is a routing software suite and has open source implementations of OSPF, RIP, BGP, etc.

Juniper acquired Contrail, a network virtualization company, in December 2012. Shortly after, they open sourced the product and called it OpenContrail.

The network virtualization product by Midokura was just open sourced less than 3 months ago. Like a few other startups and solutions out there, they have been primarily focused on networking for OpenStack clouds.

Created by Cumulus Networks in 2012 and later adopted by the Open Compute Project (OCP), it is a lightweight operating system serving as a boot loader for bare metal switches allowing users to have choice in which operating systems can be used and loaded. Cumulus, Big Switch, OCP, Pica8, Dell, and Plexxi (they’ve committed to it, but don’t know where they stand) are now shipping switches with ONIE pre-installed and/or support ONIE in their software. You can find plenty whitebox/bare metal platforms that ship with ONIE that will allow you to load network operating systems like Cumulus Linux, Open Networking Linux, PicOS, etc.

Has been around since 2011 initially established by Facebook to share some of their hardware designs, but also to help accelerate hardware and software innovation in the open source world. OCP Networking was later established in early to mid 2013, publicly launched at Interop in 2013. It’s since been working on open source architectures for data center top of rack switches.

Created by Cumulus in 2013 as a way to dynamically verify there is up to date and accurate cabling in place in switched networks. This is great and I do hope other vendors adopt PTM. I’ve been developing external (off box) functionality to do the same thing. Check out my blog for more details.

Emerged onto the scene in late 2013 by Big Switch Networks and is now part of the Open Compute Project (OCP). ONL is a base level Linux distribution for bare metal switches. One of its main goals is to be the foundation of which others/vendors can build commercial solutions on top of bare-metal switches. Big Switch’s SwitchLight OS is an example, and is built on top of ONL.

Similar to Quagga, it is an open source routing platform for Linux systems. In contrast to Quagga, BIRD offers multiple-RIB design, is often used as a route server, and does not support ISIS. On the other hand, Quagga is a single-RIB design, supports ISIS, and it’s not even recommended to be used as a route server.

Many are aware of Snort, but it’s an open source IDS/IPS; its commercial version came via SourceFire, a company which Cisco acquired in 2013.

ExaBGP is an application designed to provide an easy way for programmers and system admistrators to interact with BGP networks. The program is designed to allow the injection of arbitrary routes into a network, including IPv6 and FlowSpec. A common use case is to run ExaBGP on a server, create high availability architectures, anycasting, load balancer replacement and more.

Introduced in late 2014, ONOS is a new open source entrant into the SDN controller space. It has the backing of primarily service providers and is intended to be "carrier grade". It includes some interesting distributed systems components such as Apache Zookeeper for leader election, coordindation and consensus and Titan for the graph database. Competes with OpenDaylight.

A network virtualization platform that sits in between an Openflow controller and the physical network. OVX is a network hypervisor that can create multiple virtual and programmable networks on top of a single physical infrastructure. Each tenant can use the full addressing space, specify their own topology, and deploy the network OS of their choice. Networks are reconfigurable at run-time, and OVX can automatically recover from physical network failures.

A network simulator for SDN research and education. Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native) for interactively testing networking software.

There are plenty more open source projects that will directly impact networking too. A few of them include:

There are plenty of these still out there, many in academia

Open source tooling for source control, code review, testing, and continuous integration. These aren’t too popular in the network community, but they can definitely have a positive impact.

New onto the network scene, SocketPlane and Weave are building open source networking solutions for Docker and Akanda (spin out from Dreamhost) is building an open source network virtualization platform for OpenStack environments.

Here is an increasing amount of open source automation and configuration management tools that have been around for quite some time, but we’re just starting to see what kind of impact and what the integrations will look like for the network community

And we can’t forget about OpenNMS, Zenoss Core, Nagios Core, etc. If you want to add more to this list, feel free to write in or comment below.