-
2020-10-30 19:12:18
1. 定义
软件定义网络(Software Defined Network,SDN),顾名思义,SDN 与传统网络的最大区别就在于可以通过编写软件的方式来灵活定义网络设备的转发功能。
ONRC(开放网络研究中心)的定义:“SDN是一种逻辑集中控制的新网络架构,关键属性包括:数据平面与控制平面分离;控制平面与数据平面有统一的开放接口OpenFlow。”
ONF(开放网络基金会)认为:“SDN是一种支持动态、弹性管理的新型网络体系结构,是实现高带宽、动态网络的理想架构。SDN将网络的控制平面与数据平面相分离,抽象了数据平面的网络资源,并支持通过统一的接口对网络直接进行编程控制。”综上,无论哪种定义,SDN拥有以下三个特征:
- 网络开放可编程
- 控制平面与数据平面分离
- 逻辑上的集中控制
2. 提出背景
传统的网络设备硬件、操作系统和网络应用三部分紧紧耦合在一起,相互依赖,隶属于同一家网络设备厂商,每一部分的创新和演进都需要其余部分做出同样的升级。如果能像当今的计算机产业一样,有一个通用的硬件底层、利用软件定义功能,一定也能取得更快的发展。
传统的网络配置,例如配置端口IP地址、划分VLAN等,这种配置效率低下,当网络工程师要配置更多的设备时,耗时很久。所以,网络需要更多的可编程能力。
由此提出SDN,将控制平面与数据平面相分离,数据平面与计算机通用平面底层类似,只需要接受指令并执行,控制逻辑由控制器与SDN应用定义,从而实现网络功能的软件定义化。
如下图所示,能够看出SDN与传统的网络设备的主要区别。
3. 体系结构
一般来说,SDN体系结构主要分为五部分:SDN应用平面、北向接口、SDN控制平面、南向接口、SDN数据平面。北向接口连接控制层与应用层,南向接口连接数据层和控制层。如果控制层由多个控制器实例协同组成,各个控制器之间由东西向接口连接。
其基本架构如下两图所示:下面简单介绍各个部分的主要功能:
- 数据平面
一个被管理的资源在逻辑上的抽象集合,它没有控制能力,只是单纯用来转发和处理数据,它在逻辑上代表全部或部分的物理资源,可以包括与转发相关的各类计算、存储、网络功能等虚拟化资源。 - 控制平面
SDN 控制器是一个逻辑上集中的实体,它主要承担两个任务:一是将 SDN 应用层请求转换到数据平面,二是为 SDN 应用提供底层网络的抽象模型(可以是状态,也可以是事件)。 - 接口协议
(1)南向接口协议完成控制平面与数据平面间的交互及部分管理配置功能。
(2)北向接口协议实现控制器与业务应用层间的交互。
(3)东西向接口协议负责控制器间的协同。
参考资料:
《软件定义网络核心原理与应用实践》
《重构网络:SDN架构与实现》更多相关内容 -
SDN软件定义网络
2018-07-03 10:21:43对于当前世界上的网络架构, SDN 是一种新方法, 但它仍然是网络。当读者开始阅读这 本书时, 我们假设读者具备一定程度的网络知识。 你不必是网络工程师或相关专业人员, 但 需要知道网络的基本工作原理——坦率地... -
20201010-头豹研究院-网络通信行业系列深度研究:2019年中国SDN软件定义网络行业研究报告.pdf
2021-04-08 17:04:5620201010-头豹研究院-网络通信行业系列深度研究:2019年中国SDN软件定义网络行业研究报告.pdf -
SDN软件定义网络学习资料讲义.ppt
2020-08-13 21:48:19资料仅可参考如有不妥请联系本人改正或者删除 * 2020年08月13日 SDN软件定义网络学习资料 资料仅可参考如有不妥请联系本人改正或者删除 * 2020年08月13日 SDN软件定义网络学习资料 资料仅可参考如有不妥请联系本人... -
中国SDN软件定义网络行业研究报告
2021-03-25 18:26:21而作为云计 算的重要网络架构,SDN 应用场景不断增多。数据中心、电信运营企业等积极采用 SDN 优 化网络服务,提升用户体验。在庞大的市场需求激励下,华为、微软、AT&T 等企业纷纷加 大 SDN 产品研发成本,加大 SDN... -
SDN软件定义网络基础概念
2018-09-25 15:49:07最基本的SDN架构、定义与基本概念、相关技术由来等。对SDN入门者有引导和启发作用。 -
浅析SDN软件定义网络的应用范围以及未来的发展趋势
2020-10-01 11:00:11主要为大家介绍了SDN软件定义网络近几年在中国的发展,它的优缺点是什么,以及SDN的转变,对控制面实施精细的模块化,让交换机、网络操作系统和控制程序各司其职,需要的朋友可以参考下 -
[SDN] SDN 软件定义网络 (英文版)
2013-09-19 09:29:35[奥莱理] SDN 软件定义网络 (英文版) [奥莱理] SDN Software Defined Networks (E-Book) ☆ 出版信息:☆ [作者信息] Thomas Nadeau D. , Ken Gray [出版机构] 奥莱理 [出版日期] 2013年09月04日 [图书页数] ... -
SDN软件定义网络导论笔记
2020-11-30 10:02:06讲解计算机网络发展历史,实体网络的缺点,SDN软件定义网络的定义与架构,以及它与传统网络的区别 -
SDN软件定义网络概念.docx
2021-10-24 13:00:47SDN软件定义网络概念.docx -
SDN软件定义网络分享
2017-08-17 19:51:09软件定义网络,下一代网络 -
SDN软件定义网络学习资料.pptx
2021-09-18 16:43:02SDN软件定义网络学习资料.pptx -
SDN软件定义网络之Mininet简介(SDN仿真软件)
2021-07-13 22:29:02 -
SDN软件定义网络学习资料教学讲义.ppt
2020-08-15 10:32:38资料仅可参考如有不妥请联系本人改正或者删除 * 资料仅可参考如有不妥请联系本人改正或者删除 * 资料仅可参考如有不妥请联系本人改正或者删除 * 资料仅可参考如有不妥请联系本人改正或者删除 * 资料仅可参考如有不妥... -
2019年SDN软件定义网络市场分析报告.pdf
2020-10-17 15:50:30目录 1 方法论 4 1.1 方法论 4 1.2 名词解释 5 2 中国 SDN 行业市场综述 6 2.1 中国 SDN 行业概念解析 6 2.2 SDN 行业发展历程 7 2.3 中国 SDN 行业产业链 8 2.3.1 中国 SDN 行业产业链上游分析 8 2.3.2 中国 SDN ... -
2019年中国SDN软件定义网络行业研究报告.pdf
2021-09-24 16:42:452019年中国SDN软件定义网络行业研究报告.pdf -
SDN软件定义网络之NetConf协议
2021-07-26 16:22:47SDN软件定义网络之NetConf协议 网管协议,SNMP=>netconf协议 优点 其他特点 配置数据 状态数据 3个标准概念配置数据库 candidate running startup 客户端/服务器结构 RPC和RPC-REPLY协议 使用RPC和RPC-REPLAY... -
2019年中国SDN软件定义网络行业研究报告精品报告2020.rar
2021-09-18 00:35:402019年中国SDN软件定义网络行业研究报告精品报告2020.rar -
SDN软件定义网络 学习笔记(5)--控制平面
2020-11-02 11:32:53SDN软件定义网络 学习笔记(5)--控制平面1. 简介2. SDN 控制器体系架构3. 开源控制器和商用控制器3.1 SDN开源控制器3.2 SDN商用控制器4. SDN 控制器评估要素参考资料 1. 简介 ...SDN软件定义网络 学习笔记(5)--控制平面
1. 简介
SDN 控制平面主要由一个或者多个控制器组成,是连接底层交换设备与上层应用的桥梁。
一方面,控制器通过南向接口协议对底层网络交换设备进行集中管理、状态监测、转发决策以处理和调度数据平面的流量;
另一方面,控制器通过北向接口向上层应用开放多个层次的可编程能力,允许网络用户根据特定的应用场景灵活地制定各种网络策略。
2. SDN 控制器体系架构
市面上大多数开源控制器的设计采用了类似于计算机操作系统的层次化体系架构,如下图所示:
在这种层次化的体系结构下,控制器功能被分为基本功能层与网络基础服务层两个层面。
(1)基本功能层
这一层主要提供控制器所需要的最基本功能。首先是协议适配功能,需要适配的协议主要包含两类:一类是用来跟底层交换设备进行信息交互的南向接口协议,另一类是用于控制平面分布式部署的东西向接口协议。
协议适配工作完成后,控制器需要提供用于支撑上层应用开发的功能主要包括四个方面:模块管理、事件机制、任务日志、资源数据库。
(2)网络基础服务层
网络基础服务层中的模块作为控制器实现的一部分,可以通过调用基本功能层的接口来实现设备管理、状态监测等一系列基本功能。
几个主要的功能模块:交换机管理、主机管理、拓扑管理、路由、转发策略、虚拟网划分
(3)总结
这种层次化的架构设计中,基础功能层提供了SDN 控制器作为整个控制平面最为基本的功能,包括对底层硬件的抽象和对上层网络功能模块的管理,所有的网络应用都基于这一层提供的接口进行开发,网络基础服务层的可扩展性得以显著地增强,可为上层网络应用的开发、运行提供一个强大的通用的平台。
3. 开源控制器和商用控制器
3.1 开源控制器
(1)NOX/POX
NOX 的核心组件提供了用于与 OpenFlow 交换机进行交互的 API 和辅助方法,包括连接处理器和事件引擎,同时还提供了如主机跟踪、路由计算、拓扑发现以及 Python 接口等在内可选择的附加组件。由于 NOX 代码量和复杂度较高,推出了 NOX 的兄弟版控制器 POX,POX 控制器主要包含如下技术特征:一
是基于 Python 编程语言实现了 OpenFlow 接口;二是可以与 PyPy进行捆绑运行,易于部署;三是支持 Linux、Mac OS、Windows等多种计算机操作系统,灵活易操作。其基本框架如下图所示:
(2)Ryu
Ryu 使用 Python 语言开发,提供了完备、友好的 API。Ryu 是基于组件的框架进行设计,这些组件都以 Python 模块的形式存在。组件是以一个或者多个线程形式存在的,这样可以便于提供一些接口用于控制组件状态和产生事件,事件中封装了具体的消息数据,由于事件会在多个组件中使用,因此事件对象是只读的。其整体架构如下图所示:
(3)Floodlight
Floodlight是一款基于Java 语言的开源SDN 控制器,也使用了层次化架构来实现控制器的功能,同时提供了非常丰富的应用,可以直接在网络中部署数据转发、拓扑发现等基本功能。此外 Floodlight 还提供了友好的前端 Web 管理界面,用户可以通过管理界面查看连接的交换机信息、主机信息以及实时网络拓扑信息。Floodlight 通过向 OpenFlow 交换机下发流表等方式来实现数据分组转发决策,以达到对交换设备集中控制的目的。
Floodlight 使用模块框架实现控制器特性和应用,在功能上 Floodlight 可看作由控制器核心服务模块、普通应用模块和 REST 应用模块 3 个部分构成。
其基本框架如下图所示:
(4)OpenDaylight
OpenDaylight 使用模块化方式来实现控制器的功能和应用。其系统架构如下图所示:在 OpenDaylight 总体架构中,南向接口通过插件的方式来支持多种协议。
服务抽象层(SAL)一方面可以为模块和应用提供一致性的服务;另一方面支持多种南向协议,可以将来自上层的调用转换为适合底层网络设备的协议格式。
在 SAL 之上,OpenDaylight 提供了网络服务的基本功能和拓展功能,基本网络服务功能主要包括拓扑管理、交换机管理、主机监测以及最短路径转发等;拓展网络服务功能主要包括 DOVE管理、流量重定向等服务。
(5)ONOS
ONOS 目前支持包括 OpenFlow 在内的多种南向协议,同时提供开放的北向API,其分布式核心架构采用了多种分布式技术。ONOS 基于 OSGi 框架,使用 Maven 构建项目,支持新模块运行态加载和注销(模块的热插拔),其控制器架构和其他控制器架构类似也是分层架构。
系统框架如下图所示:
ONOS 系统架构中定义了服务和子系统两个基本概念。其中,服务是由多个组件形成的功能集,这些组件按照 ONOS 的架构层级创建一个垂直切片,而多个组件共同提供的服务就成为一个子系统。
子系统划分如下图所示:(6)OpenContrail
OpenContrail提供了用于网络虚拟化的所有基本组件,其用户界面采用 Python 语言编写。主要应用于以下两个网络场景:一是云计算网络场景,主要有企业和运营商的私有云以及云服务提供商的基础设施即服务(IaaS)和虚拟专用云(VPC);二是在运营商网络中的网络功能虚拟化(NFV)场景,可以为运营商边缘网络(宽带固定接入、移动接入等)提供增值服务。
系统架构如下图所示:
该系统主要由 SDN 控制器和 vRouter(虚拟路由器)两个部分组成。
控制器通过北向接口与编排系统=及上层业务通信,通过 XMPP 与虚拟路由器通信,通过 BGP、NETCONF 等南向协议与网关路由器和物理交换机通信,通过 BGP 与其他控制器对等通信。
vRouter 是数据转发平面,运行在虚拟服务器的 Hypervisor,将通过软件方式部署在网络环境中,通过服务器到服务器之间的通道进行虚拟机之间的数据分组转发,从而在数据中心提供虚拟网络服务。
(7)其他开源控制器
如下表所示是对其他开源控制器的总结。3.2 商用控制器
一些厂商企业推出了针对具体应用场景、支持具体交换机并提供相应服务的商用控制器,这些控制器可以有针对性地解决现网中存在的某些具体问题,同时会得到企业更加专业的支持与维护,具有更好的稳定性与可靠性以及性能。
(1)Big Network Controller
主要特点为:抽象的统一网络智能控制、 企业级可靠性和可扩展性、灵活和开源的网络应用平台。系统架构如下图所示:
(2)XNC
XNC是一个典型的 SDN 控制器,它支持业界标准的 OpenFlow 协议,同时使用异构的、与平台无关的方式提供对 Cisco 以及第三方网络设备的可编程能力。XNC 的控制平面采用了与传统控制协议共存的方式。在混合集成模式中,网络设备继续运行已有的网络控制协议(如 OSPF、IS-IS),Cisco XNC 的控制平面则重点实现其他控制功能。
(3)SDN Contrail
SDN Contrail是一款网络虚拟化及智能化解决方案,包括创建虚拟重叠网络所需要的所有元素,如 SDN 控制器、虚拟路由器以及分析引擎等。SDN Contrail 可以很方便地为服务提供商及企业用户创建及管理虚拟网络,可以实现物理网络与虚拟网络之间的无缝集成整合,从而向其客户提供简单、开放、灵活的解决方案服务。
系统架构如下图所示:
(4)Agile Controller
Agile Controller 能够集中控制全网资源,面向用户和应用实现网络资源自动化与动态调配,以业务体验为中心重新定义网络,让网络更敏捷地为业务服务。在 Agile Controller 的智能控制下,网络将能够从以前手工配置,转变为用自然语言规划与自动部署,从传统单点边界防护转变为全网协同防护。
其控制架构如下图所示:
Agile Controller 基于业界 SDN 架构分层解耦能力,提供从应用到物理网络的自动映射、资源池化部署和可视化运维,同时支持与业界主流云平台的无缝对接。
(5) ZENIC
ZENIC支持丰富的南向接口协议,对 OpenFlow 和非 OpenFlow 交换机进行统一控制,它是一套完整的可编程产品平台,内置南向、北向、东西向接口协议支持、L2/L3 网络功能、VDC 业务功能。其控制架构如下图所示:
4. SDN 控制器评价要素
SDN 控制器的十大评估要素:
(1)对 OpenFlow 的支持
(2)网络虚拟化
网络虚拟化是指多个逻辑网络共享底层网络基础设施,从而提高网络资源利用率,加速业务部署,以及提供业务 QoS 保障。(3)网络功能
SDN 控制器需要提供严格隔离性保障功能、提供基于流的QoS 保障功能,SDN控制器有能力发现源端到目的端的多条路径并提供多径转发功能,可打破 STP 协议的性能和可扩展性限制,相比于传统的 TRILL 和 SPB 方案,SDN 控制器可提供相同的能力而无需对网络进行任何改动。(4)可扩展性
可支持 OpenFlow 交换机的数量和如何减少广播对网络带宽和流表规模的影响是两个重要指标。(5)性能
控制器对流的处理时延以及每秒处理新流的数目是评价控制器性能的最主要性能指标。(6)网络可编程性
网络可编程性具体包括数据流的重定向,精确的报文过滤以及为网络应用提供友好的北向可编程接口.(7)可靠性
当网络链路或者单点设备出现故障时,是否会导致网络的瘫痪(8)网络安全性
控制器需要实现企业级身份验证和授权,具备对各种关键流量访问进行管控的能力,并且能够限制控制信令的速率。(9)集中管理和可视化
(10)控制器供应商
参考资料
《SDN软件定义网络核心原理与应用实践》
《重构网络:SDN架构与实现》另:本文是对以上参考资料的学习笔记整理
-
2019年SDN软件定义网络市场分析报告.docx
2020-10-17 15:44:115 2 中国 SDN 行业市场综述. 6 2.1 中国 SDN 行业概念解析 . 6 2.2 SDN 行业发展历程. 7 2.3 中国 SDN 行业产业链 . 8 2.3.1 中国 SDN 行业产业链上游分析. 8 2.3.2 中国 SDN 行业产业链中游分析. -
2019年中国SDN软件定义网络行业研究报告精品报告2020.pdf
2021-04-24 01:04:492019年中国SDN软件定义网络行业研究报告精品报告2020.pdf -
juniper SDN软件定义网络架构.pptx
2020-02-13 22:34:30Juniper SDN架构;NORTHSTAR WAN controller ;Information available for path calculation ;Efficiency, ;PCE and pcep;Stateful PCEP;SOFTWARE-DRIVEN POLICY;NorthStar Controller Mapping of pseudo-wires into ... -
20201010-网络通信行业系列深度研究:2019年中国SDN软件定义网络行业研究报告.rar
2021-09-06 00:24:0420201010-网络通信行业系列深度研究:2019年中国SDN软件定义网络行业研究报告 -
2019年SDN软件定义网络部分
2022-03-19 15:03:26SDN题目二、配置IP添加网卡以及karaf程序启动三、创建拓扑四、打开网页查看拓扑五、通过OVS手动添加网卡,设置网关1.添加网卡2.设置网关地址,开启路由转发3.给H1,H2,H3,H4设置网关六、OVS手工下发流表,流表优先级... -
SDN软件定义网络之新架构——控制器、南北向接口、协议图解
2021-07-13 22:22:10SDN软件定义网络之新架构——控制器、南北向接口、协议图解 -
SDN软件定义网络之SDN交换机物理设备
2021-07-15 13:52:55SDN软件定义网络之SDN交换机 交换芯片 芯片详解 主流芯片 strataXGS Barefoot Tofino 盛科系列芯片: CTC5160、CTC7148、 CTC8096。 SDN物理(硬件)交换机 混合模式交换机:支持传统二、三层处理模式和SDN处理... -
关于SDN软件定义网络和NFV网络功能虚拟化
2020-08-26 14:31:151、SDN软件定义网络 在传统的网络中,各个转发节点(路由器、交换机)都是独立工作的,内部管理命令和接口也是厂商私有的,不对外开放。而SDN(Software Defined Networking)网络,就是在网络上建立了一个SDN控制器...