CN104618475B - 用于异构sdn网络的水平方向通信方法和sdn*** - Google Patents
用于异构sdn网络的水平方向通信方法和sdn*** Download PDFInfo
- Publication number
- CN104618475B CN104618475B CN201510041960.7A CN201510041960A CN104618475B CN 104618475 B CN104618475 B CN 104618475B CN 201510041960 A CN201510041960 A CN 201510041960A CN 104618475 B CN104618475 B CN 104618475B
- Authority
- CN
- China
- Prior art keywords
- onex
- local
- remote
- information
- sdn
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 39
- 238000004806 packaging method and process Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000006317 isomerization reaction Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 15
- 241000465502 Tobacco latent virus Species 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000005457 optimization Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 6
- 239000003999 initiator Substances 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 241000645803 Trailing lespedeza virus 1 Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000004544 dc2 Anatomy 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- BCGWQEUPMDMJNV-UHFFFAOYSA-N imipramine Chemical compound C1CC2=CC=CC=C2N(CCCN(C)C)C2=CC=CC=C21 BCGWQEUPMDMJNV-UHFFFAOYSA-N 0.000 description 1
- 238000004190 ion pair chromatography Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种用于异构SDN网络的水平方向通信方法和SDN***。所述通信方法包括以下步骤:获取待分发的本地拓扑信息和本地节点状态;对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态;接收并解析携带ONEx簇全局网络信息的云端广播报文;从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态。本发明利用SDN水平接口实现异构化多控制器,还能够利用该异构多控制器协作方案实现拓扑共享、负载均衡和全局路径优化。
Description
技术领域
本发明涉及软件定义网络技术领域,特别涉及一种用于异构SDN网络的水平方向通信方法和SDN***。
背景技术
软件定义网络SDN于2010年由美国斯坦福大学Nick McKeown教授和加州大学伯克利分校Scott Shenker教授等共同提出,其出发点是通过对网络控制的抽象重新构建一个转发平面和控制平面分离的网络体系,支持网络功能的不断演进。软件定义网络将计算机体系结构思想引入网络研究领域,开放性是软件定义网络的本质特性。通过网络设备的开放、控制平面的开放和协议实现的开放,使得网络不再是一个封闭的***,从而实现网络体系结构的持续演进。
软件定义网络的基本思想是不应无限制地纵容网络复杂度的增加,网络复杂度已经越来越难以掌控,需要对网络进行抽象,以屏蔽底层复杂度,为上层提供简单的、高效的配置与管理。SDN的基本特征有:控制与转发分离,控制平面与转发平面之间的开放接口,逻辑上的集中控制。
在软件定义网络中,控制平面和转发平面的功能被显式分开。网络中的“智能”集中于控制平面,包括制定策略、下发流表等;数据平面根据控制平面的指令进行“无智能”的转发。这种智能集中化的体系结构赋予软件定义网络很大的灵活性,但是集中式的拓扑结构有其内在缺陷,即有可能限制软件定义网络的可扩展性。特别是在大规模、异构化的网络环境中,由于基于不同的开发工具来实现控制器,这些异构的SDN控制器之间并不能完成协作。
传统的SDN多控制器方案在设计控制器架构时没有将控制器之间的协作功能作为重要特性进行考虑,因此缺乏模块化和清晰的解耦合机制,不能实现SDN控制器的异构化,不同SDN控制器之间的互联存在很大局限。
因此,亟需一种能够实现异构的SDN控制器之间协作通信的方法。
发明内容
本发明的目的之一在于解决现有技术中异构的SDN控制器之间不能完成协作通信的弊端。
本发明的实施例首先提供一种用于异构SDN网络的水平方向通信方法,包括以下步骤:
获取待分发的本地拓扑信息和本地节点状态;
对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态;
接收并解析携带ONEx簇全局网络信息的云端广播报文;
从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态。
在一个实施例中,在对本地拓扑信息、本地节点状态和控制器标识进行封装的步骤中包括:
对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元;
为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。
在一个实施例中,在发送ONEx本地数据报文的步骤中包括:
通过套接字服务将ONEx本地数据报文由原生控制器进程发送至云端服务器进程。
在一个实施例中,在接收并解析携带ONEx簇全局网络信息的云端广播报文的步骤中包括:
对云端广播报文进行解析,得到ONEx簇全局网络信息;
通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。
本发明的实施例还提供一种用于异构SDN网络的水平方向通信方法,包括以下步骤:
接收并解析ONEx本地数据报文;
将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文。
在一个实施例中,在接收并解析ONEx本地数据报文的步骤中包括:
对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态;
通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库。
本发明的实施例还提供一种用于异构SDN网络的SDN控制器,包括:
本地信息获取模块,其获取待分发的本地拓扑信息和本地节点状态;
封装模块,其对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态;
解析模块,其接收并解析携带ONEx簇全局网络信息的云端广播报文;
远程信息获取模块,其从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态。
在一个实施例中,所述封装模块还包括:
ONEx数据处理子模块,其用于对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元;
包头处理子模块,其用于为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。
在一个实施例中,所述封装模块还包括:
发送子模块,其用于通过套接字服务将ONEx本地数据报文由原生控制器进程发送至云端服务器进程。
在一个实施例中,所述解析模块还用于:
对云端广播报文进行解析,得到ONEx簇全局网络信息;
通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。
本发明的实施例还提供一种用于异构SDN网络的服务器,包括:
本地信息接收模块,其用于接收并解析ONEx本地数据报文;
共享模块,其用于将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
广播模块,其用于对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文。
在一个实施例中,所述本地信息接收模块还用于:
对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态;
通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库。
本发明的实施例还提供一种异构SDN通信***,包括SDN控制器和服务器,其中,
所述SDN控制器用于获取待分发的本地拓扑信息和本地节点状态,对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态,接收并解析携带ONEx簇全局网络信息的云端广播报文,从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态;
所述服务器用于接收并解析ONEx本地数据报文,将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态,对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文。
在一个实施例中,所述SDN控制器一一对应地连接至所述服务器,所述服务器以无拓扑方式互联来共享ONEx簇全局网络信息;
所述SDN控制器包括本地SDN控制器和远程SDN控制器;
所述控制器包括一个本地SDN控制器和至少一个远程SDN控制器,所述本地控制器根据ONEx簇全局网络信息中远程SDN控制器所管理的远程拓扑信息和远程节点状态选择一个或多个远程控制器进行访问。
在一个实施例中,所述服务器通过分布式数据引擎查询同伴服务器的地址,建立和同伴服务器之间的TCP连接;
在所述TCP连接的空闲时间达到预设值的情况下,关闭所述TCP链接;
在所述TCP连接的空闲时间未达到预设值的情况下,所述TCP链接保持激活状态。
在一个实施例中,在超载状态下,本地SDN控制器确定待转发的包输入负载信息,根据远程节点状态选择空闲的远程SDN控制器,将待转发的包输入负载信息封装为ONEx负载报文,根据控制器标识以单播方式向空闲的远程SDN控制器发送所述ONEx负载报文;
本地SDN控制器接收并解析来自空闲的远程SDN控制器的携带Packet-Out负载信息的ONEx负载报文,基于Packet-Out负载信息向本地交换机下发流表,以通过空闲的远程SDN控制器完成负载均衡。
在一个实施例中在数据流的目的交换机属于远程SDN控制器的情况下,本地SDN控制器根据远程拓扑信息确定最优转发流表;
本地SDN控制器将最优转发流表封装为ONEx流表报文,根据控制器标识以单播方式向目的交换机所属的远程SDN控制器发送ONEx流表报文,以通过远程SDN控制器向目的交换机下发最优转发流表,预先配制目的交换机。
本发明的有益效果在于,可以通过异构控制器的合作来增强异构软件定义网络的可扩展性。本发明的实施例提供了利用SDN水平接口实现异构化多控制器的方案,并完成***和协议的设计、实现和测试。此外,本发明的实施例还能够利用该异构多控制器协作方案实现拓扑共享、负载均衡和全局路径优化。
附图说明
图1为根据本发明实施例的SDN异构水平通信接口的结构示意图;
图2为根据本发明实施例的ONEx异构化网络的结构示意图;
图3为根据本发明实施例的异构SDN通信***的结构示意图;
图4为图3中SDN通信***的结构简图;
图5为根据本发明实施例的分布式控制器的信息分发示意图;
图6为根据本发明实施例的异构SDN通信***的原理性示意图;
图7为根据本发明实施例的SDN控制器在水平方向的通信方法的步骤流程图;
图8为根据本发明实施例的SDN控制器的结构图;
图9为根据本发明实施例的服务器在水平方向的通信方法的步骤流程图;
图10为根据本发明实施例的服务器的结构图;
图11为根据本发明实施例的实现全局拓扑共享的协作过程示意图;
图12为根据本发明实施例的实现负载均衡的协作过程示意图;
图13a为现有技术中非协作SDN网络中数据包的处理过程;
图13b为根据本发明实施例的协作SDN网络中全局路径优化的处理过程。
具体实施方式
本发明的实施例通过异构控制器的合作来增强异构软件定义网络的可扩展性。在实施例中,利用SDN水平接口实现异构化多控制器,并完成了***和协议的设计。此外,实施例中还提出了利用该异构化多控制器协作方案实现拓扑共享、负载均衡、全局路径优化的方法。
具体来说,利用水平接口实现可编程异构化多控制器协作的方案。ONEx是实现此方案的通用框架,其将水平接口的概念集成到现有的SDN控制器中。ONEx实现了如下功能:(1)扩展已有的多控制器合作方式,并允许后续的灵活扩展;(2)将多控制器合作功能与控制平面的其他功能解耦合;(3)支持异构化网络;(4)集成对负载均衡、全局路径优化的支持。
以下对水平接口的概念进行说明。如图1所示,ONEx的概念是水平接口的延伸。所谓水平接口,是相对传统的南北向接口而言。北向接口向应用程序提供了控制平面的抽象,也就是传统的控制器;南向接口向控制器平面提供了数据平面的抽象,使得实现控制器时不需要考虑具体网络设备的区别,只需按照南向接口的抽象接口进行编程。最常见的南向接口是OpenFlow协议。
水平接口又称东西向接口,其功能是实现不同控制器的通信和合作。在图1中,ONEx适配器(Adapter)以插件的形式,把原生SDN控制器的水平接口抽象出来,提供统一的对外接口,使得其他的控制器可以通过这些接口与之通信并合作。
图2为在ONEx的支持下组成的异构化SDN控制器网络示意图。不同分布式控制器的实现方式各异,例如可以通过Java、Python、C++等等不同的语言实现,对应的例子分别为FDL(Floodlight)、Ryu、NOX。现有技术中,此类异构的SDN控制器之间不能完成协作通信。本实施例提供的ONEx适配器掩盖了不同SDN控制器之间的差别,并向外提供了一致的接口。多个ONEx之间通过分布式数据库(比如图中的DHT)实现进行交互,并以此保证***的稳定性、容错性和实时性。
在一个实施例中提供一种SDN通信***,其网络结构如图3所示。SDN控制器一一对应地连接至服务器,若干服务器以无拓扑方式互联来共享ONEx簇全局网络信息。图3中的SDN控制器包括一个本地控制器和至少一个远程控制器,本地控制器根据ONEx簇全局网络信息选择一个或多个远程控制器进行访问,进而完成负载均担和路径优化。
图4为图3的简化示意图。在图4中ONEx协议实现了ONEx适配器和ONEx服务器之间、以及多个ONEx服务器之间的有效沟通。只要控制器实现了ONEx协议,换句话说也就是集成了相应的适配器,这样的控制器就可以组成ONEx簇。ONEx适配器是异构化SDN控制器之间共同的桥梁,适配器以多种兼容的语言实现,并以插件(或模块)的形式封装。其中,ONEx服务器是本地控制器与远程控制器之间的网关。
在图4中,ONEx协议、ONEx适配器和ONEx服务器彼此协作,实现了满足异构化、可移植和可扩展要求的***。
·异构化指的是控制器之间的协作不局限于同种实现的控制器之间,而且应该与南向接口的实现相独立。ONEx通过精心设计的ONEx协议和预先实现的适配器保证对异构化的支持。
·可移植性指的原有的SDN应用可以很方便的移植到ONEx平台。
·ONEx协议的灵活设计确保了***的可扩展性。对ONEx协议的修改可以在协议内部完成,而不必修改ONEx适配器和ONEx服务器。
信息分发
以下对ONEx协议中实现信息分发功能的原理进行说明。ONEx协议定义了控制器之间相互协作的可能范围;而且,ONEx协议需要和多种南向接口向兼容,并且可以被容易的更新。
在分布式SDN网络中,分布式控制器的最主要工作是数据包的分发。根据对SDN网络的分析,将分布式控制器所分发的数据分为两大类:网络信息和负载。如图5所示,网络信息采用广播的方式从分布式数据库DHT向各个控制器广播。网络信息指的是控制器节点之间传递的控制信息,用于同步、协作等。负载信息采用单播的方式在各个控制器之间传送。
简单来说,网络信息又分为两种:全局拓扑和节点状态。
首先,本实施例中的SDN控制器能够通过分布式数据库完成全局拓扑的共享。在现有的SDN网络中,交换机与一个或多个控制器之间通过TCP/IP协议相连接,因此控制器只能发现与其之间相连的交换机。交换机之间的连接并不能被控制器发现,比如:在图5中,SDN控制器C1不知道交换机S4的存在,尽管交换机S4可以通过交换机S3访问到。因此在非合作的控制器网络中,到达交换机S4的流量必须通过洪泛的方式送达,显然是低效的。反之,本实施例中控制器之间可以协作,SDN控制器C1和C2可以通过交换拓扑的方式了解到所有交换机的信息,因此到达S4的数据包可以通过S3直接送达,不需进行洪泛。所以,拓扑的共享是分布式控制器必须实现的功能,是负载均衡、全局路径优化等多种算法的基础。
其次,控制器必须对其同伴控制器的运行状态有所了解,比如是否在线、负载水平等。这些信息被统一称为节点状态。掌握节点状态非常重要,因为这些状态时实现分工协作、负载均衡等功能的基础。
此外,本实施例中的负载信息定义为从一个控制器节点转发到另外一个控制器节点的信息。例如,某些情况下,OpenFlow数据包需要从一个控制器节点转发到另外一个,这一过程称为数据转发。数据转发与网络信息的分发的不同在于,前者应该被点到点地送达,而后者要求在整个ONEx网络中共享。负载的分发用于实现负载均衡和全局路径优化。
全局拓扑的抽象
如前文所述,全局拓扑是最重要的网络信息。因为它不仅是控制器之间沟通写作的基础,而且是大多数SDN应用(如2、3层转发)的算法基础。因此这些应用的性能高低与能否有效分发、处理全局拓扑有着重要的关系。除此之外,在某些分布式的情况下,现有技术中通过MAC地址和IP地址描述网络的方法已经不再适应分布式应用的需求。因此,有必要对SDN网络的全局拓扑提出新抽象。
在分布式SDN网络中,如图5所示,交换之间有三种互联方式:
·直接连接,如s3和s4;
·两交换机同属于一个控制器,如s1,s2和s3;
·分属于不同但相连的控制器,如s1和s5,这种情况称为间接连接。
事实上,前两种情况都可以被看作直接连接,只有第三种情况需要特殊处理。在本实施例中,如果C1和C2在同一个ONEx簇中,可以认为s1和s5是逻辑上相连的。尽管他们没有直接通过TCP/IP相联,但是他们通过ONEx共享了全局拓扑。换句话说,s1可以看到s5,就像它们在同一个域中一样。
为了描述这种“区域性”,ONEx协议提出了森林的概念。森林是与同一个控制器相连的交换机的集合,同一个森林中的节点都是逻辑相连的。森林可以用于简化在全局拓扑中的寻址,比如在图5中,s1,s2,s3的连通性与s4,s5完全相同。换句话说,如果有数据包从s1到达s5,可以通过s4直接送达,从s2和s3到达的包也是如此。利用森林的概念,可以在更高的层次看待网络中的连通性,这样节点的数量会显著减小,有助于加速SDN应用,如路由算法。
全局拓扑可以用三级数据结构描述,如下
其中,
·host_entry记录了所有已知的主机(通过Packet-In和PortState包发现)
·forest_entry记录了某个控制器和交换机之间的映射(控制器用dpid标识)
·switch_link记录了交换机之间的连接(通过LLDP协议发现)
基于上述全局拓扑的路由算法如下文所述。
该算法要求输入如下参数:源主机地址(hi)、目标主机地址(hj)、全局拓扑信息中的主机表、森林表和交换机连接表。算法输出为OUTPUT,其值或者为某具体交换机的地址;或者为FLOOD(洪泛),示意此数据包需要进行广播。
全局拓扑的路由算法的步骤如下:
第(1)步,构建森林网络G。首先初始化G为空表,然后遍历S中的每个交换机连接(例如A-B),将源森林(A所在的森林)和目标森林(B所在的森林)加入到G,组成一条森林网络的有向边。
第(2)步,通过查表获得hi和hj所在森林fi和fj。
第(3)步,在由森林网络G中,利用Dijkstra算法计算fi到fj的最短路径。算法返回的f_next是fi到fj最短路径上最临近fi的结点(也就是从fi出发需要到达的第一个结点)。
第(4)步,在交换机网络中找到能到达f_next的路径,如果找到返回下一跳交换机;如果找不到说明该路径不存在或尚未被发现,因此返回FLOOD示意交换机对该包进行广播。
上述算法的源代码如下:
最小原语集合
尽管不同分布式控制器的实现方式各异,但是它们有着共同的基本功能,这些基本功能是构成复杂分布式控制器特性的“原语”。这里称实现基本分布式功能的原语的集合为“最小原语集合”。下表示意了最小原语集合中的9个原语,通过对这些原语进行组合,可以实现分布式控制器的基本的通信、协作功能,和稍复杂的应用,比如全局路径优化、负载均衡等。
0 UPLOAD_LOCAL_TOPO(上载本地拓扑)
1 REQ_GLOBAL_TOPO(请求全局拓扑)
2 REP_GET_GLOBAL_TOPO(回复全局拓扑)
3 GET_PEERS_INFO(获取节点状态)
4 REP_PEERS_INFO(回复节点状态)
5 SPARE_PACKET_IN(分发PACKET_IN报文)
6 REP_SPARE_PACKET_IN(回复分发PACKET_IN报文)
7 REQ_GLOBAL_FLOW_MOD(请求全局流表)
8 DO_GLOBAL_FLOW_MOD(执行全局流表)
ONEx协议的实现
ONEx协议是水平接口的核心。为了保证***的性能和灵活性,ONEx协议必须具有良好的可扩展性和低复杂性。为此,ONEx采用了TLV结构的ONEx数据包。
表1
包头(header) | TLV1 | …… | TLVn |
如表1所示,一个ONEx数据包由一个定长的包头和至少一个TLV格式的内容组成。ONEx数据包中的内容部分是变长结构,可以包括一个到多个TLV,其数据结构如下:
为了使ONEx协议的实现和扩展充分简单,ONEx协议的一个核心设计思想是“只包含字节流”,而不对内容的意义进行解析。也就是说,数据包中的TLV只包含序列化了的字节流,而把数据包的编解码留给ONEx服务器和ONEx适配器。这种松耦合的设计允许TLV更加灵活的被重用。除此之外,拓展ONEx协议也非常容易,只需要添加新的INS和TLV即可。
ONEx***实现
在上文所述的最小原语集合和数据结构的基础上,图6示出了根据本实施例的SDN通信***的原理性示意图。如前所述,ONEx采用了模块化的设计方式以保证灵活性,ONEx***采用了大量网络编程和并发技术。如图6所示,ONEx适配器将原生控制器的原语封装成ONEx协议包,然后通过套接字的方式发送到ONEx服务器。ONEx协议与语言无关,可以用Python,C++,Java等多种流行的语言实现,只要与原生SDN控制器兼容即可。收到ONEx协议包后,ONEx服务器解析并处理之。多个ONEx服务器之间通过NIO(非阻塞IO)套接字和分布式数据库相互联,以此实现数据共享。
ONEx适配器
ONEx适配器最重要的功能是弥补不同原生SDN控制器之间的差异。因此,从实现的角度来讲,适配器要实现的功能是本地、跨语言的IPC(进程间通信)。具体来说,IPC发生在ONEx服务器(用Java实现)和原生SDN控制器(可用Python、C++、Java等各种语言实现)之间。
通常来说,实现IPC的方式的非常多。考虑到灵活性和性能的折中,ONEx适配器采取了套接字的方式。这一方式有若干优点:首先,套接字是跨平台、跨语言的IPC方式,符合ONEx适配器的需求;其次,现有的几乎所有语言都有对套接字的支持,这使得基于套接字的开发非常方便;最后,套接字,特别是Unix本地套接字的性能,完全可以满足ONEx协议的需求。
以下说明异构的SDN控制器在水平方向的通信方法的具体步骤。如图7所示,原生SDN控制器获取待分发的本地拓扑信息和本地节点状态(步骤S701),适配器对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态(步骤S702)。具体来说,适配器的封装过程为,对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元;为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。发送ONEx本地数据报文的具体过程为,通过套接字服务将ONEx本地数据报文由原生控制器进程发送至云端分布式数据库。
在云端生成全局网络信息之后,适配器接收并解析携带ONEx簇全局网络信息的云端广播报文(步骤S703),具体而言,适配器对云端广播报文进行解析,得到ONEx簇全局网络信息;通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。原生SDN控制器从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态(步骤S704)。如此以来,本地控制器可以将本地网络信息随时上传至分布式数据库,并及时获取其他远程控制器的远程网络信息。
相应地,本实施例还提供一种用于异构SDN网络的SDN控制器,其结构如图8所示。
在图8中,SDN控制器800包括本地信息获取模块810,封装模块820,解析模块830和远程信息获取模块840。
本地信息获取模块810用于获取待分发的本地拓扑信息和本地节点状态。
封装模块820用于对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态。
具体来说,封装模块820还包括ONEx数据处理子模块821,包头处理子模块822和发送子模块823。ONEx数据处理子模块821用于对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元。包头处理子模块822用于为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。发送子模块823用于通过Socket套接字服务将ONEx本地数据报文由原生控制器进程发送至云端服务器进程。
解析模块830用于接收并解析携带ONEx簇全局网络信息的云端广播报文。解析模块830还用于对云端广播报文进行解析,得到ONEx簇全局网络信息;通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。
远程信息获取模块840用于从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态。
ONEx服务器和簇
以下说明服务器在水平方向的通信方法的具体步骤。如图9所示,服务器接收并解析ONEx本地数据报文(步骤S901),具体来说,对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态;通过NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至分布式数据库。服务器将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态(步骤S902)。适配器对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文(步骤S903)。如此以来,服务器可以及时向控制器提供全局网络信息。
相应地,本实施例还提供一种用于异构SDN网络的服务器,其结构如图10所示。
服务器100包括本地信息接收模块110、共享模块120和广播模块130。
其中,本地信息接收模块110用于接收并解析ONEx本地数据报文。具体来说,本地信息接收模块110还用于对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态;通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库。
共享模块120用于将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态。
广播模块130用于对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文。
另外,在图3所示的SDN通信***中,ONEx服务器的互联组成了ONEx簇,是整个ONEx***的数据骨干。根据CAP理论,分布式***不可能同时保证CAP指标:一致性、可用性和分区容忍性。显然,分发不同性质的内容对CPA有着不同的要求,因此ONEx将其上分发的流量分成两种;网络信息和负载。
·网络信息:共享网络信息需要严格保证一致性和分区容忍性,同时这类信息数量并不庞大,亦不会频繁更新。因此,ONEx分布式数据库采用了廉价的内存数据网格来分发网络信息。ONEx目前采用了在Apache 2.0协议下开源的Hazelcast作为分布式数据引擎。
·负载:在多个控制器之间分发的实际流量被称为负载。分发负载更注重带宽和吞吐量,而对延迟和一致性的要求可以放松。因此,ONEx采用了非阻塞套接字NIO来转发这种庞大的比特流。
除了对网络信息和负载两种流量的区分,ONEx在组织ONEx服务器互联时采用了灵活的“无拓扑”结构。
所谓无拓扑,指的是ONEx服务器的互联并不遵循某种特定的拓扑。与此相反,所有的链接都是在运行时根据需要建立的。具体来说,在图3中,服务器通过分布式数据引擎查询同伴服务器的地址,建立和同伴服务器之间的TCP连接;在所述TCP连接的空闲时间达到预设值的情况下,关闭所述TCP链接;在所述TCP连接的空闲时间未达到预设值的情况下,所述TCP链接保持激活状态。
在一个优选的示例中建立链接的过程如下:会话的发起者查询网络信息(通过Hazelcast)来确定目标地址;然后,发起者建立到对方的TCP链接;如果链接保持空闲达到预定的时间,ONEx***将链接关闭;如果在超时之前重新发起链接,则此时建立链接没有任何开销,因为链接是保活(Keep alive)的。
在这种情况下,套接字的服务器端可能需要同时处理大量的客户端请求,因此ONEx充分利用了Java的高级并发特性和非阻塞IO技术。总结起来,“无拓扑”方案有如下优势:
·是一种无中心架构。在ONEx簇中,所有的节点以同样的方式工作,没有任何一个节点是特殊的中心节点。去中心化保证了***的对单点失败的容忍性。
·可扩展。ONEx簇可以很容易的伸缩,而不需要复杂的配置,也不会损失数据。除此之外,NIO和并发技术也保证了ONEx簇的可扩展性。
·高性能。***资源按需占用,并及时释放。
如前文所述,通过对最小原语集合中的基本操作进行组合,可以实现复杂的功能和特性。这使得SDN控制器之间的合作变得灵活,其编程模式变得清晰明了。本实施例提供全局拓扑共享、负载均衡、和全局路径优化三个功能,在下文进行详细说明。
全局拓扑共享的实现
共享拓扑是实现其他分布式功能的前提。本地化的拓扑通过OpenFlow包(比如PortStatus)和LLDP协议发现,本地拓扑发现完毕后,控制器执行UPLOAD_LOCAL_TOPO操作,将拓扑变化汇报给云端。必要时,其他控制器可以从云端获取全局拓扑,通过执行REQ_GLOBAL_TOPO操作。
如图11所示,全局拓扑共享通过两个操作完成:UPLOAD_LOCAL_TOPO和REQ_GLOBAL_TOPO。这两个操作与三个实体相关联,包括控制器C1、C2和云端。云泛指实现分布式数据共享的某种技术。在一个优选的示例中,ONEx目前采用了在Apache 2.0协议下开源的Hazelcast作为分布式数据引擎。
负载均衡的实现
在超载状态下,本地SDN控制器可将负载分发至远程SDN控制器进行处理。首先,本地SDN控制器确定待转发的包输入(Packet-In)报文负载信息,根据远程节点状态选择空闲的远程控制器;然后,将待转发的Packet-In负载信息封装为ONEx负载报文,根据控制器标识以单播方式向空闲的远程SDN控制器发送所述ONEx负载报文;接下来,接收并解析来自空闲的远程SDN控制器的携带包输出(Packet-Out)报文负载信息的ONEx负载报文;最后基于Packet-Out负载信息向本地交换机下发流表,以通过空闲的远程SDN控制器完成负载均衡。
实现负载均衡是提出分布式控制器的初衷,在ONEx***中,通过如下三个步骤实现负载均衡,如图12所示。
·负载均衡由某个控制器发起,发起者首先需要得到其他控制器的状态信息,包括是否在线、负载水平等参数;
·将packet-in转发到空闲的其他控制器,在远端得到处理,并将Packet-Out和其他信息返回;
·发起者收到Packet-Out,根据返回结果产生相应的OpenFlow包,如FlowMod等,正确配置交换机。
全局路径优化的实现
在数据流的目的交换机属于远程SDN控制器的情况下,本地SDN控制器根据远程拓扑信息确定最优转发流表,将最优转发流表封装为ONEx流表报文,根据控制器标识以单播方式向目的交换机所属的远程SDN控制器发送ONEx流表报文,以通过远程SDN控制器向目的交换机下发最优转发流表,预先配制目的交换机,完成全局路径优化。
在ONEx中,每个控制器都有全局拓扑的完全知识,ONEx簇的协作也正是以此为基础。在本实施例中将基于全局拓扑进行的路径优化称为全局路径优化,通过图13a和图13b中的示例说明其原理。
图13a表示现有技术中在非协作模式下的工作过程。在图13a中,数据包从主机1发往主机2。由于C1和C2是相互隔离的(即不能共享全局拓扑),将数据送达需要产生2个包输入packet-in报文。
图13a表示本实施例的在协作模式下的工作过程。在图13b中,C1和C2可以通过ONEx进行全局拓扑共享,当数据包到达s1时,控制器C1可以根据全局拓扑预先给s3下发流表(REQ_GLOBAL_FLOW_MOD)。当数据包到达两个控制器的边界s3时,因为此前已经对s3下过流表,此时将不再产生新的packet-in。总之,基于对全局拓扑的掌握,控制器可以预先计算数据包的路径,并提前配置路径经过的交换机,减少产生packet-in的数量,这种优化尤其适用于复杂网络中的全局路由。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (13)
1.一种用于异构SDN网络的水平方向通信方法,其特征在于,包括以下步骤:
获取待分发的本地拓扑信息和本地节点状态;
对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态;
接收并解析携带ONEx簇全局网络信息的云端广播报文,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态;
其中,在对本地拓扑信息、本地节点状态和控制器标识进行封装的步骤中包括:
对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元,每个TLV结构的ONEx数据单元只包含序列化了的字节流;
为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。
2.根据权利要求1所述的用于异构SDN网络的水平方向通信方法,其特征在于,在发送ONEx本地数据报文的步骤中包括:
通过套接字服务将ONEx本地数据报文由原生控制器进程发送至云端服务器进程。
3.根据权利要求1所述的用于异构SDN网络的水平方向通信方法,其特征在于,在接收并解析携带ONEx簇全局网络信息的云端广播报文的步骤中包括:
对云端广播报文进行解析,得到ONEx簇全局网络信息;
通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。
4.一种用于异构SDN网络的水平方向通信方法,其特征在于,包括以下步骤:
接收并解析ONEx本地数据报文;
将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文;
其中,在接收并解析ONEx本地数据报文的步骤中包括:
对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态,每个TLV结构的ONEx数据单元只包含序列化了的字节流;
通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库。
5.一种用于异构SDN网络的SDN控制器,其特征在于,包括:
本地信息获取模块,其获取待分发的本地拓扑信息和本地节点状态;
封装模块,其对本地拓扑信息、本地节点状态和控制器标识进行封装得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态;
解析模块,其接收并解析携带ONEx簇全局网络信息的云端广播报文,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
远程信息获取模块,其从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态;
其中,所述封装模块包括:
ONEx数据处理子模块,其用于对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元,每个TLV结构的ONEx数据单元只包含序列化了的字节流;
包头处理子模块,其用于为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,其中,包头单元包括所述控制器标识。
6.根据权利要求5所述的用于异构SDN网络的SDN控制器,其特征在于,所述封装模块还包括:
发送子模块,其用于通过套接字服务将ONEx本地数据报文由原生控制器进程发送至云端服务器进程。
7.根据权利要求5所述的用于异构SDN网络的SDN控制器,其特征在于,所述解析模块还用于:
对云端广播报文进行解析,得到ONEx簇全局网络信息;
通过套接字服务将ONEx簇全局网络信息由服务器进程发送至原生控制器进程。
8.一种用于异构SDN网络的服务器,其特征在于,包括:
本地信息接收模块,其用于接收并解析ONEx本地数据报文;
共享模块,其用于将ONEx本地数据报文中携带的本地拓扑信息和本地节点状态发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态;
广播模块,其用于对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文;
其中,所述本地信息接收模块还用于:
对ONEx本地数据报文进行解析,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态,每个TLV结构的ONEx数据单元只包含序列化了的字节流;
通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库。
9.一种异构SDN通信***,其特征在于,包括SDN控制器和服务器,其中,
所述SDN控制器用于获取待分发的本地拓扑信息和本地节点状态,
对本地拓扑信息和本地节点状态封装为若干个TLV结构的ONEx数据单元,为ONEx数据单元添加定长的包头单元得到ONEx本地数据报文,发送ONEx本地数据报文,以通过云端分布式数据库共享本地拓扑信息和本地节点状态,接收并解析携带ONEx簇全局网络信息的云端广播报文,从已解析的ONEx簇全局网络信息中获得远程SDN控制器所管理的远程拓扑信息和远程节点状态;其中,包头单元包括所述控制器标识,每个TLV结构的ONEx数据单元只包含序列化了的字节流;
所述服务器用于接收并解析ONEx本地数据报文,得到TLV结构的ONEx数据单元中封装的本地拓扑信息和本地节点状态,通过非阻塞NIO套接字服务将本地拓扑信息和本地节点状态由服务器进程发送至云端分布式数据库,以通过云端分布式数据库共享本地拓扑信息和本地节点状态以形成ONEx簇全局网络信息,其中,所述ONEx簇全局网络信息中包括远程SDN控制器所管理的远程拓扑信息和远程节点状态,对ONEx簇全局网络信息进行封装得到云端广播报文,广播所述云端广播报文。
10.根据权利要求9所述的异构SDN通信***,其特征在于,
所述SDN控制器一一对应地连接至所述服务器,所述服务器以无拓扑方式互联来共享ONEx簇全局网络信息;
所述SDN控制器包括本地SDN控制器和远程SDN控制器;
所述本地SDN控制器根据ONEx簇全局网络信息中远程SDN控制器所管理的远程拓扑信息和远程节点状态选择一个或多个远程SDN控制器进行访问。
11.根据权利要求9所述的异构SDN通信***,其特征在于,所述服务器通过分布式数据引擎查询同伴服务器的地址,建立和同伴服务器之间的TCP连接;
在所述TCP连接的空闲时间达到预设值的情况下,关闭所述TCP链接;
在所述TCP连接的空闲时间未达到预设值的情况下,所述TCP链接保持激活状态。
12.根据权利要求9所述的异构SDN通信***,其特征在于,
在超载状态下,本地SDN控制器确定待转发的包输入负载信息,根据远程节点状态选择空闲的远程SDN控制器,将待转发的包输入负载信息封装为ONEx负载报文,根据控制器标识以单播方式向空闲的远程SDN控制器发送所述ONEx负载报文;
本地SDN控制器接收并解析来自空闲的远程SDN控制器的携带包输出负载信息的ONEx负载报文,基于包输出负载信息向本地交换机下发流表,以通过空闲的远程SDN控制器完成负载均衡。
13.根据权利要求9所述的异构SDN通信***,其特征在于,
在数据流的目的交换机属于远程SDN控制器的情况下,本地SDN控制器根据远程拓扑信息确定最优转发流表;
本地SDN控制器将最优转发流表封装为ONEx流表报文,根据控制器标识以单播方式向目的交换机所属的远程SDN控制器发送ONEx流表报文,以通过远程SDN控制器向目的交换机下发最优转发流表,预先配制目的交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041960.7A CN104618475B (zh) | 2015-01-28 | 2015-01-28 | 用于异构sdn网络的水平方向通信方法和sdn*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041960.7A CN104618475B (zh) | 2015-01-28 | 2015-01-28 | 用于异构sdn网络的水平方向通信方法和sdn*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618475A CN104618475A (zh) | 2015-05-13 |
CN104618475B true CN104618475B (zh) | 2018-10-30 |
Family
ID=53152750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510041960.7A Active CN104618475B (zh) | 2015-01-28 | 2015-01-28 | 用于异构sdn网络的水平方向通信方法和sdn*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618475B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302216A (zh) * | 2015-05-20 | 2017-01-04 | 天脉聚源(北京)科技有限公司 | 一种网络负载均衡的方法和*** |
CN106712994B (zh) * | 2015-11-16 | 2021-01-01 | 中兴通讯股份有限公司 | 软件定义网络管理方法及通信*** |
WO2017108119A1 (en) * | 2015-12-23 | 2017-06-29 | Huawei Technologies Co., Ltd. | Rack awareness |
CN107819734A (zh) * | 2016-09-14 | 2018-03-20 | 上海福赛特机器人有限公司 | 一种基于网络套接字的程序间通讯方法及通讯*** |
CN109561127A (zh) * | 2017-09-27 | 2019-04-02 | 上海诺基亚贝尔股份有限公司 | 用于软件定义网络中的数据同步的方法、设备和计算机可读介质 |
CN109698982B (zh) * | 2017-10-23 | 2021-09-21 | 中兴通讯股份有限公司 | 控制通道实现方法、装置、设备、存储介质和处理方法 |
CN109905251B (zh) * | 2017-12-07 | 2020-12-18 | 北京金山云网络技术有限公司 | 网络管理方法、装置、电子设备和存储介质 |
CN108768714A (zh) * | 2018-05-22 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种数据中心综合管理***及其网络安全实现方法 |
CN110166448B (zh) * | 2019-05-16 | 2020-04-14 | 西安电子科技大学 | 用于异构控制器集群的异构协议转换中间件及方法 |
CN110381562B (zh) * | 2019-06-29 | 2020-09-11 | 中国人民解放军军事科学院国防科技创新研究院 | 基于双层松耦合最优停止的无线分布式协同网络接入方法 |
CN110995601B (zh) * | 2019-12-19 | 2021-11-26 | 北京工业大学 | 一种软件定义的空基骨干网络拓扑构建方法 |
CN112100170B (zh) * | 2020-08-05 | 2021-09-14 | 中科驭数(北京)科技有限公司 | 数据库交互数据解码方法和装置 |
CN112019554B (zh) * | 2020-09-01 | 2022-11-22 | 深信服科技股份有限公司 | 一种内网主机及云内引流方法、装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729592B (zh) * | 2008-10-29 | 2013-08-07 | ***通信集团公司 | 一种分布式通信网络、设备及通信网络分离方法 |
US9350671B2 (en) * | 2012-03-22 | 2016-05-24 | Futurewei Technologies, Inc. | Supporting software defined networking with application layer traffic optimization |
CN103414650B (zh) * | 2013-07-29 | 2016-12-07 | 上海华为技术有限公司 | 一种避免拥塞的路由方法和装置 |
CN103685033B (zh) * | 2013-12-19 | 2017-01-04 | 武汉邮电科学研究院 | Sdn架构中支持分组交换和电路交换的通用流表及方法 |
CN103763207B (zh) * | 2014-01-29 | 2017-03-15 | 杭州华三通信技术有限公司 | 软件定义网络中的带内控制连接建立方法及设备 |
CN103763146B (zh) * | 2014-01-29 | 2017-05-17 | 新华三技术有限公司 | 一种软件定义网络控制器及其生成转发信息的方法 |
-
2015
- 2015-01-28 CN CN201510041960.7A patent/CN104618475B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104618475A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618475B (zh) | 用于异构sdn网络的水平方向通信方法和sdn*** | |
Fu et al. | Orion: A hybrid hierarchical control plane of software-defined networking for large-scale networks | |
EP4258598A1 (en) | Computing power application traffic forwarding method and apparatus | |
EP3063903B1 (en) | Method and system for load balancing at a data network | |
CN108833166B (zh) | 边缘云报文转发方法及***、网络报文转发方法及*** | |
Prete et al. | Simulation in an SDN network scenario using the POX Controller | |
CN110430114B (zh) | 一种虚拟路由器及实现sdn网络与传统ip网络互联的方法 | |
US20150003296A1 (en) | System and method for providing p2p based reconfigurable computing and structured data distribution | |
CN105553849A (zh) | 一种传统ip网络与sptn网络互通方法与*** | |
CN103051737A (zh) | 提供融合互联架构上的网络能力 | |
CN112491984B (zh) | 基于虚拟网桥的容器编排引擎集群管理*** | |
CN114363021A (zh) | 网络靶场***、网络靶场***的虚拟网络实现方法及装置 | |
RU2513918C1 (ru) | Кластерный маршрутизатор и способ кластерной маршрутизации | |
US9467374B2 (en) | Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway | |
CN113992590A (zh) | 基于软件定义网络的链路负载均衡方法 | |
US9686210B2 (en) | Controller based fibre channel over ethernet (FCoE) fabric | |
Hwang et al. | Design of SDN-Enabled cloud data center | |
CN104320322A (zh) | 一种报文控制方法和设备 | |
CN105049351A (zh) | 基于sdn的多链接透明互联算法 | |
CN116389484A (zh) | 基于数据分发服务的跨Kubernetes集群网络互通***及方法 | |
CN116455817A (zh) | 一种软件定义云网融合架构及路由实现方法 | |
Luo et al. | Design of centralized control architecture for distribution network communication network based on SDN | |
CN106059804B (zh) | 基于改进的opnet-hla的大规模网络仿真方法 | |
CN105323077B (zh) | 基于Openflow技术的网络广播方法及*** | |
CN111385261B (zh) | 仿真通讯方法及仿真通讯平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |