update lists

This commit is contained in:
2025-07-18 22:22:32 +02:00
parent 55bed3b4a1
commit 5916c5c074
3078 changed files with 331679 additions and 357255 deletions

View File

@@ -1,5 +1,5 @@
 Awesome SDN !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome) !Build Status 
 (https://travis-ci.org/sdnds-tw/awesome-sdn.svg?branch=master) (https://travis-ci.org/sdnds-tw/awesome-sdn)
 Awesome SDN !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome) !Build Status (https://travis-ci.org/sdnds-tw/awesome-sdn.svg?branch=master) 
 (https://travis-ci.org/sdnds-tw/awesome-sdn)
An awesome list about Software Defined Networks (SDN)
@@ -26,11 +26,11 @@
 - Books (#books)
 - Paper (#paper)
 Introduction
 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 (https://en.wikipedia.org/wiki/Software-defined_networking)
 Network Operating System
 Network Operating System
- Beluganos (https://github.com/beluganos/beluganos) - Beluganos is a new network OS designed for white-box switches (OF-DPA), which can apply large-scale networks.
- Cumulus Linux (https://cumulusnetworks.com) - 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.
@@ -44,11 +44,11 @@
- SONiC (https://azure.github.io/SONiC/) - Software for Open Networking in the Cloud SONiC
- Stratum (https://stratumproject.org/) - An open source, silicon-independent switch operating system for software-defined networks
 Install Environment
 Install Environment
- ONIE (http://onie.org/) - ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems.
 Software Switch
 Software Switch
- BESS (https://github.com/NetSys/bess) - Berkeley Extensible Software Switch, BESS is a modular framework for software switches.
- bmv2 (https://github.com/p4lang/behavioral-model)- A P4 software switch which is usually used as a tool to verify the funtions the developers describe in P4 language.
@@ -62,12 +62,12 @@
- snabbswitch (https://github.com/SnabbCo/snabbswitch) - An open source virtualized Ethernet networking stack.
- ZeroTier (https://github.com/zerotier/ZeroTierOne) - ZeroTier is a software-based managed Ethernet switch for planet Earth.
 Network Virtualization
 Network Virtualization
- FlowVisor (https://github.com/opennetworkinglab/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 (https://github.com/opennetworkinglab/OpenVirteX) - A network hypervisor that can create multiple virtual and programmable networks on top of a single physical infrastructure.
 Protocol
 Protocol
- OpenFlow (https://www.opennetworking.org/sdn-resources/openflow) - A communications protocol that gives access to the forwarding plane of a network switch or router over the network.
- OF-Config (https://www.opennetworking.org/technical-communities/areas/specification/of-config/) - OpenFlow Management and Configuration Protocol
@@ -80,7 +80,7 @@
- gNMI (https://github.com/openconfig/gnmi/) - gRPC Network Management Interface
- gNOI (https://github.com/openconfig/gnoi) - gRPC Network Operations Interface
 Controller
 Controller
- Beehive Network Controller (https://github.com/kandoo/beehive-netctrl) - A distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols.
- Floodlight (https://github.com/floodlight/floodlight) - A java-based OpenFlow controller.
@@ -92,8 +92,8 @@
- OESS (https://github.com/globalnoc/oess) - The Open Exchange Software Suite to configure and control OpenFlow Enabled switches.
- ONOS (http://onosproject.org) - Open Network Operating System.
- Open MUL (http://www.openmul.org/openmul-controller.html) - A lightweight SDN/Openflow controller written almost entirely in C from scratch.
- Open Security Controller (https://www.opensecuritycontroller.org/) - Software-defined security orchestration solution that automates deployment of virtualized network security functions, like next-generation firewall, intrusion 
prevention systems and application data controllers
- Open Security Controller (https://www.opensecuritycontroller.org/) - Software-defined security orchestration solution that automates deployment of virtualized network security functions, like next-generation firewall, intrusion prevention 
systems and application data controllers
- OpenContrail (https://tungsten.io/opencontrail-is-now-tungsten-fabric/) - A SDN project that utilizes SDN & NFV and provides all the necessary components for network virtualization.
- OpenDaylight (https://www.opendaylight.org) - OpenDaylight Platform
- OVN (http://www.openvswitch.org//support/slides/OVN-Vancouver.pdf) - OVN: Open Virtual Network for Open vSwitch
@@ -103,7 +103,7 @@
- Trema (https://trema.github.io/trema/) - A full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C.
- Vyatta (https://github.com/BRCDcomm/BVC/) - The first commercial Controller built directly from OpenDaylight.
 Simulator/Emulator
 Simulator/Emulator
- Containernet (https://github.com/containernet/containernet) - Mininet fork that allows to use Docker containers as hosts in emulated networks
- EstiNet (http://www.estinet.com/products.php?lv1=13&sn=13) - A world-renowned software tool for network planning
@@ -113,7 +113,7 @@
- OpenNet (http://github.com/dlinknctu/opennet) - A simulator for software-defined wireless local area network
- Tinynet (https://github.com/John-Lin/tinynet) - A lightweight instant virtual network for rapid prototyping SDN
 Language
 Language
- Frenetic (https://github.com/frenetic-lang/frenetic) - The Frenetic Programming Language and Runtime System
- NEMO (https://wiki.onosproject.org/display/ONOS/NEMO+Language) - A domain specific language (DSL) based on abstraction of network models and conclusion of operation patterns.
@@ -121,7 +121,7 @@
- POF (https://dl.acm.org/citation.cfm?id=2491190) - Protocol Oblivious Forwarding
- Pyretic (http://www.frenetic-lang.org/pyretic/) - Pyretic is one member of the Frenetic family of SDN programming languages.
 Library
 Library
- loxigen (https://github.com/floodlight/loxigen) - LoxiGen is a tool that generates OpenFlow protocol libraries for a number of languages.
- nettle (https://github.com/AndreasVoellmy/openflow) - A Haskell library for working with the OpenFlow protocol.
@@ -131,7 +131,7 @@
- OpenFlowJ (https://bitbucket.org/openflowj/openflowj) - A Java implementation of low-level OpenFlow packet marshalling/unmarshalling and IO operations.
- Scapy (http://www.secdev.org/projects/scapy/) - Scapy is a powerful interactive packet manipulation program.
 Test
 Test
- Cbenech (https://github.com/mininet/oflops/tree/master/cbench) - Benchmarking tool for controllers
- nice-of (https://code.google.com/archive/p/nice-of/) - A tool to test OpenFlow controller application for the NOX controller platform.
@@ -140,70 +140,70 @@
- ptf (https://github.com/p4lang/ptf) - A python based dataplane test framework based on unittest.
- STS (https://ucb-sts.github.com/sts/) - SDN Troubleshooting System, simulates network devices, allowing programmatically test cases generation.
 NFV
 NFV
- OPNFV (https://www.opnfv.org) - Accelerating NFV's evolution through an integrated, open platform.
 Overlay Network
 Overlay Network
- GENEVE (https://www.redhat.com/en/blog/what-geneve) - What is GENEVE?
- NVGRE (https://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00) - NVGRE-Network-Virtualization-using-Generic-Routing-Encapsulation
- VXLAN (https://en.wikipedia.org/wiki/Virtual_Extensible_LAN) - Virtual Extensible LAN
 Router
 Router
- bgp4r (https://github.com/jesnault/bgp4r) - BGP4R is a ruby library which enables the creation and manipulation of BGP messages. In BGP4R, all well-known BGP constructs are defined in classes.
- BGPFeeder (https://github.com/BytemarkHosting/bgpfeeder)
- Bird (http://bird.network.cz/) - The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General
Public License.
- Bird (http://bird.network.cz/) - The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General Public 
License.
- FreeRouter (http://freerouter.nop.hu/) - Java-based vRouter
- FRRouting (https://frrouting.org/) - An IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng, PIM-SM/MSDP and LDP as well as very early support for
IS-IS, EIGRP and NHRP.
- FRRouting (https://frrouting.org/) - An IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng, PIM-SM/MSDP and LDP as well as very early support for IS-IS, 
EIGRP and NHRP.
- gobgp (https://github.com/osrg/gobgp) - GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language.
- Quagga (http://www.quagga.net/) - Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of
GNU Zebra which was developed by Kunihiro Ishiguro.
- yabgp (https://github.com/smartbgp/yabgp) - YABGP is a yet another Python implementation for BGP Protocol. It can be used to establish BGP connections with all kinds of routers (include real Cisco/HuaWei/Juniper routers and some 
router simulators like GNS3) and receive/parse BGP messages for future analysis.
- Quagga (http://www.quagga.net/) - Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra
which was developed by Kunihiro Ishiguro.
- yabgp (https://github.com/smartbgp/yabgp) - YABGP is a yet another Python implementation for BGP Protocol. It can be used to establish BGP connections with all kinds of routers (include real Cisco/HuaWei/Juniper routers and some router 
simulators like GNS3) and receive/parse BGP messages for future analysis.
 Misc
 Misc
- Aether Project (https://www.opennetworking.org/aether/) - the first open source Enterprise 5G/LTE Edge-Cloud-as-a-Service platform (ECaaS).
- Central Office Re-architected as a Datacenter, CORD (http://opencord.org) - Reference Implementation of a Service Delivery Platform that Provides Cloud Economies and Agility.
- Mininet Spear Narmox (http://mininet.spear.narmox.com) - A online web service provides a visualization of Mininet Topology
- Open Network Automation Platform, ONAP (https://www.onap.org/) - 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.
- Open Network Automation Platform, ONAP (https://www.onap.org/) - 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.
- Open Source MANO Community, OSM (https://osm.etsi.org/welcome/)
- OPEN-Orchestrator Project, Open-O (https://www.open-o.org)
 High Performance Network
 High Performance Network
- ASAP2 (http://www.mellanox.com/blog/2016/12/three-ways-asap2-beats-dpdk-for-cloud-and-nfv/) - The ASAP2 accelerator is built on top of eSwitch NIC hardware, and allows either the entire virtual switch, or significant portions of 
virtual switch or distributed virtual router (DVR) operations to be offloaded to the Mellanox NIC
- ASAP2 (http://www.mellanox.com/blog/2016/12/three-ways-asap2-beats-dpdk-for-cloud-and-nfv/) - The ASAP2 accelerator is built on top of eSwitch NIC hardware, and allows either the entire virtual switch, or significant portions of virtual switch 
or distributed virtual router (DVR) operations to be offloaded to the Mellanox NIC
- DPDK (http://dpdk.org/) - DPDK is a set of libraries and drivers for fast packet processing.
- RDMA (https://en.wikipedia.org/wiki/Remote_direct_memory_access) - Remote direct memory access (RDMA) is a direct memory access from the memory of one computer into that of another without involving either one's operating system. This
permits high-throughput, low-latency networking
- RDMA (https://en.wikipedia.org/wiki/Remote_direct_memory_access) - Remote direct memory access (RDMA) is a direct memory access from the memory of one computer into that of another without involving either one's operating system. This permits 
high-throughput, low-latency networking
- XDP (https://www.iovisor.org/technology/xdp) - XDP or eXpress Data Path provides a high performance, programmable network data path in the Linux kernel as part of the IO Visor Project.
It is designed to run on any processors. The first supported CPU was Intel x86 and it is now extended to IBM POWER and ARM.
 Userspace Network Stack
 Userspace Network Stack
- drv-netif-dpdk (https://github.com/rumpkernel/drv-netif-dpdk) - drv-netif-dpdk is a DPDK network interface for rump kernels. The combined result is a userspace TCP/IP stack doing packet I/O via DPDK.
- f-stack (https://github.com/F-Stack/f-stack) - F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
- mTCP (https://github.com/eunyoung14/mtcp) - mTCP is a highly scalable user-level TCP stack for multicore systems. mTCP source code is distributed under the Modified BSD License. For more detail, please refer to the LICENSE. The 
license term of io_engine driver and ported applications may differ from the mTCPs.
- net-next-nuse (https://github.com/libos-nuse/net-next-nuse) - Network Stack in Userspace (NUSE) NUSE allows us to use Linux network stack as a library which any applications can directory use by linking the library. Each application 
has its own network stack so, it provides an instant virtualized environment apart from a host operating system.
- nff-go (https://github.com/intel-go/nff-go) - NFF-Go becomes part of DPDK project umbrella under Linux Foundation! Mirror repo can be found here: http://dpdk.org/browse/apps/nff-go/. We will accept patches through DPDK mail-list and 
standard DPDK contribution process too.
- mTCP (https://github.com/eunyoung14/mtcp) - mTCP is a highly scalable user-level TCP stack for multicore systems. mTCP source code is distributed under the Modified BSD License. For more detail, please refer to the LICENSE. The license term of 
io_engine driver and ported applications may differ from the mTCPs.
- net-next-nuse (https://github.com/libos-nuse/net-next-nuse) - Network Stack in Userspace (NUSE) NUSE allows us to use Linux network stack as a library which any applications can directory use by linking the library. Each application has its own
network stack so, it provides an instant virtualized environment apart from a host operating system.
- nff-go (https://github.com/intel-go/nff-go) - NFF-Go becomes part of DPDK project umbrella under Linux Foundation! Mirror repo can be found here: http://dpdk.org/browse/apps/nff-go/. We will accept patches through DPDK mail-list and standard 
DPDK contribution process too.
 Analytics
 Analytics
- Apache Spot (http://spot.incubator.apache.org/) - Community-driven cybersecurity project, built from the ground up, to bring advanced analytics to all IT Telemetry data on an open, scalable platform
- PNDA (http://pnda.io/) - The scalable, open source big data analytics platform for networks and services.
- SNAS (http://www.snas.io/) - Streaming Network Analytics System (project SNAS) is a framework to collect, track and access tens of millions of routing objects (routers, peers, prefixes) in real time.
 Resources
 Resources
Books
- DevOps for Networking (https://www.packtpub.com/networking-and-servers/devops-networking)
@@ -228,3 +228,5 @@
Awesome Posts
- VXLAN L3应用EVPN呈现完整overlay网络 (https://www.sdnlab.com/19879.html)
sdn Github: https://github.com/sdnds-tw/awesome-sdn