CN107948217B - 交换机系统和通信方法 - Google Patents
交换机系统和通信方法 Download PDFInfo
- Publication number
- CN107948217B CN107948217B CN201610888018.9A CN201610888018A CN107948217B CN 107948217 B CN107948217 B CN 107948217B CN 201610888018 A CN201610888018 A CN 201610888018A CN 107948217 B CN107948217 B CN 107948217B
- Authority
- CN
- China
- Prior art keywords
- cluster
- information
- controller
- switch
- agent
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种交换机系统和通信方法,涉及计算机网络领域。其中的交换机系统包括:控制器集群,包括至少一个软件定义网络控制器,代理集群,包括至少一个代理设备,和,若干交换机;其中,代理集群位于控制器集群与交换机之间,每个代理设备代理若干交换机与控制器集群中的软件定义网络控制器建立通信连接。通过在控制器集群与交换机之间设置代理集群,并且采用代理集群中的每个代理设备代理若干交换机,与控制器集群中的SDN控制器建立通信连接,能够减少控制器集群中SDN控制器的连接数量,减少了对SDN控制器的性能消耗,提升了SDN控制器的处理性能。
Description
技术领域
本发明涉及计算机网络领域,特别涉及一种交换机系统和通信方法。
背景技术
SDN(Software Defined Network,软件定义网络)通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制。
然而,SDN控制器的性能成为了新的瓶颈。以SDN控制器采用OpenFlow协议与交换机通信为例,每个交换机需要单独与SDN控制器建立TCP(Transmission ControlProtocol,传输控制协议)连接,在考虑冗余保护的情况下,一个交换机同时要与SDN控制器建立2-3个TCP连接,并且每个交换机独立发送OpenFlow数据包与控制器进行交互。在出现大规模上线或者业务下发时,SDN控制器可能会产生大量的性能消耗,从而影响了SDN控制器的处理性能。
发明内容
本发明实施例所要解决的一个技术问题是:如何提升SDN控制器的处理性能。
根据本发明实施例的第一个方面,提供了一种交换机系统,包括:控制器集群,包括至少一个软件定义网络控制器,代理集群,包括至少一个代理设备,和,若干交换机;其中,代理集群位于控制器集群与交换机之间,每个代理设备代理若干交换机与控制器集群中的软件定义网络控制器建立通信连接。
在一个实施例中,代理设备与软件定义网络控制器之间的通信连接包括传输控制协议形式的通信连接或者用户数据报协议形式的通信连接。
在一个实施例中,代理设备基于记录的软件定义网络控制器和交换机之间的对应关系,建立交换机以及交换机对应的软件定义网络控制器之间的通信连接。
在一个实施例中,控制器集群和代理集群位于同一可信网络。
根据本发明实施例的第二个方面,提供一种通信方法,包括:代理集群接收交换机发送的信息,并转发给控制器集群;或者,代理集群接收控制器集群发送的信息,并转发给交换机,其中,控制器集群包括至少一个软件定义网络控制器,代理集群包括至少一个代理设备。
在一个实施例中,代理集群与控制器集群之间通过传输控制协议或者用户数据报协议进行信息传输。
在一个实施例中,代理集群接收交换机发送的信息,并转发给控制器集群包括:代理设备接收代理的交换机发送的多个信息,将多个信息中符合预设条件的若干信息封装后,发送给交换机对应的软件定义网络控制器。
在一个实施例中,代理集群接收控制器集群发送的信息,并转发给交换机包括:代理设备接收软件定义网络控制器发送的信息,将该信息解封装为若干子信息,将每个子信息分别发送给软件定义网络控制器对应的交换机。
在一个实施例中,代理集群采用以下方法将多个信息中符合预设条件的若干信息封装:代理集群将多个信息中,满足发送至相同软件定义网络控制器的、具有相同协议版本的、小于预设的数据包大小的至少一个条件的若干信息进行封装。
在一个实施例中,采用以下方法确定软件定义网络控制器和交换机之间的对应关系:代理设备接收交换机发送的连接请求数据包;代理设备将连接请求数据包发送给控制器集群,以便控制器集群为交换机分配软件定义网络控制器;代理设备接收控制器集群发送的分配结果;代理设备记录交换机和为交换机分配的软件定义网络控制器之间的对应关系。
在一个实施例中,信息为Openflow数据包。
本发明通过在控制器集群与交换机之间设置代理集群,并且采用代理集群中的每个代理设备代理若干交换机,与控制器集群中的SDN控制器建立通信连接,能够减少控制器集群中SDN控制器的连接数量,减少了对SDN控制器的性能消耗,提升了SDN控制器的处理性能。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明交换机系统的一个实施例的结构图。
图2为本发明通信方法的一个实施例的流程图。
图3为本发明通信方法的另一个实施例的流程图。
图4为封装后的信息帧结构示意图。
图5为本发明通信方法的又一个实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考图1描述本发明一个实施例的交换机系统。
图1为本发明交换机系统的一个实施例的结构图。如图1所示,该实施例的系统包括:控制器集群12、代理集群14和若干交换机16。其中,控制器集群12包括至少一个SDN控制器122,代理集群14包括至少一个代理设备142。代理集群14位于控制器集群12与交换机16之间,每个代理设备142代理若干交换机16与控制器集群12中的SDN控制器122建立通信连接。
代理设备142采用代理集群14的架构可以避免单点故障,提升了系统的可靠性。
其中,代理设备142与SDN控制器122之间可以采用TCP形式的通信连接。由于代理设备142的总量小于交换机16的总量,因此可以减少SDN控制器的TCP连接的总数量,进而减少了SDN控制器在TCP连接上的性能开销。
或者,代理设备142与SDN控制器122之间也可以采用例如UDP(User DatagramProtocol,用户数据报协议)等基于短连接的协议的通信协议进行连接。从而,SDN控制器可以减少连接的时长,进一步地降低连接性能的消耗。
代理设备142与交换机16之间可以继续采用TCP协议进行连接。从而,交换机16侧无需配合本发明提供的系统进行改动,适应性更好。
控制器集群12和代理集群14可以位于同一可信网络内。从而,可以提升传输效率。
通过在控制器集群与交换机之间设置代理集群,并且采用代理集群中的每个代理设备代理若干交换机,与控制器集群中的SDN控制器建立通信连接,能够减少控制器集群中SDN控制器的连接数量,减少了对SDN控制器的性能消耗,提升了SDN控制器的处理性能。并且,能够降低对SDN控制器的性能需求,减少了硬件成本。
基于本发明提供的交换机系统,下面参考图2描述本发明一个实施例的通信方法。
图2为本发明通信方法的一个实施例的流程图。如图2所示,该实施例的方法包括:
步骤S202,代理集群接收交换机发送的信息。
其中,代理集群包括至少一个代理设备,每个代理设备代理多个交换机。
步骤S204,代理集群将交换机发送的信息转发给控制器集群。
其中,控制器集群包括至少一个SDN控制器。
步骤S206,代理集群接收控制器集群发送的信息。
其中,代理集群与控制器集群之间可以通过TCP协议或者UDP协议进行信息传输。
步骤S208,代理集群将控制器集群发送的信息转发给交换机。
通过在控制器集群与交换机之间设置代理集群,并且采用代理集群中的每个代理设备代理若干交换机,与控制器集群中的SDN控制器建立通信连接,能够减少控制器集群中SDN控制器的连接数量,减少了对SDN控制器的性能消耗,提升了SDN控制器的处理性能。
本发明提供的代理设备还可以对交换机发送的信息进行打包,从而进一步提升传输效率。下面参考图3描述本发明另一个实施例的通信方法。
图3为本发明通信方法的另一个实施例的流程图。如图3所示,该实施例的方法包括:
步骤S302,代理设备接收代理的交换机发送的多个信息。
代理设备接收的信息可以是同一个交换机发送的多个信息,也可以是多个交换机发送的多个信息。
其中,信息可以为Openflow数据包。
步骤S304,代理设备将多个信息中符合预设条件的若干信息进行封装。
例如,代理集群可以将多个信息中发送至相同SDN控制器的若干信息进行封装。从而,可以实现数据的分流,控制器集群无需额外识别信息的接收者。
如果代理集群将发送至不同SDN控制器的若干信息进行封装,也可以由控制器集群中的设备先对封装后的信息进行解封装,再分发给各个SDN控制器。
代理集群还可以将多个信息中具有相同协议版本的若干信息进行封装。从而,可以提高信息封装时的便捷性,防止由于协议版本不一致而带来的额外处理。
代理集群还可以将多个信息中小于预设的数据包大小的若干信息进行封装,例如可以仅对数据包大小小于MTU(Maximum Transmission Unit,最大传输单元)的一半的信息进行封装,避免封装后的数据包过大而对传输效率造成影响。
封装信息的格式例如可以如图4所示,依次将交换机发送的信息1、信息2和信息3封装到以太帧中。
步骤S306,代理设备将封装后的信息发送给交换机对应的SDN控制器。
SDN控制器在接收到封装后的数据包后,可以进行解封装处理。例如,SDN控制器可以根据封装后的数据包的头部内的计数以及Openflow消息头中显示的消息长度,依次还原原始的信息。
通过采用上述方法,代理节点可以将交换机发送的多个消息进行封装后,统一发送给控制器集群,减少了因频繁发送数据包而为交换机带来的性能开销,提升了传输效率。
此外,该实施例的方法也可以包括步骤S308~S312:
步骤S308,代理设备接收SDN控制器发送的信息。
SDN控制器发送的信息为封装后的信息。封装方法例如可以参考步骤S304。
步骤S310,代理设备将该信息解封装为若干子信息。
代理设备解封装的方法例如可以参考步骤S306中SDN控制器解封装的方法。
步骤S312,代理设备将每个子信息分别发送给SDN控制器对应的交换机。
通过采用上述方法,控制器可以将多个信息进行打包后再发送给代理设备,从而SDN控制器减少了接收的数据报文的数量,进而降低了因频繁发送数据包而带来的性能开销,优化了SDN控制器的处理性能。
在本发明提供的交换机系统中,代理设备还可以基于记录的SDN控制器和交换机之间的对应关系,建立交换机以及交换机对应的SDN控制器之间的通信连接。下面参考图5描述本发明又一个实施例的通信方法。
图5为本发明通信方法的又一个实施例的流程图。如图5所示,该实施例的方法包括:
步骤S502,代理设备接收交换机发送的连接请求数据包。
步骤S504,代理设备将连接请求数据包发送给控制器集群。
代理设备可以将连接请求数据包连同其他数据包进行打包,发送给控制器集群。
步骤S506,控制器集群为交换机分配SDN控制器。
其中,控制器集群可以为交换机分配一个SDN控制器,也可以为交换机分配主SDN控制器以及从SDN控制器。
步骤S508,代理设备接收控制器集群发送的分配结果。
如果控制器集群发送的为封装后的数据包,代理设备可以首先对接收到的数据包进行解封装,再查看解封装后的子数据包中的分配结果。
步骤S510,代理设备记录交换机和为交换机分配的SDN控制器之间的对应关系。
从而,实现了交换机和SDN控制器之间的连接关系的建立。
此后,当交换机向SDN控制器发起Openflow请求时,代理设备可以根据存储的对应关系,将Openflow请求转发给交换机对应的SDN控制器。例如可以参考步骤S512~S522。
步骤S512,代理设备接收交换机发送的Openflow请求数据包。
步骤S514,代理设备查找交换机对应的SDN控制器。
步骤S516,代理设备将Openflow请求数据包发送给交换机对应的SDN控制器。
步骤S518,SDN控制器处理Openflow请求数据包,生成Openflow应答数据包。
步骤S520,代理设备接收SDN控制器发送的Openflow应答数据包。
步骤S522,代理设备将Openflow应答数据包转发给交换机。
通过采用上述方法,可以在交换机向SDN控制器发起的连接请求后,记录交换机以及为交换机分配的SDN控制器之间的对应关系,从而能够实现信息的准确转发。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种交换机系统,其特征在于,包括:
代理集群,包括至少一个代理设备,其中,所述代理设备被配置为接收代理的交换机发送的多个信息,将多个信息中符合预设条件的若干信息封装后,发送给所述交换机对应的软件定义网络控制器,并且所述信息为Openflow数据包;
控制器集群,包括至少一个软件定义网络控制器,其中,所述软件定义网络控制器根据封装后的数据包的头部内的计数以及Openflow消息头中显示的消息长度,依次还原原始的信息;和,
若干交换机;
其中,所述代理集群位于所述控制器集群与交换机之间,每个代理设备代理若干交换机与控制器集群中的软件定义网络控制器建立通信连接。
2.根据权利要求1所述的系统,其特征在于,
代理设备与软件定义网络控制器之间的通信连接包括传输控制协议形式的通信连接或者用户数据报协议形式的通信连接。
3.根据权利要求1所述的系统,其特征在于,
代理设备基于记录的软件定义网络控制器和交换机之间的对应关系,建立交换机以及所述交换机对应的软件定义网络控制器之间的通信连接。
4.根据权利要求1所述的系统,其特征在于,
所述控制器集群和所述代理集群位于同一可信网络。
5.一种通信方法,其特征在于,包括:
代理集群接收交换机发送的信息,并转发给控制器集群,包括:代理设备接收代理的交换机发送的多个信息,将多个信息中符合预设条件的若干信息封装后,发送给所述交换机对应的软件定义网络控制器,其中,所述信息为Openflow数据包;
所述软件定义网络控制器根据封装后的数据包的头部内的计数以及Openflow消息头中显示的消息长度,依次还原原始的信息;
代理集群接收控制器集群发送的信息,并转发给交换机,
其中,所述控制器集群包括至少一个软件定义网络控制器,所述代理集群包括至少一个代理设备。
6.根据权利要求5所述的方法,其特征在于,
代理集群与控制器集群之间通过传输控制协议或者用户数据报协议进行信息传输。
7.根据权利要求5所述的方法,其特征在于,
代理集群接收控制器集群发送的信息,并转发给交换机包括:
代理设备接收软件定义网络控制器发送的信息,将该信息解封装为若干子信息,将每个子信息分别发送给所述软件定义网络控制器对应的交换机。
8.根据权利要求5所述的方法,其特征在于,所述代理集群采用以下方法将多个信息中符合预设条件的若干信息封装:
代理集群将所述多个信息中,满足发送至相同软件定义网络控制器的、具有相同协议版本的、小于预设的数据包大小的至少一个条件的若干信息进行封装。
9.根据权利要求5或7所述的方法,其特征在于,采用以下方法确定软件定义网络控制器和交换机之间的对应关系:
代理设备接收交换机发送的连接请求数据包;
代理设备将所述连接请求数据包发送给控制器集群,以便控制器集群为所述交换机分配软件定义网络控制器;
代理设备接收控制器集群发送的分配结果;
代理设备记录所述交换机和为所述交换机分配的软件定义网络控制器之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610888018.9A CN107948217B (zh) | 2016-10-12 | 2016-10-12 | 交换机系统和通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610888018.9A CN107948217B (zh) | 2016-10-12 | 2016-10-12 | 交换机系统和通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107948217A CN107948217A (zh) | 2018-04-20 |
CN107948217B true CN107948217B (zh) | 2021-04-13 |
Family
ID=61928710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610888018.9A Active CN107948217B (zh) | 2016-10-12 | 2016-10-12 | 交换机系统和通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107948217B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110881187A (zh) * | 2019-12-11 | 2020-03-13 | 北京智联安科技有限公司 | 一种基于 SDN 的 IoT 网络安全防护系统和方法 |
CN112367389A (zh) * | 2020-10-30 | 2021-02-12 | 杭州安恒信息技术股份有限公司 | 一种基于代理的软件定义网络方法及装置 |
CN113098720A (zh) * | 2021-04-06 | 2021-07-09 | 辽宁大学 | 一种多重化的安全sdn控制系统及其控制方法 |
CN113329055B (zh) * | 2021-04-30 | 2023-04-07 | 网络通信与安全紫金山实验室 | 一种分布式sdn控制器系统及其控制方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640464A (zh) * | 2009-11-26 | 2012-08-15 | 日本电气株式会社 | 负载分配系统、负载分配方法及程序 |
CN103379046A (zh) * | 2012-04-20 | 2013-10-30 | 唐漫宇 | Ip报文合并和分拆的技术提高报文发送效率的方法 |
CN105681193A (zh) * | 2016-03-02 | 2016-06-15 | 付宏伟 | 一个软件定义网络控制器系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348821B (zh) * | 2013-08-08 | 2018-04-27 | 联想(北京)有限公司 | 管理IPv4/IPv6业务的方法、设备和系统 |
CN105072101B (zh) * | 2015-07-29 | 2018-11-30 | 中国科学院信息工程研究所 | 基于入侵容忍的sdn控制器端系统和安全通信方法 |
-
2016
- 2016-10-12 CN CN201610888018.9A patent/CN107948217B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640464A (zh) * | 2009-11-26 | 2012-08-15 | 日本电气株式会社 | 负载分配系统、负载分配方法及程序 |
CN103379046A (zh) * | 2012-04-20 | 2013-10-30 | 唐漫宇 | Ip报文合并和分拆的技术提高报文发送效率的方法 |
CN105681193A (zh) * | 2016-03-02 | 2016-06-15 | 付宏伟 | 一个软件定义网络控制器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107948217A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948217B (zh) | 交换机系统和通信方法 | |
CN104937896B (zh) | 地址解析协议消息的处理方法和转发器、控制器 | |
CN102594713B (zh) | 一种实现显式拥塞通告的方法及设备 | |
CN102088460B (zh) | 受限网络中流媒体数据的传输方法、设备和系统 | |
CN109120540B (zh) | 传输报文的方法、代理服务器和计算机可读存储介质 | |
CN114079674B (zh) | 一种数据处理方法、用户面功能及装置 | |
CN110381071B (zh) | 一种报文传输方法、装置及发送方设备 | |
WO2016062142A1 (zh) | 报文汇聚传输的方法、装置和系统 | |
CN112787902B (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN109936492A (zh) | 一种通过隧道传输报文的方法、装置和系统 | |
US8179795B2 (en) | Communication terminal apparatus, distribution apparatus, error notification method, and error notification program | |
CN106576108A (zh) | 通信系统中的通信方法和设备及系统 | |
CN105471613A (zh) | 一种临时通道的建立方法、设备和系统 | |
CN115002023B (zh) | 一种链路聚合方法、链路聚合装置、电子设备及存储介质 | |
CN102404414A (zh) | 基于mmc/sd接口的以太网通信系统及方法 | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN109005150B (zh) | 基于以太网mac地址的无链接通信方法及系统 | |
CN107333295B (zh) | 一种数据分流方法和网关 | |
CN110235417B (zh) | 一种sdn及其报文转发的方法和装置 | |
EP2600569A1 (en) | Method, apparatus and system for processing a tunnel packet | |
US10873478B2 (en) | Method, device, and system for determining generic routing encapsulation GRE tunnel identifier | |
CN102611631A (zh) | 一种伪线场景下协议报文保护方法、装置及系统 | |
CN104253811A (zh) | 一种网络包通信方法和系统 | |
CN102638391B (zh) | 一种帧中继压缩报文传输的方法和设备 | |
CN105072057A (zh) | 一种用于网络数据传输的中间交换设备及网络通信系统 |
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 |