CN104092560A - 交换机连接控制器集群的方法和系统以及交换机和控制器 - Google Patents
交换机连接控制器集群的方法和系统以及交换机和控制器 Download PDFInfo
- Publication number
- CN104092560A CN104092560A CN201410256569.4A CN201410256569A CN104092560A CN 104092560 A CN104092560 A CN 104092560A CN 201410256569 A CN201410256569 A CN 201410256569A CN 104092560 A CN104092560 A CN 104092560A
- Authority
- CN
- China
- Prior art keywords
- controller
- switch
- message
- cluster
- new
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种交换机连接控制器集群的方法和系统、控制器、交换机,控制器根据交换机发送的请求消息获取与交换机待连接的新的控制器,然后将新的控制器的信息填充到请求消息的数据段,得到响应消息,并将响应消息返回给交换机,根据交换机发送的连接请求建立交换机与新的控制器的连接,降低了产品的运行成本和维护难度。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种交换机连接控制器集群的方法、交换机连接控制器集群的系统、控制器以及交换机。
背景技术
Openflow协议规范从版本1.2开始,对OFS(Openflow Switch,Openflow交换机)连接多个OFC(Openflow Controller,Openflow控制器)作了规范性的描述,如下:
1、一台OFS可以和多台OFC建立Openflow连接;
2、OFS与OFC的连接分为EQUAL(默认角色)、MASTER(主角色)、SLAVE(备角色)三种角色,其中,处于EQUAL、MASTER角色的OFC拥有OFS的全权读写能力,处于SLAVE角色的OFC有只读权限;
3、一台OFS只能拥有一条MASTER角色的连接,但可以拥有多条EQUAL或SLAVE角色的连接,因此,当某条非MASTER连接申请变更为MASTER时,原来的MASTER连接会被修改为SLAVE;
4、OFS与OFC建立连接时,默认为EQUAL角色;
5、OFC通过发送OFPT_ROLE_REQUEST消息进行连接角色的变更,OFS收到消息后,需要将连接的角色切换为OFC要求的角色;
综上可知,Openflow协议已经阐述了一些OFC集群化的思想,明确了多台OFC如何协同控制同一台OFS。但是协议没有规定OFS如何动态接入OFC集群,即OFS接入OFC集群时,需要连接哪些OFC尚未有标准规范支撑。虽然可以手工指定OFS连接哪些OFC,但是这会大大增加产品的运营成本,增加维护难度。
发明内容
基于此,有必要针对上述问题,提供一种交换机连接控制器集群的方法、交换机连接控制器集群的系统、控制器以及交换机,在交换机接入控制器集群时,控制器自行确定连接哪些控制器,降低了维护的难度等。
一种交换机连接控制器集群的方法,包括步骤:
控制器接收交换机发送的请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息;
控制器将所述响应消息返回给所述交换机;
由所述交换机向所述新的控制器发送连接请求,建立所述交换机与所述新的控制器的连接。
一种交换机连接控制器集群的方法,包括步骤:
交换机将请求消息发送给控制器;
交换机接收所述控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;
交换机将连接请求发送给所述新的控制器;
交换机接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
一种交换机连接控制器集群的方法,包括步骤:
交换机将请求消息发送给控制器;
控制器接收所述请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
交换机接收所述响应消息,将连接请求发送给所述新的控制器,建立与所述新的控制器的连接。
一种控制器,包括:
接收模块,用于接收交换机发送的请求消息;
控制器获取模块,用于响应所述请求消息获取与所述交换机待连接的新的控制器;
响应消息生成模块,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
连接模块,用于接收交换机发送的连接请求,响应所述连接请求与所述交换机建立连接。
一种交换机,包括:
发送模块,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
消息接收模块,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
一种交换机连接控制器集群的系统,包括控制器和交换机;
所述控制器包括:
接收模块,用于接收交换机发送的请求消息;
控制器获取模块,用于响应所述请求消息获取与所述交换机待连接的新的控制器;
响应消息生成模块,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
连接模块,用于接收交换机发送的连接请求,响应所述连接请求与所述交换机建立连接;
所述交换机包括:
发送模块,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
消息接收模块,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
上述本发明方案,交换机在接入控制器集群之前,先通过请求消息向其中一台控制器询问它需要连接哪些控制器;接收请求消息的控制器为所述交换机分配相应的控制器,然后将分配的控制器的信息填充到请求消息的数据段,得到响应消息,并将响应消息返回给所述交换机;交换机解析响应消息中的数据段信息,与分配的控制器建立连接,使交换机接入控制器集群时,不需要手动指定连接哪些控制器,控制器自行确定,然后通过响应消息返回,降低了产品的运行成本和维护的难度,实现了交换机与控制器集群的动态连接。
附图说明
图1为本发明交换机连接控制器集群方法实施例的流程示意图;
图2为Experimenter消息实施例的示意图;
图3为Experimenter请求消息实施例的示意图;
图4为交换机与请求的控制器的交互过程示意图;
图5为交换机连接控制器集群实施例的示意图;
图6为交换机与控制器集群连接断开实施例的示意图;
图7为交换机重新连接控制器集群实施例的示意图;
图8为本发明控制器实施例的结构示意图;
图9为本发明交换机连接控制器集群的方法实施例的流程示意图;
图10为本发明交换机实施例的结构示意图;
图11为本发明交换机连接控制器集群的方法实施例的流程示意图;
图12为本发明交换机连接控制器集群的系统实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种交换机连接控制器集群的方法,包括步骤:
S100、控制器接收交换机发送的请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
控制器可以包括Openflow控制器等,交换机可以包括Openflow交换机等,根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter消息的格式如图2所示,每行为32bit(比特),前16字节是Experimenter消息的标准头部,其中,Experimenter字段填充厂商自己的Experimenter ID(Identification,身份标识号码),Exp_type为0时表示Request(请求)消息,Exp_type为1时表示Response(响应)消息,也可以将Exp_type为0时设置为Response消息,Exp_type为1时设置为Request消息,后面紧接着的是Experimenter消息的数据段,当为Experimenter请求消息时,如图3所示,数据段没有填充任何信息;
为了较好保证控制器集群的负载均衡,控制器可以通过集群协同和负载均衡处理获取与所述交换机连接的新的控制器,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;
S110、控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息;
若请求消息为Experimenter消息,如图2所示,控制器将获取的新的OFCs信息以Controller Info(控制器消息)列表的形式填充到Experimenter消息的数据段,每个Controller Info列表标识一台新的OFC,包括IP地址(Internet ProtocolAddress,互联网协议地址)、端口、协议,如TCP(Transmission Control Protocol传输控制协议)、SSL(Secure Sockets Layer,安全套接层)等;
S120、控制器将所述响应消息返回给所述交换机;
S130、由所述交换机向所述新的控制器发送连接请求,建立所述交换机与所述新的控制器的连接;
交换机接收并解析响应消息,获取响应消息数据段中的Controller Info列表,与所述新的控制器建立连接。
如图4所示,为OFS动态接入OFCs集群200具体实施例的示意图,OFS100先通过Experimenter请求消息向OFCs集群200的其中一台OFC询问要连接哪些OFC。假设OFC210接收到OFS100发送的Experimenter请求消息,则该OFC210通过集群协同工具300和负载均衡算法为该OFS100分配待连接的OFCs,以确保OFC集群的负载均衡以及OFS100与足够数量的OFC连接,OFC210将分配好的待连接OFCs信息填充到Experimenter消息的数据段,然后将Experimenter响应消息返回给OFS100。OFS100解析Experimenter响应消息即可获得待连接的OFCs信息,然后与待连接的OFCs建立Openflow连接,如图5所示,为OFS100与OFC210分配的OFCs连接的示意图。
OFS连接上多台OFCs后,OFCs之间通过集群协同机制协调连接的角色(一般为一个MASTER,其他为SLAVE),然后将角色变更消息,例如OFPT_ROLE_REQUEST消息,发送给OFS进行角色的变更,其中通过集群协同机制协调连接的角色可以通过现有技术中已知的方法实现。
OFS接入OFC集群后,难免会由于各种因素导致连接断开,例如OFC崩溃移出OFC集群等,这样会导致与此OFS连接的OFCs的连接数减少。目前Openflow协议并没有规定OFS与OFC断开连接时,如何动态增加OFS的连接数,以继续保证连接的可靠性。所以本发明实施例还提供一种方法,在OFS与部分OFCs断开连接时,保证连接的可靠性。所述方法为:在步骤S130之后,还可以包括步骤:
当前连接的控制器检测是否有控制器与所述交换机断开连接,若是,则当前连接的控制器获取与所述交换机待连接的新的控制器,进入步骤S110。通过集群协同机制,与OFS正常连接的OFCs会检测到有其它OFCs与该OFS断开连接。若有其它OFCs与该OFS断开连接,且断开连接的其中一个为MASTER角色的OFC,则正常连接中的一个SLAVE角色的OFC需要变为MASTER,对OFS进行管理;若原来是MASTER角色的OFC与OFS正常连接,既没有断开连接,则还是该MASTER角色的OFC管理该OFS。正常连接的MASTER角色的OFC重新为该OFS分配待连接的新的OFCs,然后将该OFCs信息填充到Experimenter响应消息的数据段返回给该OFS。OFS继而与新分配的OFCs连接,保证了足够的连接数。
结合图6和图7具体说明。如图6所示,为OFS与部分OFC连接断开实施例的示意图,图中虚线表示连接断开,即OFS100与OFC220连接断开,OFS110与OFC240连接断开。以OFS100为例说明,通过集群协同机制,与OFS100正常连接的MASTER角色的OFC210检测到OFC220与OFS100连接断开,则OFC210重新分配新的OFC给OFS100,例如将OFC230分配给OFS100,确定好分配的OFC后,OFC210将OFC210、OFC230的信息填充到Experimenter消息的数据段,然后将Experimenter响应消息发送给OFS100。如图7所示,OFS100解析Experimenter响应消息即可获得OFC210、OFC230的信息,进而与OFC210、OFC230建立Openflow连接(OFS100与OFC210的连接保持不变,不需要重新建立连接),保证了OFS100足够的连接数。
当有新的OFC进入集群系统时,为了保证负载均衡,需要对负载进行动态迁移。步骤S130之后,还可以包括步骤:
控制器检测是否有新的控制器加入控制器集群,若是,则控制器断开与其连接的部分交换机,进入当前连接的控制器检测是否有控制器与交换机断开连接的步骤。根据集群协同机制,其它OFCs能够检测的到新的OFC加入OFC集群,这时,根据负载均衡算法等,它们会主动断开与其连接的部分OFSs,然后通过上述连接断开时的操作流程,将新加入的OFC作为分配对象下发到OFS,从而实现了负载的动态迁移,保证了负载的均衡。
基于同一发明构思,本发明还提供一种控制器,下面结合附图对本发明Openflow控制器的具体实施方式做详细描述。
如图8所示,一种控制器210,包括:
接收模块2101,用于接收交换机100发送的请求消息;
控制器210可以包括Openflow控制器等,交换机100可以包括Openflow交换机等,根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter消息的格式如图2所示,Exp_type为0时表示Request消息,Exp_type为1时表示Response消息,也可以将Exp_type为0时设置为Response消息,Exp_type为1时设置为Request消息,后面紧接着的是Experimenter消息的数据段,当为Experimenter请求消息时,如图3所示,数据段没有填充任何信息;
控制器获取模块2102,用于响应所述请求消息获取与所述交换机100待连接的新的控制器;
所述控制器获取模块2102可以通过集群协同和负载均衡处理获取与所述交换机100待连接的新的控制器,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;
响应消息生成模块2103,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机100;
若请求消息为Experimenter消息,如图2所示,所述控制器获取模块2102将获取的新的OFCs信息以Controller Info列表的形式填充到Experimenter消息的数据段,每个Controller Info列表包括IP地址、端口、协议等;
连接模块2104,用于接收交换机100发送的连接请求,响应所述连接请求与所述交换机100建立连接。
OFS连接上多台OFCs后,OFC还需要对OFS进行角色变更,以便更好的管理OFS。故控制器210还可以包括与所述连接模块2104相连的角色变更模块,用于将角色变更消息,例如OFPT_ROLE_REQUEST消息,发送给所述交换机100进行角色的变更。
OFS接入OFC集群后,难免会由于各种因素导致连接断开,这样会导致与此OFS连接的OFCs的连接数减少。所以针对OFS与部分OFCs连接断开的问题,控制器210还可以包括与所述连接模块2104相连的连接状态检测模块,用于检测是否有控制器与所述交换机断开连接,若是,获取与所述交换机待连接的新的所述控制器,然后响应消息生成模块2103将该OFCs信息填充到请求消息的数据段返回给该OFS。OFS继而与新分配的OFCs连接,保证了足够的连接数。
当有新的OFC进入集群系统时,为了保证负载均衡,需要对负载进行动态迁移。控制器210还可以还包括与所述连接模块2104相连的控制器检测模块,用于检测是否有新的控制器加入控制器集群,若是,控制器根据负载均衡算法等断开与其连接的部分交换机,然后连接状态检测模块检测控制器与交换机的连接状态,获取与交换机待连接的新的控制器,响应消息生成模块2103将新加入的控制器作为分配对象下发到交换机,从而实现了负载的动态迁移,保证了负载的均衡。
本发明从与控制器交互的交换机角度出发,提供了一种交换机连接控制器集群的方法,下面结合附图对本发明方法的具体实施方式做详细描述。
如图9所示,一种交换机连接控制器集群的方法,包括步骤:
S200、交换机将请求消息发送给控制器;
交换机可以包括Openflow交换机等,控制器可以包括Openflow控制器等,根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter消息的格式如图2所示,Exp_type为0时表示Request消息,Exp_type为1时表示Response消息,也可以将Exp_type为0时设置为Response消息,Exp_type为1时设置为Request消息,后面紧接着的是Experimenter消息的数据段,当为Experimenter请求消息时,如图3所示,数据段没有填充任何信息;
S210、交换机接收所述控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;
所述新的控制器可以通过集群协同和负载均衡处理确定,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;所述新的控制器的信息可以包含IP地址、端口、协议等,如图2所示,若请求消息为Experimenter消息,新的OFCs信息可以以Controller Info列表的形式填充到Experimenter消息的数据段,每个Controller Info列表标识一台OFC;
S220、交换机将连接请求发送给所述新的控制器;
S230、交换机接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
OFS连接上多台OFCs后,OFC还需要对OFS进行角色变更,步骤S230之后,还可以包括步骤:所述交换机接收所述新的控制器发送的角色变更消息,例如OFPT_ROLE_REQUEST消息,进行角色的变更,一般为一个MASTER角色的OFC,其他为SLAVE角色的OFCs。
OFS接入OFC集群后,难免会由于各种因素导致连接断开。所以本发明实施例还提供一种方法,在OFS与全部OFCs断开连接时,用以保证连接的可靠性。所述方法为:步骤S230之后,交换机检测是否与控制器均未连接,若是,则进入步骤S200,从而重新与OFCs建立连接,保证连接的可靠性。
基于同一发明构思,本发明还提供一种交换机,下面结合附图对本发明交换机的具体实施方式做详细描述。
如图10所示,一种交换机100,包括:
发送模块1001,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
交换机100可以包括Openflow交换机等,控制器可以包括Openflow控制器等,根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter消息的格式如图2所示,Exp_type为0时表示Request消息,Exp_type为1时表示Response消息,也可以将Exp_type为0时设置为Response消息,Exp_type为1时设置为Request消息,后面紧接着的是Experimenter消息的数据段,当为Experimenter请求消息时,如图3所示,数据段没有填充任何信息;
消息接收模块1002,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接;
所述新的控制器可以通过集群协同和负载均衡处理确定,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;所述新的控制器的信息可以包含IP地址、端口、协议等,如图2所示,若请求消息为Experimenter消息,新的OFCs信息可以以Controller Info列表的形式填充到Experimenter消息的数据段,每个Controller Info列表标识一台OFC。
OFS接入OFC集群后,难免会由于各种因素导致连接断开。所以本发明交换机针对OFS与全部OFCs断开连接的情况,还可以包括与所述消息接收模块1002连接的状态检测模块,用于检测交换机是否与控制器均未连接,若是,生成所述请求消息,发送模块1001重新将请求消息发送给控制器,用以保证连接的可靠性。
OFS连接上多台OFCs后,OFC还需要对OFS进行角色变更,故本发明交换机还可以包括与所述消息接收模块1002相连的角色设置模块,用于接收控制器发送的角色变更消息,例如OFPT_ROLE_REQUEST消息,进行角色的变更。
本发明从控制器交换机交互的角度出发,提供了一种交换机连接控制器集群的方法,下面结合附图对本发明方法的具体实施方式做详细描述。
如图11所示,一种交换机连接控制器集群的方法,包括步骤:
S300、交换机将请求消息发送给控制器;
交换机可以包括Openflow交换机等,控制器可以包括Openflow控制器等,根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter请求消息的格式如图3所示,前16字节是Experimenter请求消息的标准头部,其中,Experimenter字段填充厂商自己的Experimenter ID,Exp_type为0时表示请求消息,也可以将Exp_type为1时设置为请求消息,后面紧接着的是Experimenter请求消息的数据段,数据段没有填充任何信息;
S310、控制器接收所述请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
为了较好保证控制器集群的负载均衡,控制器可以通过集群协同和负载均衡处理获取与所述交换机连接的新的控制器,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;
S320、控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息;
若请求消息为Experimenter消息,如图2所示,控制器将获取的新的OFCs信息以Controller Info列表的形式填充到Experimenter消息的数据段,每个Controller Info列表标识一台新的OFC,包括IP地址、端口、协议等,然后将Exp_type设置为1,得到Experimenter响应消息;
S330、控制器将所述响应消息返回给所述交换机;
S340、交换机接收所述响应消息,将连接请求发送给所述新的控制器,建立与所述新的控制器的连接。
OFS连接上多台OFCs后,OFCs之间通过集群协同机制协调连接的角色,然后将角色变更消息,例如OFPT_ROLE_REQUEST消息,发送给OFS进行角色的变更,其中通过集群协同机制协调连接的角色可以通过现有技术中已知的方法实现。
OFS接入OFC集群后,难免会由于各种因素导致连接断开。所以针对OFS与部分或全部OFCs连接断开的问题,本发明实施例在步骤S340之后,还可以包括步骤:
当前连接的控制器检测是否有控制器与所述交换机断开连接,若是,则当前连接的控制器获取与所述交换机待连接的新的控制器,进入步骤320,保证了足够的连接数;
交换机检测是否与控制器均未连接,若是,则进入步骤S300,从而使交换机与控制器集群建立新的连接,保证连接的可靠性。
当有新的OFC进入集群系统时,为了保证负载均衡,需要对负载进行动态迁移。步骤S340之后,还可以包括步骤:
控制器检测是否有新的控制器加入控制器集群,若是,则控制器断开与其连接的部分交换机,进入当前连接的控制器检测是否有控制器与交换机断开连接的步骤。其它控制器检测到新的控制器加入控制器集群时,它们会主动断开与其连接的部分交换机,然后通过上述连接断开时的操作流程,将新加入的控制器作为分配对象下发到交换机,从而实现了负载的动态迁移,保证了负载的均衡。
基于同一发明构思,本发明还提供一种交换机连接控制器集群的系统,下面结合附图对本发明系统的具体实施方式做详细描述。
如图12所示,一种交换机连接控制器集群的系统,包括控制器210和交换机100,控制器210可以包括Openflow控制器等,交换机100可以包括Openflow交换机等;
所述控制器210,包括:
接收模块2101,用于接收交换机100发送的请求消息;
根据Openflow协议规范定义的消息类型,请求消息可以采用具有可编辑数据段的Experimenter消息;Experimenter请求消息的格式如图3所示,Exp_type为0时表示请求消息,也可以将Exp_type为1时设置为请求消息,后面紧接着的是Experimenter请求消息的数据段,数据段没有填充任何信息;
控制器获取模块2102,用于响应所述请求消息获取与所述交换机100待连接的新的控制器;
新的控制器可以通过集群协同和负载均衡处理确定,其中集群协同和负载均衡处理均可以通过现有技术中已知的方法实现;
响应消息生成模块2103,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机100;
如图2所示,若请求消息为Experimenter消息,响应消息生成模块2103将新的OFCs信息以Controller Info列表的形式填充到Experimenter消息的数据段,每个Controller Info列表包括IP地址、端口、协议等;
连接模块2104,用于接收交换机100发送的连接请求,响应所述连接请求与所述交换机100建立连接;
所述交换机100,包括:
发送模块1001,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
消息接收模块1002,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
OFS连接上多台OFCs后,OFC还需要对OFS进行角色变更,以便更好的管理OFS。故所述控制器210还可以包括与所述连接模块2104相连的角色变更模块,用于将角色变更消息,例如OFPT_ROLE_REQUEST消息,发送给所述交换机进行角色的变更。
OFS接入OFC集群后,难免会由于各种因素导致连接断开。所以针对OFS与部分或全部OFCs连接断开的问题,控制器210还可以包括与所述连接模块2104相连的连接状态检测模块,用于检测是否有控制器与所述交换机断开连接,若是,获取与所述交换机待连接的新的所述控制器,然后响应消息生成模块2103将该OFCs信息填充到请求消息的数据段返回给该OFS。OFS继而与新分配的OFCs连接,保证了足够的连接数;
交换机100还可以包括与消息接收模块1002连接的状态检测模块,用于检测交换机是否与控制器均未连接,若是,生成所述请求消息,发送模块1001重新将请求消息发送给控制器,用以保证连接的可靠性。
当有新的OFC进入集群系统时,为了保证负载均衡,需要对负载进行动态迁移。控制器210还可以还包括与所述连接模块2104相连的控制器检测模块,用于检测是否有新的控制器加入控制器集群,若是,控制器断开与其连接的部分交换机,然后连接状态检测模块检测控制器与交换机的连接状态,获取与交换机待连接的新的控制器,响应消息生成模块2103将新加入的控制器作为分配对象下发到交换机,从而实现了负载的动态迁移,保证了负载的均衡。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (34)
1.一种交换机连接控制器集群的方法,其特征在于,包括步骤:
控制器接收交换机发送的请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息;
控制器将所述响应消息返回给所述交换机;
由所述交换机向所述新的控制器发送连接请求,建立所述交换机与所述新的控制器的连接。
2.根据权利要求1所述的交换机连接控制器集群的方法,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
3.根据权利要求1所述的交换机连接控制器集群的方法,其特征在于,建立所述交换机与所述新的控制器的连接的步骤之后,还包括步骤:
当前连接的控制器检测是否有控制器与所述交换机断开连接,若是,则当前连接的控制器获取与所述交换机待连接的新的控制器,进入将所述新的控制器的信息填充到请求消息数据段的步骤。
4.根据权利要求3所述的交换机连接控制器集群的方法,其特征在于,建立所述交换机与所述新的控制器的连接的步骤之后,还包括步骤:
控制器检测是否有新的控制器加入控制器集群,若是,则控制器断开与其连接的部分交换机,进入当前连接的控制器检测是否有控制器与交换机断开连接的步骤。
5.根据权利要求1所述的交换机连接控制器集群的方法,其特征在于,建立所述交换机与所述新的控制器的连接的步骤之后,还包括步骤:
控制器将角色变更消息发送给所述交换机进行角色的变更。
6.根据权利要求1至5任意一项所述的交换机连接控制器集群的方法,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;控制器通过集群协同和负载均衡处理获取与所述交换机连接的新的控制器。
7.一种交换机连接控制器集群的方法,其特征在于,包括步骤:
交换机将请求消息发送给控制器;
交换机接收所述控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;
交换机将连接请求发送给所述新的控制器;
交换机接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
8.根据权利要求7所述的交换机连接控制器集群的方法,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
9.根据权利要求7所述的交换机连接控制器集群的方法,其特征在于,交换机与所述新的控制器建立连接的步骤之后,还包括步骤:
交换机检测是否与控制器均未连接,若是,则进入交换机将请求消息发送给控制器的步骤。
10.根据权利要求7所述的交换机连接控制器集群的方法,其特征在于,交换机与所述新的控制器建立连接的步骤之后,还包括步骤:
所述交换机接收所述新的控制器发送的角色变更消息进行角色的变更。
11.根据权利要求7至10任意一项所述的交换机连接控制器集群的方法,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;所述新的控制器通过集群协同和负载均衡处理确定。
12.一种交换机连接控制器集群的方法,其特征在于,包括步骤:
交换机将请求消息发送给控制器;
控制器接收所述请求消息,响应所述请求消息获取与所述交换机待连接的新的控制器;
控制器将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
交换机接收所述响应消息,将连接请求发送给所述新的控制器,建立与所述新的控制器的连接。
13.根据权利要求12所述的交换机连接控制器集群的方法,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
14.根据权利要求12所述的交换机连接控制器集群的方法,其特征在于,交换机建立与所述新的控制器连接的步骤之后,还包括步骤:
当前连接的控制器检测是否有控制器与所述交换机断开连接,若是,则当前连接的控制器获取与所述交换机待连接的新的控制器,进入将所述新的控制器的信息填充到请求消息数据段的步骤;
交换机检测是否与控制器均未连接,若是,则进入交换机将请求消息发送给控制器的步骤。
15.根据权利要求14所述的交换机连接控制器集群的方法,其特征在于,交换机建立与所述新的控制器连接的步骤之后,还包括步骤:
控制器检测是否有新的控制器加入控制器集群,若是,则控制器断开与其连接的部分交换机,进入当前连接的控制器检测是否有控制器与交换机断开连接的步骤。
16.根据权利要求12所述的交换机连接控制器集群的方法,其特征在于,交换机建立与所述新的控制器连接的步骤之后,还包括步骤:
控制器将角色变更消息发送给所述交换机进行角色的变更。
17.根据权利要求12至16任意一项所述的交换机连接控制器集群的方法,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;所述新的控制器通过集群协同和负载均衡处理确定。
18.一种控制器,其特征在于,包括:
接收模块,用于接收交换机发送的请求消息;
控制器获取模块,用于响应所述请求消息获取与所述交换机待连接的新的控制器;
响应消息生成模块,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
连接模块,用于接收交换机发送的连接请求,响应所述连接请求与所述交换机建立连接。
19.根据权利要求18所述的控制器,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
20.根据权利要求18所述的控制器,其特征在于,还包括与所述连接模块相连的连接状态检测模块,用于检测是否有控制器与所述交换机断开连接,若是,获取与所述交换机待连接的新的所述控制器。
21.根据权利要求20所述的控制器,其特征在于,还包括与所述连接模块相连的控制器检测模块,用于检测是否有新的控制器加入控制器集群,若是,控制器断开与其连接的部分交换机。
22.根据权利要求18所述的控制器,其特征在于,还包括与所述连接模块相连的角色变更模块,用于将角色变更消息发送给所述交换机进行角色的变更。
23.根据权利要求18至22任意一项所述的控制器,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;所述控制器获取模块通过集群协同和负载均衡处理获取与所述交换机待连接的新的控制器。
24.一种交换机,其特征在于,包括:
发送模块,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
消息接收模块,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
25.根据权利要求24所述的交换机,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
26.根据权利要求24所述的交换机,其特征在于,还包括与所述消息接收模块连接的状态检测模块,用于检测交换机是否与控制器均未连接,若是,生成所述请求消息。
27.根据权利要求24所述的交换机,其特征在于,还包括与所述消息接收模块相连的角色设置模块,用于接收控制器发送的角色变更消息进行角色的变更。
28.根据权利要求24至27任意一项所述的交换机,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;所述新的控制器通过集群协同和负载均衡处理确定。
29.一种交换机连接控制器集群的系统,其特征在于,包括控制器和交换机;
所述控制器包括:
接收模块,用于接收交换机发送的请求消息;
控制器获取模块,用于响应所述请求消息获取与所述交换机待连接的新的控制器;
响应消息生成模块,用于将所述新的控制器的信息填充到所述请求消息的数据段,得到响应消息,并将所述响应消息返回给所述交换机;
连接模块,用于接收交换机发送的连接请求,响应所述连接请求与所述交换机建立连接;
所述交换机包括:
发送模块,用于将请求消息发送给控制器或将连接请求发送给所述新的控制器;
消息接收模块,用于接收控制器根据所述请求消息返回的响应消息,其中所述响应消息的数据段填充有与所述交换机待连接的新的控制器的信息;接收所述新的控制器根据所述连接请求返回的连接响应,与所述新的控制器建立连接。
30.根据权利要求29所述的交换机连接控制器集群的系统,其特征在于,所述控制器包括Openflow控制器,所述交换机包括Openflow交换机,所述请求消息包括Experimenter消息。
31.根据权利要求29所述的交换机连接控制器集群的系统,其特征在于,所述控制器还包括与所述连接模块相连的连接状态检测模块,用于检测是否有控制器与所述交换机断开连接,若是,获取与所述交换机待连接的新的所述控制器;
所述交换机还包括与所述消息接收模块连接的状态检测模块,用于检测交换机是否与控制器均未连接,若是,生成所述请求消息。
32.根据权利要求31所述的交换机连接控制器集群的系统,其特征在于,所述控制器还包括与所述连接模块相连的控制器检测模块,用于检测是否有新的控制器加入控制器集群,若是,控制器断开与其连接的部分交换机。
33.根据权利要求29所述的交换机连接控制器集群的系统,其特征在于,所述控制器还包括与所述连接模块相连的角色变更模块,用于将角色变更消息发送给所述交换机进行角色的变更。
34.根据权利要求29至33任意一项所述的交换机连接控制器集群的系统,其特征在于,所述新的控制器的信息包含IP地址、端口、协议;所述新的控制器通过集群协同和负载均衡处理确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256569.4A CN104092560B (zh) | 2014-06-10 | 2014-06-10 | 交换机连接控制器集群的方法和系统以及交换机和控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256569.4A CN104092560B (zh) | 2014-06-10 | 2014-06-10 | 交换机连接控制器集群的方法和系统以及交换机和控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104092560A true CN104092560A (zh) | 2014-10-08 |
CN104092560B CN104092560B (zh) | 2016-01-20 |
Family
ID=51640242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410256569.4A Active CN104092560B (zh) | 2014-06-10 | 2014-06-10 | 交换机连接控制器集群的方法和系统以及交换机和控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104092560B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468132A (zh) * | 2014-12-08 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 交换机 |
CN105141677A (zh) * | 2015-08-12 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于sdn的镜像方法及系统 |
CN105357130A (zh) * | 2015-11-25 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种信息传输的系统及控制器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618621A (zh) * | 2013-11-21 | 2014-03-05 | 华为技术有限公司 | 一种软件定义网络sdn的自动配置方法、设备及系统 |
-
2014
- 2014-06-10 CN CN201410256569.4A patent/CN104092560B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618621A (zh) * | 2013-11-21 | 2014-03-05 | 华为技术有限公司 | 一种软件定义网络sdn的自动配置方法、设备及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468132A (zh) * | 2014-12-08 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 交换机 |
CN105141677A (zh) * | 2015-08-12 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于sdn的镜像方法及系统 |
CN105357130A (zh) * | 2015-11-25 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种信息传输的系统及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN104092560B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102801715B (zh) | 一种网络中虚拟机迁移的方法、网关及系统 | |
EP3698537B1 (en) | Iot cloud to cloud architecture | |
CN105847456B (zh) | 一种rs485自动分配地址方法、装置和系统 | |
CN104243265A (zh) | 一种基于虚拟机迁移的网关控制方法、装置及系统 | |
CN101677324B (zh) | 业务管理方法、终端、网络系统及相关设备 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
CN103024028B (zh) | 一种云计算中虚拟机ip地址探测系统及方法 | |
CN103795636A (zh) | 组播处理方法、装置及系统 | |
CN101150439A (zh) | 一种实现主备切换的方法、系统及设备 | |
CN104243527A (zh) | 数据同步方法、数据同步装置及分布式系统 | |
CN103312809A (zh) | 云平台中服务的分布式管理方法 | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
CN103401937A (zh) | 日志数据处理方法及系统 | |
CN102904977B (zh) | 网络地址分配方法、服务器和节点 | |
CN104253767A (zh) | 一种虚拟分片网络的实现方法及一种交换机 | |
CN104301140A (zh) | 业务请求响应方法、装置和系统 | |
CN104092560B (zh) | 交换机连接控制器集群的方法和系统以及交换机和控制器 | |
CN115086330A (zh) | 跨集群负载均衡系统 | |
CN103092663B (zh) | 一种在终端中安装应用程序的方法及装置 | |
CN103888435A (zh) | 用于业务接纳控制的方法、装置和系统 | |
CN111314394A (zh) | 物联网的资源发布方法、装置、设备及存储介质 | |
CN109245911B (zh) | 一种bras热备的实现方法、设备及计算机可读存储介质 | |
CN103812957A (zh) | 地址解析协议arp记录管理方法和装置 | |
CN105354332A (zh) | 基于bcp实现数据库和中间件互备的方法及系统 | |
CN109005203B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |