CN104092774B - 软件定义网络连接建立控制方法及装置 - Google Patents

软件定义网络连接建立控制方法及装置 Download PDF

Info

Publication number
CN104092774B
CN104092774B CN201410353637.9A CN201410353637A CN104092774B CN 104092774 B CN104092774 B CN 104092774B CN 201410353637 A CN201410353637 A CN 201410353637A CN 104092774 B CN104092774 B CN 104092774B
Authority
CN
China
Prior art keywords
controller
interchanger
sdn
assign
established
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
Application number
CN201410353637.9A
Other languages
English (en)
Other versions
CN104092774A (zh
Inventor
宋小恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410353637.9A priority Critical patent/CN104092774B/zh
Publication of CN104092774A publication Critical patent/CN104092774A/zh
Application granted granted Critical
Publication of CN104092774B publication Critical patent/CN104092774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提出软件定义网络连接建立控制方法及装置。方法包括:SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。本申请简化了网络配置,实现了控制器与交换机的自动连接,且做到了集群内的负载均衡。

Description

软件定义网络连接建立控制方法及装置
技术领域
本申请涉及SDN(Software Defined Network,软件定义网络)技术领域,尤其涉及SDN连接建立控制方法及装置。
背景技术
SDN是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。
为了提升SDN的稳定性,引入了控制器集群的概念,在该网络中多个控制器组成一个控制器集群,控制器集群的每个成员共同控制网络中的交换机。每个成员连接若干数量的交换机,并将这些交换机的属性信息同步到集群内的所有控制器上,交换机上接入的主机信息也在集群内同步,与转发相关的流表信息则根据需要在某些成员上同步,集群内的数据同步策略可以根据需要进行调整以确保效率和数据一致性。
现有的SDN控制器集群技术在交换机和控制器的连接建立上通常使用静态设置的方式,即,预先设置一个交换机与哪一个控制器建立连接,静态为交换机配置控制器的IP地址,该IP地址可以为多个,每个IP地址都实际代表一个控制器。
发明内容
本申请提供SDN连接建立控制方法及装置。
本申请的技术方案是这样实现的:
一种SDN连接建立控制方法,该方法包括:
SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。
一种SDN连接建立控制方法,该方法包括:
交换机向控制器集群内的Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
一种SDN连接建立控制装置,位于SDN的控制器集群内的Leader上,该装置包括:
连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
控制器指定模块,将连接消息接收模块接收到的SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立 SDN连接。
一种SDN连接建立控制装置,该装置位于SDN内的交换机上,该装置包括:
SDN连接发起模块,向控制器集群内的领导者Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP 地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
可见,本申请中,由控制器集群内的Leader根据交换机发起SDN连接建立请求,为交换机指定控制器,简化了网络配置,实现了控制器与交换机的自动连接,且做到了集群内的负载均衡。
附图说明
图1为本申请实施例提供的SDN连接建立控制方法流程图;
图2为本申请又一实施例提供的SDN连接建立控制方法流程图;
图3为本申请又一实施例提供的SDN连接建立控制方法流程图;
图4为本申请实施例提供的SDN连接建立控制装置的组成示意图;
图5为本申请又一实施例提供的SDN连接建立控制装置的组成示意图。
具体实施方式
现有的SDN控制器集群技术在交换机和控制器的连接建立上使用静态设置的方式,这样,一方面浪费配置资源,另一方面在控制器故障的情况下需要修改原有的静态配置,影响保护切换的性能。
图1为本申请实施例提供的SDN连接建立控制方法流程图,其具体步骤如下:
步骤101:SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID(Transaction ID);其中,所述集群 IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效。
步骤102:Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。
本步骤中,Leader可将交换机发来的SDN连接建立请求消息同步到控制器集群内的所有控制器;或者,按照集群内控制器的负载、属性、静态配置的指定控制器范围等,只将该SDN连接建立请求消息同步到控制器集群内的部分控制器,例如:只将该SDN连接建立请求消息同步到负载小于预设阈值的控制器,或者只将该SDN连接建立请求消息同步到属性与该交换机匹配的控制器,或者只将该SDN连接建立请求消息同步到位于静态配置的指定控制器范围内的控制器上。
其中,预设指定原则可为如下之一:
1)将控制器集群内当前连接交换机数量最小的控制器作为所述交换机的指定控制器;
2)将控制器集群内优先级最高的控制器作为所述交换机的指定控制器;
3)将控制器集群内与所述交换机的属性匹配的控制器作为所述交换机的指定控制器;
4)当本Leader上静态配置了所述交换机的指定控制器信息时,根据该信息为所述交换机选择指定控制器。
其中,步骤102中,Leader通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接可通过如下两种方式实现:
一)Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID 与所述交换机发来的SDN连接建立请求消息中的事件ID相同。
二)Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起携带所述事件 ID的SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同。
其中,步骤102中,Leader通知所述指定控制器与所述交换机建立SDN 连接之后进一步包括:当Leader接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与所述指定控制器之间的对应关系;当Leader接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
其中,步骤102中,Leader按照预设指定原则在控制器集群内为所述交换机选择指定控制器为:按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器,选择至少一个控制器作为所述交换机的备指定控制器;
同时,步骤102中,Leader通知所述指定控制器与所述交换机建立SDN连接为:Leader通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有备指定控制器上;
同时,步骤102中,Leader通知所述主指定控制器与所述交换机建立SDN 连接之后进一步包括:Leader发现所述主指定控制器故障,则在所述交换机的所有备指定控制器中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述新主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有新备指定控制器上。
图2为本申请又一实施例提供的SDN连接建立控制方法流程图,其具体步骤如下:
步骤201:交换机向控制器集群内的Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,SDN 连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效。
步骤202:交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
其中,交换机上预先配置了控制器地址的网段范围,所述指定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址用于唯一标识该指定控制器;且,步骤202中,交换机将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较进一步包括:
交换机判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请求消息中的事件ID与本交换机发出的所述SDN连接建立请求消息中的事件ID相同,则执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建立SDN连接的动作。。
图3为本申请又一实施例提供的SDN连接建立控制方法流程图,其具体步骤如下:
步骤300:对于SDN中的控制器集群,为控制器集群内的每个控制器分别配置一个集群IP地址和一个独立IP地址;在SDN内的每个交换机上配置该控制器集群的集群IP地址和控制器地址的网段范围。其中,作为Leader 的控制器上配置的集群IP地址的状态为生效,非Leader控制器上配置的集群IP地址的状态为失效。
其中,集群IP地址即为该控制器集群的IP地址,用于唯一地标识一个控制器集群,而独立IP地址用于唯一地标识一个控制器;也就是说,控制器集群内的不同控制器上配置的集群IP地址相同,而不同控制器上配置的独立 IP地址互不相同,独立IP地址是始终生效的。
本申请实施例中,并不限定Leader的确定方式,例如:可由管理员等预先设定,也可根据预设的选举规则而选举出。
交换机上配置的控制器地址的网段范围用于告知交换机可以与之建立 SDN连接的控制器的地址的网段范围,即,交换机只能与地址在该网段范围内的控制器建立SDN连接,若有地址在该网段范围外的控制器向交换机发起 SDN连接则交换机不会接受。
步骤301:任一交换机,设为交换机a,根据自身配置的控制器集群IP 地址,发起OpenFlow Hello消息,消息的目的IP地址为该集群IP地址,且消息中携带用于唯一标识本次连接的Transaction ID(事件ID)。
Transaction ID用于标识交换机发起的OpenFlow连接,交换机每次发起OpenFlow连接前,随机生成一个Transaction ID,将该Transaction ID携带在 OpenFlowHello消息中。
步骤302:控制器集群内的Leader接收该OpenFlow Hello消息,根据自身维护的上线交换机列表,判断发来该消息的交换机a是否未上线,若是,执行步骤303;否则,不作进一步处理,本流程结束。
上线交换机列表中包含了所有上线的交换机的IP地址。
由于控制器集群IP地址只在Leader上生效,因此,交换机a发出的以控制器集群IP地址为目的IP地址的OpenFlow Hello消息只会被Leader接收到。
步骤303:Leader向控制器集群内的其它控制器通告该OpenFlow Hello 消息,并在控制器集群内为交换机a指定一个控制器,设为控制器A,向控制器A发送控制器指定消息,该消息携带交换机a的IP地址和控制器指定信息。
Leader可采用如下方式之一为交换机a指定控制器:
1)将当前连接交换机数量最小的控制器指定为交换机a的控制器;
此时,需要Leader遍历集群内的控制器,获取每个控制器连接的交换机数量。
若当前连接交换机数量最小的控制器有多台,则可任选一台指定为交换机a的控制器。
2)将优先级最高的控制器指定为交换机a的控制器;
此时,需要预先为集群内的控制器配置优先级。
若优先级最高的控制器有多台,则可任选一台指定为交换机a的控制器。
3)将与交换机a的属性匹配的控制器指定为交换机a的控制器。
例如:物理交换机与虚拟交换机承载的业务是不同的,不同控制器支持的业务也可能不同,因此,可根据交换机的物理、虚拟属性,来为交换机指定与其属性匹配的控制器。
若与交换机a的属性匹配的控制器有多台,则可任选一台指定为交换机 a的控制器。
另外,考虑到种种原因,例如:控制器集群内可能存在性能较高的控制器、或者某些交换机由于其特定配置而只能选择与该配置匹配的控制器,等等,管理员等可以预先在Leader上为某些交换机静态指定优先连接的控制器,这样,本步骤303中,Leader在为交换机a指定控制器时,先查看自身是否存在针对交换机a的静态指定控制器,若存在,则在该静态指定控制器中为交换机a选择一个控制器;否则,采用预设指定方式,如上述1)、2) 或3)为交换机a指定控制器。
步骤304:控制器A接收该控制器指定消息,判断是否接受Leader的指定,若是,执行步骤305;否则,执行步骤310。
控制器A可根据自身的负载等确定是否接受Leader的指定。
步骤305:控制器A向Leader返回指示接受指定的应答消息,并向交换机a发起OpenFlow Hello消息,该Hello消息的源IP地址为控制器A的独立 IP地址,且消息中的Transaction ID与交换机a发来的OpenFlow Hello消息中的Transaction ID一致。
在步骤304中,控制器A在接收到Leader发来的控制器指定消息并确定接受Leader的指定后,会根据消息中的交换机a的IP地址查找到交换机a 发来的OpenFlow Hello消息,步骤305中,控制器A会根据交换机a发来的 OpenFlow Hello消息构造本控制器向交换机a发出的OpenFlow Hello消息,该两消息中的Transaction ID必须相同。
在实际应用中,步骤303中,Leader发出的控制器指定消息中可进一步携带交换机a发来的OpenFlow Hello消息中的Transaction ID,这样,步骤 304中,控制器A在接收到Leader发来的控制器指定消息并确定接受Leader 的指定后,会根据消息中的交换机a的IP地址和Transaction ID查找到交换机a发来的OpenFlow Hello消息,步骤305中,控制器A会根据交换机a发来的OpenFlow Hello消息构造本控制器向交换机a发出的OpenFlow Hello消息,该两消息中的Transaction ID必须相同。
Leader接收到控制器A返回的指示接受指定的应答消息后,要记录交换机a的IP地址与控制器A的独立IP地址的对应关系。
步骤306:交换机a接收到该OpenFlow Hello消息,对该消息进行合法性检查,包括:检查消息中的Transaction ID是否与自身发出的OpenFlow Hello消息中的Transaction ID一致,以及检查消息的源IP地址是否在自身配置的控制器地址的网段范围内。
步骤307:交换机a判断是否检查通过,若是,执行步骤308;否则,执行步骤309。
步骤308:交换机a与控制器A进入OpenFlow握手过程,握手完成,控制器A将在握手过程中获取的交换机a的属性信息以及交换机上线事件同步到集群内的其它控制器上,集群内的所有控制器将交换机a的IP地址和属性信息添加到本地上线交换机列表中,同时记录交换机a的IP地址与控制器 A的独立IP地址的对应关系,本流程结束。
步骤309:交换机a丢弃该OpenFlow消息,并在一个等待周期后返回步骤301,即向Leader发起新的OpenFlow Hello消息。
这里,发起新的OpenFlow Hello消息之前,要先产生一个唯一标识本次发起的OpenFlow连接的Transaction ID,将该Transaction ID放入发起的新 OpenFlow Hello消息中。
步骤310:控制器A向Leader返回指示拒绝指定的应答消息,Leader接收到该应答消息,为交换机a重新指定一个控制器。
重新指定控制器后的处理步骤与指定控制器a后的处理步骤相同,直至指定成功Leader才会停止指定。
交换机与指定控制器建立OpenFlow连接后,会监测该连接,当发现连接中断后,交换机会返回步骤301,向Leader发起新的OpenFlow Hello消息。
为了防止交换机与指定控制器的连接断开后导致的流量丢失,本申请实施例给出如下优化方案:
步骤303中,Leader在控制器集群内为交换机a指定多个控制器,并设定其中一个控制器A为主控制器,其它控制器为备控制器,向主、备控制器发送的控制器指定消息中携带交换机a的IP地址、为交换机a指定的所有控制器的IP地址、以及每个控制器为主还是备的指示信息。
主控制器和备控制器收到Leader发来的控制器指定消息后,都会执行步骤304,但是,只有主控制器A在接受指定后会向交换机a发起OpenFlow Hello消息,备控制器则不会。
且,步骤310中,当主控制器A向Leader返回指示拒绝指定的Http应答消息时,Leader接收到该应答消息,为交换机a重新指定一个主控制器。
同时,主控制器A会将自身维护的交换a的转发流表同步到所有交换机 a的指定备控制器上。
Leader会监测主控制器A的状态,例如:定时向主控制器A发送探测报文,当发现主控制器A故障后,在交换机a的备控制器中选择一个(设选择了控制器B)作为新的主控制器,向控制器B发送控制器指定消息,消息中携带交换机a的IP地址、为交换机a指定的所有控制器的IP地址、以及每个控制器为主还是备的指示信息,控制器B收到该消息后,进入步骤304。
本申请实施例可带来如下有益效果:
可将控制器集群内数量众多的交换机分担到不同的控制器上,使得每个控制器都管理一定数量的交换机,简化了网络配置,实现了控制器与交换机的自动连接,且做到了集群内的负载均衡;另外,交换机通过Transaction ID 和控制器地址的网段范围,对控制器进行合法性检查,提高了网络的可靠性。
图4为本申请实施例提供的SDN连接建立控制装置的组成示意图,该装置位于SDN的控制器集群内的Leader上,该装置主要包括:
连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效。
控制器指定模块:将连接消息接收模块接收到的SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立 SDN连接。
其中,控制器指定模块通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接包括:向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起SDN 连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件 ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同;
或者,向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根据所述交换机的地址和事件ID查找到所述交换机发来的 SDN连接建立请求消息,并根据该请求消息向所述交换机发起携带所述事件ID 的SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同。
其中,控制器指定模块通知所述指定控制器与所述交换机建立SDN连接之后进一步包括:当接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与所述指定控制器之间的对应关系;当接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
其中,控制器指定模块按照预设指定原则在控制器集群内为所述交换机选择指定控制器为:按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器,选择至少一个控制器作为所述交换机的备指定控制器;
且,控制器指定模块通知所述指定控制器与所述交换机建立SDN连接为:通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN 连接后,将所述交换机的转发流表同步到所有备指定控制器上;
且,控制器指定模块进一步用于,当发现所述主指定控制器故障时,在所述交换机的所有备指定控制器中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述新主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有新备指定控制器上。
图5为本申请又一实施例提供的SDN连接建立控制装置的组成示意图,该装置位于SDN内的交换机上,该装置主要包括:
SDN连接发起模块:向控制器集群内的Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效。
SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
其中,交换机上预先配置了控制器地址的网段范围,SDN连接建立模块接收到的指定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址用于唯一标识该指定控制器;SDN连接建立模块将该消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件 ID进行比较进一步包括:判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请求消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID相同,则执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建立SDN 连接的动作。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种软件定义网络SDN连接建立控制方法,其特征在于,该方法包括:
SDN的控制器集群内的领导者Leader接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader上生效;
Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接;
所述Leader通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接包括:
Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同;
或者,Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同。
2.根据权利要求1所述的方法,其特征在于,所述预设指定原则为:
将控制器集群内当前连接交换机数量最小的控制器作为所述交换机的指定控制器;或者,
将控制器集群内优先级最高的控制器作为所述交换机的指定控制器;或者,
将控制器集群内与所述交换机的属性匹配的控制器作为所述交换机的指定控制器;或者,
当本Leader上静态配置了所述交换机的指定控制器信息时,根据该信息为所述交换机选择指定控制器。
3.根据权利要求1所述的方法,其特征在于,所述Leader通知所述指定控制器与所述交换机建立SDN连接之后进一步包括:
当Leader接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与所述指定控制器之间的对应关系;
当Leader接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
4.根据权利要求1所述的方法,其特征在于,所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器为:
按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器,选择至少一个控制器作为所述交换机的备指定控制器;
所述Leader通知所述指定控制器与所述交换机建立SDN连接为:
Leader通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有备指定控制器上;
所述Leader通知所述主指定控制器与所述交换机建立SDN连接之后进一步包括:
Leader发现所述主指定控制器故障,则在所述交换机的所有备指定控制器中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述新主指定控制器与所述交换机建立SDN 连接后,将所述交换机的转发流表同步到所有新备指定控制器上。
5.一种软件定义网络SDN连接建立控制方法,其特征在于,该方法包括:
交换机向控制器集群内的领导者Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
6.根据权利要求5所述的方法,其特征在于,所述交换机上预先配置了控制器地址的网段范围,
所述指定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址用于唯一标识该指定控制器;
所述交换机将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较进一步包括:
交换机判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请求消息中的事件ID与本交换机发出的所述SDN连接建立请求消息中的事件ID相同,则执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建立SDN连接的动作。
7.一种软件定义网络SDN连接建立控制装置,位于SDN的控制器集群内的领导者Leader上,其特征在于,该装置包括:
连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN 连接建立请求的事件ID;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
控制器指定模块,将连接消息接收模块接收到的SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接;
所述控制器指定模块通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接包括:
向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同;
或者,向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据该请求消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同。
8.根据权利要求7所述的装置,其特征在于,所述控制器指定模块通知所述指定控制器与所述交换机建立SDN连接之后进一步包括:
当接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与所述指定控制器之间的对应关系;
当接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
9.根据权利要求7所述的装置,其特征在于,所述控制器指定模块按照预设指定原则在控制器集群内为所述交换机选择指定控制器为:
按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器,选择至少一个控制器作为所述交换机的备指定控制器;
且,所述控制器指定模块通知所述指定控制器与所述交换机建立SDN连接为:
通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有备指定控制器上;
所述控制器指定模块进一步用于,
当发现所述主指定控制器故障时,在所述交换机的所有备指定控制器中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述新主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有新备指定控制器上。
10.一种软件定义网络SDN连接建立控制装置,该装置位于SDN内的交换机上,其特征在于,该装置包括:
SDN连接发起模块,向控制器集群内的领导者Leader发起SDN连接建立请求消息,以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leader 上生效;
SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
11.根据权利要求10所述的装置,其特征在于,所述交换机上预先配置了控制器地址的网段范围,
所述SDN连接建立模块接收到的指定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址用于唯一标识该指定控制器;
所述SDN连接建立模块将该消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较进一步包括:
判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请求消息中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID相同,则执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建立SDN连接的动作。
CN201410353637.9A 2014-07-23 2014-07-23 软件定义网络连接建立控制方法及装置 Active CN104092774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410353637.9A CN104092774B (zh) 2014-07-23 2014-07-23 软件定义网络连接建立控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410353637.9A CN104092774B (zh) 2014-07-23 2014-07-23 软件定义网络连接建立控制方法及装置

Publications (2)

Publication Number Publication Date
CN104092774A CN104092774A (zh) 2014-10-08
CN104092774B true CN104092774B (zh) 2018-03-09

Family

ID=51640454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410353637.9A Active CN104092774B (zh) 2014-07-23 2014-07-23 软件定义网络连接建立控制方法及装置

Country Status (1)

Country Link
CN (1) CN104092774B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577729B (zh) * 2014-10-17 2020-09-29 中兴通讯股份有限公司 负载均衡的方法及装置
US9838286B2 (en) * 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining
CN104410730B (zh) * 2014-12-10 2018-04-10 上海斐讯数据通信技术有限公司 基于nat技术的sdn主备控制器无缝切换方法
CN104468236B (zh) * 2014-12-19 2017-11-14 上海斐讯数据通信技术有限公司 Sdn控制器集群、sdn交换机及其连接控制方法
CN106559459A (zh) * 2015-09-29 2017-04-05 中国电信股份有限公司 Sdn控制器分配方法、sdn控制器组播组及网络系统
TW201720111A (zh) * 2015-11-27 2017-06-01 財團法人資訊工業策進會 軟體定義網路系統及其網路連線路由方法
CN105430116B (zh) * 2015-11-30 2019-03-01 北京邮电大学 一种建立控制信道的方法及装置
CN105553689B (zh) * 2015-12-03 2018-12-28 中国科学院信息工程研究所 一种openflow消息中流规则等价快速判定方法
CN106936608B (zh) * 2015-12-29 2020-09-18 华为技术有限公司 一种建立ssh连接的方法、相关设备及系统
CN108011815B (zh) * 2016-10-28 2020-12-01 中国电信股份有限公司 网络控制方法以及软件定义网络设备和系统
CN107317887B (zh) * 2017-08-23 2019-10-18 北京知道创宇信息技术股份有限公司 一种负载均衡方法、装置和系统
CN108011825B (zh) * 2017-11-10 2020-07-28 深圳市泰信通信息技术有限公司 一种基于软件定义网络的多网络设备互联现实方法及系统
CN110391944A (zh) * 2019-08-02 2019-10-29 山东超越数控电子股份有限公司 一种sdn可信域间策略同步控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2506505A4 (en) * 2009-11-26 2017-07-12 Nec Corporation Load distribution system, load distribution method, and program
CN102882719B (zh) * 2012-09-26 2015-06-17 盛科网络(苏州)有限公司 实现Openflow交换机系统中控制器冗余备份的方法及系统
CN103618621B (zh) * 2013-11-21 2017-08-11 华为技术有限公司 一种软件定义网络sdn的自动配置方法、设备及系统
CN103929368B (zh) * 2014-05-05 2017-04-26 华为技术有限公司 多业务单元负载均衡方法及装置
CN103929333A (zh) * 2014-05-08 2014-07-16 陈桂芳 一种sdn控制器资源池的实现方法

Also Published As

Publication number Publication date
CN104092774A (zh) 2014-10-08

Similar Documents

Publication Publication Date Title
CN104092774B (zh) 软件定义网络连接建立控制方法及装置
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
CN104243337B (zh) 一种跨集群负载均衡的方法及装置
US10091054B2 (en) Controlling forwarding devices in software defined networks
CN108777640B (zh) 一种服务器探测方法、装置、系统及存储介质
CN109787827B (zh) 一种cdn网络监控的方法及装置
CN109101196A (zh) 主节点切换方法、装置、电子设备及计算机存储介质
CN104394017B (zh) 一种堆叠系统的选举方法及主设备
CN104243239B (zh) 一种sdn集群中控制器的状态检测方法和装置
CN103546315B (zh) 一种dhcp服务器的备份系统、方法及设备
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
CN106789619B (zh) 一种确定映射服务器的方法,路由节点及自治系统
CN105592502B (zh) 一种负载均衡方法和装置
CN102387028A (zh) 网络系统、管理服务器及oam试验管理方法
CN108243222A (zh) 服务器网络架构方法及装置
CN110247980B (zh) 一种局域网中的网关控制方法及网关
CN103401954B (zh) 虚拟dhcp的实现方法
CN104243473B (zh) 一种数据传输的方法以及装置
CN112671813A (zh) 服务器确定方法、装置、设备及存储介质
CN103152420A (zh) 一种避免Ovirt虚拟管理平台单点失效的方法
CN108234358A (zh) 一种组播报文传输方法、装置及机器可读存储介质
US10523468B2 (en) Traffic forwarding
CN103401708B (zh) 一种端口配置方法及装置
CN104158681B (zh) Sdn网络中区域控制器失效的处理方法和处理装置
JP5682932B2 (ja) 制御サーバ、制御方法及び制御プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant