Skip to content

homelaber/awesome-sdn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome SDN Awesome Build Status

An awesome list about Software Defined Networks (SDN)

Introduction

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

Network Operating System

  • 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

Install Environment

  • ONIE - ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems.

Software Switch

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

Network Virtualization

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

Protocol

Controller

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

Simulator/Emulator

  • 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

Language

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

Library

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

Test

  • 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

NFV

  • OPNFV - Accelerating NFV's evolution through an integrated, open platform.

Overlay Network

  • VXLAN - Virtual Extensible LAN
  • NVGRE - NVGRE-Network-Virtualization-using-Generic-Routing-Encapsulation

Router

Misc

Resources

Books

Paper

About

A awesome list about Software Defined Network (SDN) ,

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published