CN106656846A - 一种sdn体系架构中协调层的构建方法 - Google Patents
一种sdn体系架构中协调层的构建方法 Download PDFInfo
- Publication number
- CN106656846A CN106656846A CN201710030607.8A CN201710030607A CN106656846A CN 106656846 A CN106656846 A CN 106656846A CN 201710030607 A CN201710030607 A CN 201710030607A CN 106656846 A CN106656846 A CN 106656846A
- Authority
- CN
- China
- Prior art keywords
- openflow
- message
- module
- pipeline
- physical switches
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/726—Reserving resources in multiple paths to be used simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种SDN体系架构中协调层的构建方法,属于计算机应用技术领域。本方法在控制层和转发层之间添加了一层集中式的协调层,即OpenFlow协调器,使得控制层中的多个SDN控制器彼此合作分担控制层业务负载,实现OpenFlow控制流在多个应用异构型控制器间灵活调度,从而满足管理者在实际网络中的需求,提升整个SDN***的可用性和可靠性。
Description
技术领域
本发明涉及一种SDN体系架构中协调层的构建方法,属于计算机应用技术领域。
背景技术
随着“大物移云”,即大数据、物联网、移动互联网和云计算的时代到来,传统的底层网络架构已经无法满足管理者的需求,设备繁杂配置麻烦迭代缓慢,各种问题层出不穷。下一代网络,需要的是可编程按需定制、集中式统一管理、动态流量监管、自动化部署等。这些都是软件定义网络(SDN)的出发点。
SDN最大的特点是控制和转发完全分离,其中控制层实现集中式控制、软件可编程、可视化、自动化等,转发层通过硬件实现高速转发。但直接对接SDN的控制层和转发层很难满足实际网络中的需求。这体现在以下两方面:
一方面,在控制层中,不同北向控制器之间应用功能的成熟度存在差异,例如有的北向控制器防火墙功能较为成熟,而有的北向控制器负载均衡器功能较为成熟,导致底层网络的管理者在控制层部署不同北向控制器的成熟应用对转发层设备进行控制。此外,即使北向控制器相同,不同转发层设备需要的网络功能也存在差异,导致控制不同转发层设备的北向控制器也需要提供不同的应用。实际上来自转发层的网络请求需要由多种不同的北向控制器应用来处理,因此直接对接SDN的控制层和转发层很难满足这一需求,这要求转发层和应用异构型的控制层之间具有针对不同应用实现OpenFlow消息调度的能力。
另一方面,由于单个北向控制器节点的处理能力有限,随着接入层和转发层网络规模的扩大,单个北向控制器将无法满足控制层的处理性能要求,这要求转发层和应用异构型的控制层之间具有弹性部署北向控制器的能力,直接对接SDN的控制层和转发层也很难满足这一需求。
综上所述,SDN的控制层与转发层架构存在缺陷,直接对接SDN的控制层和转发层很难满足实际网络中的需求。
发明内容
为了应对上述挑战,本发明提出了一种SDN体系架构中协调层的构建方法。该方法在控制层和转发层之间添加了一层集中式的协调层,即OpenFlow协调器,使得控制层中的多个SDN北向控制器彼此合作分担控制层业务负载,实现OpenFlow控制流在多个应用异构型北向控制器间灵活调度,从而满足管理者在实际网络中的需求,提升整个SDN***的可用性和可靠性。
本发明的技术方案:
一种SDN体系架构中协调层的构建方法,逻辑功能上由南向交换机信道管理,北向控制器信道管理,以及OFPT_PACKET_IN消息分发三部分组成。
其中,南向交换机信道管理是协调器访问转发层的桥梁,涉及南向交换机信道管理的工作有:一、接收到由南向交换机发起的信道建立请求后,处理对应的OpenFlow握手流程,并根据握手过程中的OFPT_FEATURES_REPLY和OFPST_DESC消息在协调器中为每个南向交换机建立对应的物理交换机对象,协调器通过建立的物理交换机对象既可以向对应的南向交换机发送OpenFlow消息,也可以处理对应的南向交换机发送的OpenFlow消息;二、进行基于LLDP与BDDP协议的拓扑链路发现任务以及基于OFPT_STATS_REPLY的统计信息收集任务,将获取的网络状态信息存储在协调器中,供北向控制器访问。
北向控制器信道管理是协调器访问控制层的桥梁,涉及北向控制器信道管理的工作有:一、接收到控制层变容的请求后,向新增的北向控制器发起信道建立请求,处理对应的OpenFlow握手流程,在协调器中为每个控制信道建立对应的虚拟交换机对象,协调器通过建立的虚拟交换机对象既可以向对应的北向控制器发送OpenFlow消息,也可以处理对应的北向控制器发送的OpenFlow消息;二、根据存储在协调器中的网络状态信息处理北向控制器对于拓扑链路和统计信息的OpenFlow请求消息。
OFPT_PACKET_IN消息分发是协调器实现OpenFlow控制流在多个应用异构型北向控制器间灵活调度的核心与基础,涉及OFPT_PACKET_IN消息分发的工作有:一、为每个北向控制器设置单独的OFPT_PACKET_IN消息队列,用于反映当前北向控制器对于OpenFlow消息的处理情况;二、当物理交换机对象接收到对应南向交换机向控制层发送的OFPT_PACKET_IN消息时,会根据北向控制器提供的服务种类以及消息队列的情况进行消息分发,将消息分发给合适的虚拟交换机对象对应的控制信道,并把消息的标识加入对应北向控制器的消息队列,代表消息正在被北向控制器处理;三、北向控制器处理完毕请求后发送OFPT_PACKET_OUT、OFPT_FLOW_MOD以及OFPT_PORT_MOD消息给虚拟交换机对象,虚拟交换机对象将消息发送给物理交换机对象对应的南向交换机,并把消息的标识弹出对应北向控制器的消息队列,代表消息已被北向控制器处理完毕。
本发明的有益效果:
1.支持应用异构型的SDN控制层。允许管理者在控制层部署提供不同功能和服务的应用异构型北向控制器,组成一个北向控制器集群对转发层设备进行集中管控。
2.支持动态的SDN控制层变容。允许管理者在SDN***上线运行的过程中,在控制层弹性部署SDN北向控制器,分担原有控制层的业务负载。
附图说明
图1是本发明的整体架构图。
图2是本发明的物理交换机模块OpenFlow消息处理状态机图。
图3是本发明的物理交换机模块网络状态维护图。
图4是本发明的虚拟交换机模块OpenFlow消息处理状态机图。
图5(a)是本发明的消息队列模块南向业务流程图。
图5(b)是本发明的消息队列模块北向业务流程图。
图6是本发明的远程管理模块架构图。
图7是本发明的远程管理模块业务流程图。
具体实施方式
以下结合附图和技术方案,进一步说明本发明的具体实施方式。
一种SDN体系架构中协调层的构建方法,如图1所示,整体架构中协调层即OpenFlow协调器,位于应用异构型的SDN控制层和转发层之间;在OpenFlow协调器中,物理交换机对象负责与南向交换机建立连接,使得OpenFlow协调器对于转发层来说是一个集中的北向控制器,它的最终决策来源于应用异构型的SDN控制层,而虚拟交换机对象负责与北向控制器建立连接,使得OpenFlow协调器对于控制层来说是一个交换机的集合,它的最终转发由转发层完成;
OpenFlow协调器划分为物理交换机模块、虚拟交换机模块、消息队列模块以及远程管理模块;
物理交换机模块,在OpenFlow协调器上线后被启动,在协调器对应的主机IP地址和端口上建立Socket,与之绑定的消息管道处理器有OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器;消息管道的处理流程分为Socket读流程和Socket写流程;Socket读流程涉及的处理器依次是:OpenFlow消息解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器。Socket写流程涉及的处理器依次是OpenFlow消息处理器、管道线程池处理器以及OpenFlow消息编码器。
物理交换机模块中,OpenFlow消息解码器根据OpenFlow协议栈将OpenFlow消息部分从管道消息的数据部分读取出来,而OpenFlow消息编码器将OpenFlow消息写入管道消息的数据部分;管道空闲处理器用于管理心跳机制,检测远端是否存活;读超时处理器用于控制读取数据时发生的超时情况,如果一段时间内没有数据读取就引发读超时,并关闭当前的消息管道;OpenFlow握手超时处理器用于控制OpenFlow握手流程中发生的超时情况,从握手流程开始时计算一段时间内如果没有握手成功就引发OpenFlow握手超时,并关闭当前的消息管道;管道线程池处理器用于转发管道消息给线程池执行多线程操作,提升消息处理的并发性;OpenFlow消息处理器用于处理南向交换机发送的OpenFlow消息,如图2所示,OpenFlow消息的处理过程定义为状态机,在不同的状态下,对OpenFlow消息采取不同的处理方式,接收到特定消息后根据OpenFlow协议,进行状态转移;
物理交换机模块同远端南向交换机建立连接后,状态机的初始状态从INIT转移到WAIT HELLO,并发起OpenFlow握手流程,根据OpenFlow协议标准,转移到中间状态WAIT FT_REP、WAIT CONFIG_REP和WAIT DESC_STATS。发生握手超时后,从当前状态转移到CHANNELCLOSED,并中断握手流程。当状态成功转移到ACTIVE时,物理交换机模块同南向交换机间的OpenFlow握手成功,物理交换机模块为南向交换机在协调器中建立对应的物理交换机对象,开始ECHO REPLY,并启动新建物理交换机对象中的拓扑链路发现和统计信息收集网络状态维护功能。如图3所示,网络状态维护由定时发送LLDP和BDDP 以及定时发送OFPT_STATS_REQUEST两部分构成。南向交换机向控制层发送的OpenFlow消息通过物理交换机对象进行处理。接收到LLDP、BDDP以及OFPT_STATS_REPLY后,根据网络状态维护功能更新网络状态,将发现的链路加入拓扑,并存储收集的统计信息,供控制层访问。接收到OFPT_PACKET_IN后,请求消息队列模块,经由合适的虚拟交换机对象发送给对应的北向控制器。远端南向交换机同物理交换机模块断开连接时,状态机的状态转移到CHANNEL CLOSED,物理交换机模块关闭对应的消息管道,回收管道处理器资源。
虚拟交换机模块,在物理交换机模块上线后被启动,接收到控制层变容的请求后,针对每个已存在的物理交换机对象,同新加入北向控制器对应的主机IP地址和端口建立Socket,并建立对应的虚拟交换机对象,与之绑定的消息管道处理器有:重连接处理器、OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器。消息管道的处理流程可分为Socket读流程和Socket写流程。Socket读流程涉及的处理器依次是:重连接处理器、OpenFlow消息解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器。Socket写流程涉及的处理器依次是OpenFlow消息处理器、管道线程池处理器、OpenFlow消息编码器以及重连接处理器。
虚拟交换机模块中,OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器的作用与物理交换机模块中相同。重连接处理器用于消息管道断开时的重连接操作,连接断开时等待一段时间后与远端重新建立连接。OpenFlow消息处理器用于处理北向控制器发送的OpenFlow消息,如图4所示,OpenFlow消息的处理过程定义为状态机,在不同的状态下,对OpenFlow消息采取不同的处理方式,接收到特定消息后根据OpenFlow协议,进行状态转移。
虚拟交换机模块同远端北向控制器建立连接后,状态机的初始状态从INIT转移到WAIT HELLO,并发起OpenFlow握手流程,检测OpenFlow协议兼容性,根据OpenFlow协议标准,转移到中间状态WAIT FT_REQ,虚拟交换机模块依据对应的物理交换机对象信息构建FT_REP。当OpenFlow协议不兼容或握手超时后,从当前状态转移到CHANNEL CLOSED,并中断握手流程。当状态成功转移到ACTIVE时,虚拟交换机模块同北向控制器间的OpenFlow握手成功,开始ECHO REQUEST和ECHO REPLY,北向控制器向转发层发送的OpenFlow消息通过虚拟交换机对象进行处理。虚拟交换机模块接收到LLDP、BDDP以及OFPT_STATS_REQUEST后,根据已存储的网络状态对北向控制器进行回复。接收到OFPT_PACKET_OUT、OFPT_FLOW_MOD以及OFPT_PORT_MOD后,请求消息队列模块,经由合适的物理交换机对象发送给对应的南向交换机。北向控制器同虚拟交换机模块断开连接时,状态机的状态转移到CHANNEL CLOSED,虚拟交换机模块尝试重连接北向控制器,重连接成功后,恢复对应的消息管道处理,重连接失败后,虚拟交换机模块关闭对应的消息管道,回收管道处理器资源。
消息队列模块,在虚拟交换机模块上线后被启动,为OpenFlow控制流的转发提供策略;提供不同功能的南向交换机需求不同的控制层服务,将提供对应服务的北向控制器加入相对应的服务分组,即南向交换机的需求与北向控制器提供的服务是相互对应;为北向控制器创建消息队列时,将北向控制器的服务分组作为消息队列的属性,同时该属性也存在于物理交换机对象中;北向控制器各自拥有独立的消息队列,消息队列的更新操作分为入队操作和出队操作,入队操作将转发层发送的OFPT_PACKET_IN消息的buffer_id字段作为消息的标识加入队列,令队列长度自增,出队操作将控制层发送的OFPT_PACKET_OUT消息的buffer_id字段作为消息的标识从队列中弹出,令队列长度自减,消息队列中的入队以及出队操作具有原子性。
如图5(a)所示,当物理交换机模块收到转发层发送的OpenFlow请求时,向消息队列模块请求合适的北向控制器。消息队列模块收到请求,根据物理交换机对象的服务分组属性,查询对应服务分组内的消息队列,并选择其中负载因子最小,即队列长度与负载权重乘积最小的消息队列,负载权重是一个介于0和1之间的实数,类型为double,根据组织者设置的转发策略确定,消息队列模块将OpenFlow请求入队,并返回相应的北向控制器接口,供物理交换机模块进行请求转发。
如图5(b)所示,当虚拟交换机模块收到控制层发送的OpenFlow决策时,请求消息队列模块将相应的OpenFlow请求出队。北向控制器各自的消息队列中反映的是当前北向控制器对于OpenFlow请求的处理情况。
远程管理模块,在消息队列模块上线后被启动,为协调器的管理提供远程接口。如图6所示,来自外部的控制请求由RPC服务器接收并进行处理,RPC服务器提供两种WebSocket,分别是HTTP WebSocket和HTTPS WebSocket,其中HTTPS WebSocket提供基于SSL证书认证的加密数据传输的连接。WebSocket的处理绑定了两种服务组件,要求处理前进行请求身份的认证,不同的请求身份拥有不同的服务组件的访问权限,其中监控者身份仅可以访问监控服务组件,管理员身份除了可以访问监控服务组件,还可以访问管理服务组件。监控服务组件提供三种监控服务的接口,分别是查询网络状态,查询消息队列以及查询资源列表。其中查询网络状态用于读取保存在协调器中的由物理交换机对象负责维护的网络状态,包括转发层的拓扑链路以及统计信息,查询消息队列用于读取消息队列模块负责维护的各个北向控制器的消息队列状态,查询资源列表用于读取保存在协调器中的物理交换机对象、虚拟交换机对象、北向控制器列表以及三者之间的映射关系。管理服务组件提供三种管理服务的接口,分别是控制层变容,设置转发策略以及设置服务分组。其中控制层变容用于弹性的增加或减少控制层中的北向控制器,创建或删除虚拟交换机对象以及同北向控制器的连接,设置转发策略用于更新消息队列模块中的负载权重,设置服务分组用于更新物理交换机对象和消息队列中的服务分组属性。远程管理模块的业务流程如图7所示。
Claims (1)
1.一种SDN体系架构中协调层的构建方法,其特征在于,整体架构中协调层即OpenFlow协调器,位于应用异构型的SDN控制层和转发层之间;在OpenFlow协调器中,物理交换机对象负责与南向交换机建立连接,使得OpenFlow协调器对于转发层来说是一个集中的北向控制器,它的最终决策来源于应用异构型的SDN控制层;虚拟交换机对象负责与北向控制器建立连接,使得OpenFlow协调器对于控制层来说是一个交换机的集合,它的最终转发由转发层完成;
OpenFlow协调器划分为物理交换机模块、虚拟交换机模块、消息队列模块以及远程管理模块;
物理交换机模块,在OpenFlow协调器上线后被启动,在协调器对应的主机IP地址和端口上建立Socket,与之绑定的消息管道处理器有OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器;消息管道的处理流程分为Socket读流程和Socket写流程;Socket读流程涉及的处理器依次为OpenFlow消息解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器;Socket写流程涉及的处理器依次为OpenFlow消息处理器、管道线程池处理器以及OpenFlow消息编码器;
物理交换机模块中,OpenFlow消息解码器根据OpenFlow协议栈将OpenFlow消息部分从管道消息的数据部分读取出来,而OpenFlow消息编码器将OpenFlow消息写入管道消息的数据部分;管道空闲处理器用于管理心跳机制,检测远端是否存活;读超时处理器用于控制读取数据时发生的超时情况,如果一段时间内没有数据读取就引发读超时,并关闭当前的消息管道;OpenFlow握手超时处理器用于控制OpenFlow握手流程中发生的超时情况,从握手流程开始时计算一段时间内如果没有握手成功就引发OpenFlow握手超时,并关闭当前的消息管道;管道线程池处理器用于转发管道消息给线程池执行多线程操作,提升消息处理的并发性;OpenFlow消息处理器用于处理南向交换机发送的OpenFlow消息,OpenFlow消息的处理过程定义为状态机,在不同的状态下,对OpenFlow消息采取不同的处理方式,接收到特定消息后根据OpenFlow协议,进行状态转移;
物理交换机模块同远端南向交换机建立连接后,状态机的初始状态从INIT转移到WAITHELLO,并发起OpenFlow握手流程,根据OpenFlow协议标准,转移到中间状态WAIT FT_REP、WAIT CONFIG_REP和WAIT DESC_STATS;发生握手超时后,从当前状态转移到CHANNELCLOSED,并中断握手流程;当状态成功转移到ACTIVE时,物理交换机模块同南向交换机间的OpenFlow握手成功,物理交换机模块为南向交换机在协调器中建立对应的物理交换机对象,开始ECHO REPLY,并启动新建物理交换机对象中的拓扑链路发现和统计信息收集网络状态维护功能;网络状态维护由定时发送LLDP和BDDP以及定时发送OFPT_STATS_REQUEST两部分构成;南向交换机向控制层发送的OpenFlow消息通过物理交换机对象进行处理,接收到LLDP、BDDP以及OFPT_STATS_REPLY后,根据网络状态维护功能更新网络状态,将发现的链路加入拓扑,并存储收集的统计信息,供控制层访问;接收到OFPT_PACKET_IN后,请求消息队列模块,经由合适的虚拟交换机对象发送给对应的北向控制器;远端南向交换机同物理交换机模块断开连接时,状态机的状态转移到CHANNEL CLOSED,物理交换机模块关闭对应的消息管道,回收管道处理器资源;
虚拟交换机模块,在物理交换机模块上线后被启动,接收到控制层变容的请求后,针对每个已存在的物理交换机对象,同新加入北向控制器对应的主机IP地址和端口建立Socket,并建立对应的虚拟交换机对象,与之绑定的消息管道处理器有重连接处理器、OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器;消息管道的处理流程分为Socket读流程和Socket写流程,Socket读流程涉及的处理器依次为重连接处理器、OpenFlow消息解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器以及OpenFlow消息处理器,Socket写流程涉及的处理器依次为OpenFlow消息处理器、管道线程池处理器、OpenFlow消息编码器以及重连接处理器;
虚拟交换机模块中,OpenFlow消息编解码器、管道空闲处理器、读超时处理器、OpenFlow握手超时处理器、管道线程池处理器的作用与物理交换机模块中相同;重连接处理器用于消息管道断开时的重连接操作,连接断开时等待一段时间后与远端重新建立连接;OpenFlow消息处理器用于处理北向控制器发送的OpenFlow消息,OpenFlow消息的处理过程定义为状态机,在不同的状态下,对OpenFlow消息采取不同的处理方式,接收到特定消息后根据OpenFlow协议,进行状态转移;
虚拟交换机模块同远端北向控制器建立连接后,状态机的初始状态从INIT转移到WAITHELLO,并发起OpenFlow握手流程,检测OpenFlow协议兼容性,根据OpenFlow协议标准,转移到中间状态WAIT FT_REQ,虚拟交换机模块依据对应的物理交换机对象信息构建FT_REP;当OpenFlow协议不兼容或握手超时后,从当前状态转移到CHANNEL CLOSED,并中断握手流程;当状态成功转移到ACTIVE时,虚拟交换机模块同北向控制器间的OpenFlow握手成功,开始ECHO REQUEST和ECHO REPLY,北向控制器向转发层发送的OpenFlow消息通过虚拟交换机对象进行处理;虚拟交换机模块接收到LLDP、BDDP以及OFPT_STATS_REQUEST后,根据已存储的网络状态对北向控制器进行回复;接收到OFPT_PACKET_OUT、OFPT_FLOW_MOD以及OFPT_PORT_MOD后,请求消息队列模块,经由合适的物理交换机对象发送给对应的南向交换机;北向控制器同虚拟交换机模块断开连接时,状态机的状态转移到CHANNEL CLOSED,虚拟交换机模块尝试重连接北向控制器,重连接成功后,恢复对应的消息管道处理,重连接失败后,虚拟交换机模块关闭对应的消息管道,回收管道处理器资源;
消息队列模块,在虚拟交换机模块上线后被启动,为OpenFlow控制流的转发提供策略;提供不同功能的南向交换机需求不同的控制层服务,将提供对应服务的北向控制器加入相对应的服务分组,即南向交换机的需求与北向控制器提供的服务是相互对应;为北向控制器创建消息队列时,将北向控制器的服务分组作为消息队列的属性,同时该属性也存在于物理交换机对象中;北向控制器各自拥有独立的消息队列,消息队列的更新操作分为入队操作和出队操作,入队操作将转发层发送的OFPT_PACKET_IN消息的buffer_id字段作为消息的标识加入队列,令队列长度自增,出队操作将控制层发送的OFPT_PACKET_OUT消息的buffer_id字段作为消息的标识从队列中弹出,令队列长度自减,消息队列中的入队以及出队操作具有原子性;
当物理交换机模块收到转发层发送的OpenFlow请求时,向消息队列模块请求合适的北向控制器;消息队列模块收到请求,根据物理交换机对象的服务分组属性,查询对应服务分组内的消息队列,并选择其中负载因子最小,即队列长度与负载权重乘积最小的消息队列,负载权重为介于0和1之间的实数,类型为double,根据组织者设置的转发策略确定,消息队列模块将OpenFlow请求入队,并返回相应的北向控制器接口,供物理交换机模块进行请求转发;
当虚拟交换机模块收到控制层发送的OpenFlow决策时,请求消息队列模块将相应的OpenFlow请求出队;北向控制器各自的消息队列中反映的是当前北向控制器对于OpenFlow请求的处理情况;
远程管理模块,在消息队列模块上线后被启动,为协调器的管理提供远程接口;来自外部的控制请求由RPC服务器接收并进行处理,RPC服务器提供两种WebSocket,分别是HTTPWebSocket和HTTPS WebSocket,其中HTTPS WebSocket提供基于SSL证书认证的加密数据传输的连接,WebSocket的处理绑定了两种服务组件,要求处理前进行请求身份的认证,不同的请求身份拥有不同的服务组件的访问权限,其中监控者身份仅访问监控服务组件,管理员身份除了访问监控服务组件,还访问管理服务组件;监控服务组件提供三种监控服务的接口,分别是查询网络状态、查询消息队列以及查询资源列表;查询网络状态用于读取保存在协调器中的由物理交换机对象负责维护的网络状态,包括转发层的拓扑链路以及统计信息;查询消息队列用于读取消息队列模块负责维护的各个北向控制器的消息队列状态;查询资源列表用于读取保存在协调器中的物理交换机对象、虚拟交换机对象、北向控制器列表以及三者之间的映射关系;管理服务组件提供三种管理服务的接口,分别是控制层变容、设置转发策略以及设置服务分组;控制层变容用于弹性的增加或减少控制层中的北向控制器,创建或删除虚拟交换机对象以及同北向控制器的连接;设置转发策略用于更新消息队列模块中的负载权重;设置服务分组用于更新物理交换机对象和消息队列中的服务分组属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710030607.8A CN106656846B (zh) | 2017-01-17 | 2017-01-17 | 一种sdn体系架构中协调层的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710030607.8A CN106656846B (zh) | 2017-01-17 | 2017-01-17 | 一种sdn体系架构中协调层的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656846A true CN106656846A (zh) | 2017-05-10 |
CN106656846B CN106656846B (zh) | 2019-07-16 |
Family
ID=58840572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710030607.8A Active CN106656846B (zh) | 2017-01-17 | 2017-01-17 | 一种sdn体系架构中协调层的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656846B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483259A (zh) * | 2017-08-25 | 2017-12-15 | 广州西麦科技股份有限公司 | 基于md‑sal的sdn控制器中间件控制方法及*** |
CN108683696A (zh) * | 2018-03-27 | 2018-10-19 | 上海宽带技术及应用工程研究中心 | 基于状态机的sdn控制器中交换机状态管理方法及*** |
CN108737163A (zh) * | 2018-04-18 | 2018-11-02 | 大连理工大学 | 一种基于OpenFlow协议的SDN控制器应用性能分析方法 |
CN108923958A (zh) * | 2018-06-15 | 2018-11-30 | 西安电子科技大学 | 基于sdn的虚拟网络映射***及方法 |
CN109246161A (zh) * | 2017-07-10 | 2019-01-18 | 中国电信股份有限公司 | 控制器的调度方法、装置和计算机可读存储介质 |
CN109450709A (zh) * | 2018-12-20 | 2019-03-08 | 新华三技术有限公司 | 异步消息配置方法、上送方法、控制器及网络设备 |
CN109525516A (zh) * | 2018-11-16 | 2019-03-26 | 盛科网络(苏州)有限公司 | 通过DHCP通告OpenFlow控制器信息的方法和*** |
CN109600432A (zh) * | 2018-12-03 | 2019-04-09 | 上海科技大学 | 内容中心移动边缘网络用户动态接入方法 |
CN110166448A (zh) * | 2019-05-16 | 2019-08-23 | 西安电子科技大学 | 用于异构控制器集群的异构协议转换中间件及方法 |
CN110247863A (zh) * | 2019-07-12 | 2019-09-17 | 广州西麦科技股份有限公司 | 数据包处理方法、装置、sdn交换机及存储介质 |
CN112838940A (zh) * | 2019-11-25 | 2021-05-25 | 中兴通讯股份有限公司 | 一种网络控制器框架和数据处理方法 |
CN113194071A (zh) * | 2021-04-02 | 2021-07-30 | 华南理工大学 | SDN中基于无监督深度学习的DDoS检测方法、***及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065509A (zh) * | 2014-07-24 | 2014-09-24 | 大连理工大学 | 一种降低管理负载开销的sdn多控制器部署方法 |
WO2015040624A1 (en) * | 2013-09-18 | 2015-03-26 | Hewlett-Packard Development Company, L.P. | Monitoring network performance characteristics |
WO2015078497A1 (en) * | 2013-11-27 | 2015-06-04 | Huawei Technologies Co., Ltd. | Method and controller for clustering applications in a software-defined network |
CN105681191A (zh) * | 2016-02-25 | 2016-06-15 | 武汉烽火网络有限责任公司 | 基于路由器虚拟化的sdn平台及实现方法 |
-
2017
- 2017-01-17 CN CN201710030607.8A patent/CN106656846B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015040624A1 (en) * | 2013-09-18 | 2015-03-26 | Hewlett-Packard Development Company, L.P. | Monitoring network performance characteristics |
WO2015078497A1 (en) * | 2013-11-27 | 2015-06-04 | Huawei Technologies Co., Ltd. | Method and controller for clustering applications in a software-defined network |
CN104065509A (zh) * | 2014-07-24 | 2014-09-24 | 大连理工大学 | 一种降低管理负载开销的sdn多控制器部署方法 |
CN105681191A (zh) * | 2016-02-25 | 2016-06-15 | 武汉烽火网络有限责任公司 | 基于路由器虚拟化的sdn平台及实现方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246161A (zh) * | 2017-07-10 | 2019-01-18 | 中国电信股份有限公司 | 控制器的调度方法、装置和计算机可读存储介质 |
CN109246161B (zh) * | 2017-07-10 | 2021-08-17 | 中国电信股份有限公司 | 控制器的调度方法、装置和计算机可读存储介质 |
CN107483259A (zh) * | 2017-08-25 | 2017-12-15 | 广州西麦科技股份有限公司 | 基于md‑sal的sdn控制器中间件控制方法及*** |
CN108683696A (zh) * | 2018-03-27 | 2018-10-19 | 上海宽带技术及应用工程研究中心 | 基于状态机的sdn控制器中交换机状态管理方法及*** |
CN108737163B (zh) * | 2018-04-18 | 2021-03-26 | 大连理工大学 | 一种基于OpenFlow协议的SDN控制器应用性能分析方法 |
CN108737163A (zh) * | 2018-04-18 | 2018-11-02 | 大连理工大学 | 一种基于OpenFlow协议的SDN控制器应用性能分析方法 |
CN108923958A (zh) * | 2018-06-15 | 2018-11-30 | 西安电子科技大学 | 基于sdn的虚拟网络映射***及方法 |
CN108923958B (zh) * | 2018-06-15 | 2021-01-05 | 西安电子科技大学 | 基于sdn的虚拟网络映射***及方法 |
CN109525516A (zh) * | 2018-11-16 | 2019-03-26 | 盛科网络(苏州)有限公司 | 通过DHCP通告OpenFlow控制器信息的方法和*** |
CN109600432A (zh) * | 2018-12-03 | 2019-04-09 | 上海科技大学 | 内容中心移动边缘网络用户动态接入方法 |
CN109450709A (zh) * | 2018-12-20 | 2019-03-08 | 新华三技术有限公司 | 异步消息配置方法、上送方法、控制器及网络设备 |
CN109450709B (zh) * | 2018-12-20 | 2022-02-11 | 新华三技术有限公司 | 异步消息配置方法、上送方法、控制器及网络设备 |
CN110166448B (zh) * | 2019-05-16 | 2020-04-14 | 西安电子科技大学 | 用于异构控制器集群的异构协议转换中间件及方法 |
CN110166448A (zh) * | 2019-05-16 | 2019-08-23 | 西安电子科技大学 | 用于异构控制器集群的异构协议转换中间件及方法 |
CN110247863A (zh) * | 2019-07-12 | 2019-09-17 | 广州西麦科技股份有限公司 | 数据包处理方法、装置、sdn交换机及存储介质 |
CN112838940A (zh) * | 2019-11-25 | 2021-05-25 | 中兴通讯股份有限公司 | 一种网络控制器框架和数据处理方法 |
WO2021104103A1 (zh) * | 2019-11-25 | 2021-06-03 | 中兴通讯股份有限公司 | 网络控制器框架和数据处理方法 |
CN112838940B (zh) * | 2019-11-25 | 2024-03-01 | 中兴通讯股份有限公司 | 一种网络控制器框架和数据处理方法 |
CN113194071A (zh) * | 2021-04-02 | 2021-07-30 | 华南理工大学 | SDN中基于无监督深度学习的DDoS检测方法、***及介质 |
CN113194071B (zh) * | 2021-04-02 | 2023-03-21 | 华南理工大学 | SDN中基于无监督深度学习的DDoS检测方法、***及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106656846B (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656846A (zh) | 一种sdn体系架构中协调层的构建方法 | |
CN105335221B (zh) | 基于可重构的分布式软件总线 | |
CN110892380B (zh) | 用于流处理的数据处理单元 | |
US20180349196A1 (en) | Implementing a Service Using Plural Acceleration Components | |
US8326915B2 (en) | Pipeline systems and method for transferring data in a network environment | |
US20140280398A1 (en) | Distributed database management | |
CN108268208A (zh) | 一种基于rdma的分布式内存文件*** | |
US20150003296A1 (en) | System and method for providing p2p based reconfigurable computing and structured data distribution | |
CN107690622A (zh) | 实现硬件加速处理的方法、设备和*** | |
JP2015537307A (ja) | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 | |
CN107750357A (zh) | 具有硬件加速平面和软件平面的数据处理*** | |
CN105162623B (zh) | 一种云处理方法及云服务器 | |
CN105959347B (zh) | 一种基于p2p网络的全数字协同仿真***通信方法 | |
US10812606B2 (en) | Supporting communications in a stream processing platform | |
CN111083177B (zh) | 基于协同网关的跨域协同交互方法 | |
CN114945032B (zh) | 电力物联网终端数据接入***、方法、装置、设备及介质 | |
CN108737161B (zh) | 面向智能体协同体系的实时数据总线管理方法及*** | |
CN104765644B (zh) | 基于智能体Agent的资源协作演化***及方法 | |
WO2015069378A1 (en) | Hierarchical distribution of control information in a massively scalable network server | |
CN102812445A (zh) | 分层型多核处理器、多核处理器***、以及控制程序 | |
CN105874757B (zh) | 一种数据处理方法及多核处理器*** | |
CN111740864A (zh) | 一种带外网口切换管理方法及*** | |
Arbab et al. | Mocha: A middleware based on mobile channels | |
CN115242646B (zh) | 一种基于区块链的网络切片应用方法以及相关装置 | |
Rabenseifner | MPI-GLUE: Interoperable high-performance MPI combining different vendor’s MPI worlds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |