Giter Club home page Giter Club logo

awesome-sdn's Introduction

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

awesome-sdn's People

Contributors

chenxiang2019 avatar hwchiu avatar jalenlin avatar john-lin avatar kumarrishabh42 avatar peterdavehello avatar pichuang avatar samycoenen avatar yi-tseng avatar

Watchers

 avatar  avatar

Forkers

leomarviegas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.