A curated list of awesome SDN (Software Defined Networking) papers, projects and communities. Inspired by awesome-go and awesome-deep-learning-papers.
Table of Contents
- Awesome - Software Defined Networking
Before this list, there exist other lists to summarize the resources about SDN, such as Google SDN Reading List, ONF Recommended SDN Reading List and Awesome SDN from sdnds-tw. But these lists only focus on one aspect of the classic research papers, popular opensource projects and well-known communities. In my opinion, a comprehensive list about all of the aspects I just mentioned is necessary. Both beginners and professional people will benefit from it.
The initial version is forked from SDNDS-TW but re-organized. Thanks again!
- ONOS - Open Network Operating System.
- OpenDaylight - OpenDaylight Platform
- NOX - An open source development platform for C++-based software-defined networking (SDN) control applications.
- NodeFlow - An OpenFlow Controller Node Style.
- POX - A networking software platform written in Python
- Ryu - A component-based software defined networking framework.
- Floodlight - A java-based openflow controller.
- Vyatta - The first commercial Controller built directly from OpenDaylight.
- OpenContrail - A SDN project that utilizes SDN & NFV and provides all the necessary components for network virtualization.
- IRIS - A Resursive SDN Openflow Controller created by SDN Research Section, ETRI.
- Open MUL - A lightweight SDN/Openflow controller written almost entirely in C from scratch.
- OESS - The Open Exchange Software Suite to configure and control OpenFlow Enabled switches.
- Beehive Network Controller - A distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols.
- Ravel - A software-defined networking (SDN) controller that uses a standard SQL database to represent the network.
- Trema - A full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C.
- OpenvSwtich - Open vSwitch is a production quality, multilayer virtual switch.
- Indigo - Indigo is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches.
- CPqD- An OpenFlow 1.3 compatible user-space software switch implementation
- Lagopus - A high-performance software OpenFlow 1.3 switch.
- LINC-Switch - A pure OpenFlow software switch written in Erlang
- snabbswitch - An open source virtualized Ethernet networking stack.
- PicOS - A SDN OS for white box switches Layer-2/3 feature set with support for OpenFlow, OVSDB, and other protocols.
- OpenNetworkLinux - A Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components.
- OpenSwitch - A linux network oerating system from Hewlett-Packard.
- OpenFlow - A communications protocol that gives access to the forwarding plane of a network switch or router over the network.
- OF-Config - OpenFlow Management and Configuration Protocol
- OVSDB - A communication protocol which used to manage the OpenvSwitch database.
- POF - Protocol Oblivious Forwarding
TBD
- P4 - A declarative language for expressing how packets are processed by the pipeline of a network forwarding element such as a switch, NIC, router or network function appliance.
- Frenetic - The Frenetic Programming Language and Runtime System
- Pyretic - Pyretic is one member of the Frenetic family of SDN programming languages.
- NEMO - A domain specific language (DSL) based on abstraction of network models and conclusion of operation patterns.
- FlowVisor - An OpenFlow controller that acts as a hypervisor/proxy between a switch and multiple controllers. Can slice multiple switches in parallel, effectively slicing a network.
- OpenVirtex - A network hypervisor that can create multiple virtual and programmable networks on top of a single physical infrastructure.
- loxigen - LoxiGen is a tool that generates OpenFlow protocol libraries for a number of languages.
- openfaucet - openfaucet is a pure Python implementation of the OpenFlow 1.0.0 protocol, based on Twisted.
- oflib-node - Oflib-node is an OpenFlow protocol library for Node. It converts between OpenFlow wire protocol messages and Javascript objects.
- OpenFlowJ - A Java implementation of low-level OpenFlow packet marshalling/unmarshalling and IO operations.
- nettle - A Haskell library for working with the OpenFlow protocol.
- OCaml OpenFlow - A serialization and protocol library for OpenFlow.
- Mininet - An Instant Virtual Network on your Laptop (or other PC)
- Multinet - The goal of Multinet is to provide a fast, controlled and resource-efficient way to boot large-scale SDN topologies.
- MaxiNet - A distributed emulator of Software-Defined Networks.
- OpenNet - A simulator for software-defined wireless local area network.
- EstiNet - A world-renowned software tool for network planning.
- ns-3 - A discrete-event network simulator that supports openflow environment.
- NetIDE - Enable Network App programs to be executed, systematically tested, and refined on a variety of concrete SDN platforms.
- PerfSonar - perfSONAR is a network measurement toolkit designed to provide federated coverage of paths, and help to establish end-to-end usage expectations.
- oftest - OpenFlow Testing Framework.
- STS - SDN Troubleshooting System, simulates network devices, allowing programmatically test cases generation.
- nice-of - A tool to test OpenFlow controller application for the NOX controller platform.
- OpenSDNCore - Virtualisation Testbed for NFV/SDN Environment.
- OFLOPS - OpenFlow Operations Per Second. A benchmarking suite for openflow switches.
- OPEN-Orchestrator Project, Open-O
- Enhanced Controller Orchestration Management Policy, ECOMP - Operations management framework.
- Open Network Automation Platform, ONAP - The merger of Open-O and ECOMP.
- Central Office Re-architected as a Datacenter, CORD - Reference Implementation of a Service Delivery Platform that Provides Cloud Economies and Agility.
- Open Source MANO Community, OSM
- ONIE - ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems.
TBD
TBD
TBD
Please go to ONF SDN Reading List. Thanks again to ONF!
Although ONF SDN Reading List has been very comprehensive, we may also find some other interesting papers. We will update this list into ONF SDN Reading List if necessary.
TBD
- COMS E6998: Software Defined Networking by Li Erran Li, Fall 2014, Columbia University
- CPSC 434/534: Topics in Networked Systems by Y. Richard Yang, Spring 2017, Yale University
- ONF - Open Networking Foundation.
- Open Source SDN - A collection of open source projects about SDN. Launched by ONF.
- ON.Lab
- SDxCentral - The Trusted News & Resource Site for Sofware-defined Everything (SDx), SDDC, SDN, SDS, Containers NFV, Cloud and Virtualization.
- SDNHub
- IETF Software Defined Networking Research Group (sdnrg)
- SDNLAB - A leading platform of technology media and service which focus on innovative network technology in China.
- OCP - A collaborative community focused on redesigning hardware technology to efficiently support the growing demands on compute infrastructure.
- Blogging All Things Networking - Blogging All Things Networking, Programming and Computing.
Thanks to Open Networking Foundation for summarizing the awesome paper reading list.
Thanks to SDNDS-TW for drafting the awesome list of SDN software resources.