跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) 聊天机器人(10) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) 编程语言(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

category

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

  • Beluganos - Beluganos is a new network OS designed for white-box switches (OF-DPA), which can apply large-scale networks.
  • 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.
  • FlexSwitch - The first open source network protocol suite offering complete layer2/layer3 functionality for accelerating development and deployment of whitebox networking gear
  • Mion - A switch OS based on ONLP API and Yocto project.
  • OcNOS - Extensive switching and routing protocol support with advanced capabilities such as MPLS and SDN
  • Open Network Linux, ONL - A Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components.
  • OpenSwitch - A linux network operating system from Dell EMC.
  • OpenWrt - Is a Linux Operating System targeting embedded devices.
  • PicOS - A SDN OS for white box switches Layer-2/3 feature set with support for OpenFlow, OVSDB, and other protocols.
  • SONiC - Software for Open Networking in the Cloud SONiC
  • Stratum - An open source, silicon-independent switch operating system for software-defined networks

Install Environment

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

Software Switch

  • BESS - Berkeley Extensible Software Switch, BESS is a modular framework for software switches.
  • bmv2- A P4 software switch which is usually used as a tool to verify the funtions the developers describe in P4 language.
  • CPqD- An OpenFlow 1.3 compatible user-space software switch implementation
  • FD.IO - Relentlessly focused on data IO speed and efficiency for more flexible and scalable networks and storage
  • Indigo - Indigo is an open source project aimed at enabling support for OpenFlow on physical and hypervisor switches.
  • Lagopus - A high-performance software OpenFlow 1.3 switch.
  • LINC-Switch - A pure OpenFlow software switch written in Erlang
  • Open vSwitch - Open vSwitch is a production quality, multilayer virtual switch.
  • PISCES - A Programmable, Protocol-Independent Software Switch.
  • snabbswitch - An open source virtualized Ethernet networking stack.
  • ZeroTier - ZeroTier is a software-based managed Ethernet switch for planet Earth.

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

  • Beehive Network Controller - A distributed SDN controller built on top of Beehive. It supports OpenFlow but can be easily extended for other southbound protocols.
  • Floodlight - A java-based OpenFlow controller.
  • IRIS - A Resursive SDN Openflow Controller created by SDN Research Section, ETRI.
  • lighty.io core - lighty.io core components - An open source development framework for building Java-based SDN controllers.
  • Netrack - An OpenFlow controller framework in Go.
  • NodeFlow - An OpenFlow Controller Node Style.
  • NOX - An open source development platform for C++-based software-defined networking (SDN) control applications.
  • OESS - The Open Exchange Software Suite to configure and control OpenFlow Enabled switches.
  • ONOS - Open Network Operating System.
  • Open MUL - A lightweight SDN/Openflow controller written almost entirely in C from scratch.
  • Open Security Controller - 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 - A SDN project that utilizes SDN & NFV and provides all the necessary components for network virtualization.
  • OpenDaylight - OpenDaylight Platform
  • OVN - OVN: Open Virtual Network for Open vSwitch
  • POX - An open source development platform for Python-based software-defined networking (SDN) control applications.
  • Ravel - A software-defined networking (SDN) controller that uses a standard SQL database to represent the network.
  • Ryu - A component-based software defined networking framework.
  • Trema - A full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C.
  • Vyatta - The first commercial Controller built directly from OpenDaylight.

Simulator/Emulator

  • Containernet - Mininet fork that allows to use Docker containers as hosts in emulated networks
  • EstiNet - A world-renowned software tool for network planning
  • MaxiNet - MaxiNet extends the famous Mininet emulation environment to span the emulation across several physical machines. This allows to emulate very large software-defined networks.
  • Mininet - An Instant Virtual Network on your Laptop (or other PC)
  • ns-3 - A discrete-event network simulator that supports OpenFlow environment.
  • OpenNet - A simulator for software-defined wireless local area network
  • Tinynet - A lightweight instant virtual network for rapid prototyping SDN

Language

  • Frenetic - The Frenetic Programming Language and Runtime System
  • NEMO - A domain specific language (DSL) based on abstraction of network models and conclusion of operation patterns.
  • 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
  • Pyretic - Pyretic is one member of the Frenetic family of SDN programming languages.

Library

  • loxigen - LoxiGen is a tool that generates OpenFlow protocol libraries for a number of languages.
  • nettle - A Haskell library for working with the OpenFlow protocol.
  • OCaml OpenFlow - A serialization and protocol library for OpenFlow.
  • oflib-node - Oflib-node is an OpenFlow protocol library for Node. It converts between OpenFlow wire protocol messages and Javascript objects.
  • openfaucet - openfaucet is a pure Python implementation of the OpenFlow 1.0.0 protocol, based on Twisted.
  • OpenFlowJ - A Java implementation of low-level OpenFlow packet marshalling/unmarshalling and IO operations.
  • Scapy - Scapy is a powerful interactive packet manipulation program.

Test

  • Cbenech - Benchmarking tool for controllers
  • nice-of - A tool to test OpenFlow controller application for the NOX controller platform.
  • oftest - OpenFlow Testing Framework
  • OpenSDNCore - Virtualisation Testbed for NFV/SDN Environment.
  • ptf - A python based dataplane test framework based on unittest.
  • STS - SDN Troubleshooting System, simulates network devices, allowing programmatically test cases generation.

NFV

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

Overlay Network

  • GENEVE - What is GENEVE?
  • NVGRE - NVGRE-Network-Virtualization-using-Generic-Routing-Encapsulation
  • VXLAN - Virtual Extensible LAN

Router

  • 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
  • Bird - 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 - Java-based vRouter
  • FRRouting - 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 - 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 - 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 - 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

High Performance Network

  • ASAP2 - 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 - DPDK is a set of libraries and drivers for fast packet processing.
  • RDMA - 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 - 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

  • 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 - F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
  • 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 mTCP’s.
  • 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 - 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

  • Apache Spot - Community-driven cybersecurity project, built from the ground up, to bring advanced analytics to all IT Telemetry data on an open, scalable platform
  • PNDA - The scalable, open source big data analytics platform for networks and services.
  • SNAS - 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

Books

Paper

Awesome Posts

原文:https://github.com/sdnds-tw/awesome-sdn

文章链接