An awesome list about Software Defined Networks (SDN)
Software-defined networking (SDN) is an approach to computer networking that allows network administrators to manage network services through abstraction of higher-level functionality. Wiki : Software-Defined Networking
- PicOS - A SDN OS for white box switches Layer-2/3 feature set with support for OpenFlow, OVSDB, and other protocols.
- Open Network Linux, ONL - A Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components.
- OpenSwitch - A linux network oerating system from Dell EMC.
- Cumulus Linux - Cumulus Linux is a powerful open network operating system that allows you to automate, customize and scale using web-scale principles like the world's largest data centers.
- OcNOS - Extensive switching and routing protocol support with advanced capabilities such as MPLS and SDN
- FlexSwitch - The first open source network protocol suite offering complete layer2/layer3 functionality for accelerating development and deployment of whitebox networking gear
- ONIE - ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems.
- 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.
- ZeroTier - ZeroTier is a software-based managed Ethernet switch for planet Earth.
- PISCES - A Programmable, Protocol-Independent Software Switch.
- BESS - Berkeley Extensible Software Switch, BESS is a modular framework for software switches.
- 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.
- 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.
- NETCONF
- OpFlex
- Path Computation Element Protocol, PCEP
- Extensible Messaging and Presence Protocol, XMPP
- NOX - An open source development platform for C++-based software-defined networking (SDN) control applications.
- NodeFlow - An OpenFlow Controller Node Style.
- ONOS - Open Network Operating System.
- OpenDaylight - OpenDaylight Platform
- 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.
- Mininet - An Instant Virtual Network on your Laptop (or other PC)
- 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.
- Containernet - Mininet fork that allows to use Docker containers as hosts in emulated networks
- 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.
- POF - Protocol Oblivious Forwarding
- 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.
- 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.
- Scapy - Scapy is a powerful interactive packet manipulation program.
- 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.
- Cbenech - Benchmarking tool for controllers
- OPNFV - Accelerating NFV's evolution through an integrated, open platform.
- VXLAN - Virtual Extensible LAN
- NVGRE - NVGRE-Network-Virtualization-using-Generic-Routing-Encapsulation
- FreeRouter - Python-based vRouter
- Bird
- Quagga
- FRRouting - An IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.
- BGPFeeder
- bgp4r
- gobgp
- yabgp
- Central Office Re-architected as a Datacenter, CORD - Reference Implementation of a Service Delivery Platform that Provides Cloud Economies and Agility.
- OPEN-Orchestrator Project, Open-O
- Open Source MANO Community, OSM
- Enhanced Controller Orchestration Management Policy, ECOMP - Operations management framework.
- Open Network Automation Platform, ONAP - Alignment of the two projects creates a harmonized and comprehensive framework for real-time, policy-driven software automation of virtual network functions that will enable software, network, IT and cloud providers and developers to rapidly create new services.
- SDN: Software Defined Networks: An Authoritative Review of Network Programmability Technologies
- 圖解OpenFlow
- 重构网络-SDN架构与实现
- 深度解析SDN: 利益、战略、技术、实践
- SDN核心技术剖析和实战指南
- 软件定义网络:SDN与OpenFlow解析
- Network Algorithmics:An Interdisciplinary Approach to Designing Fast Networked Devices
- Network Programmability and Automation Skills for the Next-Generation Network Engineer
- SDN网络指南(OpenSource Book in Chinese by Pengfei Ni)