这一节主要是介绍几种开源的SDN控制器。
NOX/POX。最初的NOX混合了C++和Python两种编程语言,现在演变为两个版本。NOX版本主要面向Linux平台,利用C++开发,目标是提供快速的控制平台;POX版本面向Windows、Mac OS、Linux等多种平台,利用Python开发,目标是提供控制器部署的便利性。两者可以看作是同一种控制器。
NOX采用了组件化的架构,可分为核心组件和应用组件。核心组件是用于和网络直接打交道的底层接口;应用组件既包括NOX本身提供的组件,也包括第三方扩展的组件(包括用户)。与SDN相关的组件包括以下几种:Discovery组件:用于链路发现;Topology组件:用于拓扑管理;Routing组件:用于计算路由信息;Monitoring组件:用于监控交换机工作状态;Authenticator组件:用于记录与定位已认证的主机和用户信息。另外,NOX向上提供REST API接口上层应用使用。
Ryu利用Python语言编写,目标是提供一个拥有逻辑上集中控制能力的SDN操作系统。同样,Ryu采用组件化的架构,并提供大量库函数供SDN应用的开发。其中几个主要组件如下:OF-wire:用于对OpenFlow协议的支持;Topology组件用于链路发现、拓扑管理以及路由计算等功能;OF REST提供REST API供用户配置OpenFlow交换机。另外,Ryu支持与OpenStack云计算管理平台的整合,可以实现资源池化和按需调度。
Floodlight基于Java语言开发,同样采用了模块化的设计架构。Floodlight的软件模块分为控制器模块和应用模块。控制器模块提供了Java API供应用模块调用,同时两类模块还共同支持向上层开发REST API作为北向接口。
《SDN核心技术剖析和实战指南》3.3读书笔记的更多相关文章
-
《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结
OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF- ...
-
《SDN核心技术剖析和实战指南》第一章小结
第一章主要是概况.新技术有一个特点是,每家都有不同的说法.这里我只说说我比较认同的部分. SDN的核心概念大概有两个:转发面与控制面分离.开发可编程化.书里还说逻辑上集中控制,其实这个就可以从转发与控 ...
-
SDN核心技术剖析和实战指南---读书笔记
第一章 SDN定义如下: SDN是一种新兴的基于软件的网络架构及技术,其最大的特点在于具有松耦合的控制平面与数据平面.支持集中化的网络状态控制.实现底层网络设施对上层应用的透明. SDN和NFV: O ...
-
《SDN核心技术剖析和实战指南》3.1控制器核心技术读书笔记
在SDN的架构中,控制器可以说是SDN的核心,它负责对底层转发设备的控制以及向上层应用提供可编程性的北向接口.从实现上看,主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力.下面 ...
-
《SDN核心技术剖析和实战指南》2.1交换机核心技术小结
对于SDN交换机的技术,其实也适用于传统的交换机,只不过控制部分被分离出来而已.传统交换机的控制面主要是转发表的管理以及网络状态之类的各种表,现在这些都由控制器来担心.转发面主要由转发决策.背板和输出 ...
-
《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结
Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...
-
《SDN核心技术剖析和实战指南》2.2OpenFlow交换机规范小结
这节的内容相当多,主要是介绍OpenFlow标准特别是流表的相关特性. 典型的OpenFlow标准由三部分组成:安全通道,流表和OpenFlow协议.注意这个标准是一份设备标准,并不单指OpenFlo ...
-
Java多线程编程实战指南 核心篇 读书笔记
锁 volatile CAS final static 原子性保障 具备 具备 具备 不涉及 不涉及 可见性保障 具备 具备 不具备 不具备 具备① 有序性保证 具备 具备 不涉及 具备 具备② 上下 ...
-
《Java多线程编程实战指南+设计模式篇》笔记
线程的监视:工具:jvisualvm.exe 命令:jstack PID 原子性: volatile关键字: 显示锁:人为实现的程序员可控制的锁,包括synchronized和Lock下的实现类: 线 ...
随机推荐
-
EXCEL导入(反射)
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
-
DFT设计绪论
DFT设计的主要目的是为了将defect-free的芯片交给客户. 产品质量,通常使用Parts Per million(PPM)来衡量. 但是随着IC从SSI到VLSI的发展,在test上花销的时间 ...
-
HDU 5696 区间的价值 暴力
分析:枚举以该点为最小值,然后找到最大值,更新,相应数组,至此,把区间分割(因为包含这个最小值点已经枚举过) 然后理解理解,感觉好像挺对的...因为后面(即dfs区间变小时)如果再包含最小值节点,也不 ...
-
informix数据迁移工具使用介绍
一.dbschema USAGE: dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname] ...
-
Windows 清理磁盘
====手动清理C盘(开始\运行\cleanmgr,选择C盘...)或者如下右键C盘,选择属性,点击通用页签下方[磁盘清理]按钮.磁盘清理界面,中间部分可以选择要清理的项目,可以全选.然后点击下方的清 ...
-
自定义一个可以被序列化的泛型Dictionary<;TKey,TValue>;集合
Dictionary是一个键值类型的集合.它有点像数组,但Dictionary的键可以是任何类型,内部使用Hash Table存储键和值.本篇自定义一个类型安全的泛型Dictionary<TKe ...
-
VC++ PathFindFileName函数,由文件路径获得文件名
1.PathFindFileName函数的作用是返回路径中的文件名. PTSTR PathFindFileName( __in PTSTR pPath ); pPath是指向文件路径字符串的指针,函数 ...
-
解题报告-683. K Empty Slots
There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...
-
“全栈2019”Java第七十二章:静态内部类访问外部类成员
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
-
Mybatis基本介绍
Mybatis介绍 1.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了goog ...