一种SDN集群中控制器的状态检测方法和装置制造方法及图纸

技术编号:10802055 阅读:98 留言:0更新日期:2014-12-24 09:38
本发明专利技术提供了一种SDN集群中控制器的状态检测方法,技术方案为:对各集群接入交换机上连接控制器的端口的状态进行检测,根据检测结果确定该端口连接的控制器的工作状态。本发明专利技术能够及时感知控制器的工作状态。

【技术实现步骤摘要】
一种SDN集群中控制器的状态检测方法和装置
本专利技术涉及通信
,特别涉及一种软件定义网络(SoftDefineNetwork,SDN)集群中控制器的状态检测方法和装置。
技术介绍
SDN是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。SDN集群中包括多个控制器和交换机,交换机和控制器之间建立OpenFlow连接,交换机属性和主机信息在集群内同步。SDN集群中的交换机分为两种,一种用于完成SDN网络的数据平面功能,称为OpenFlow交换机,另一种用于实现控制器之间的互联和通信,称为集群接入交换机。SDN集群中控制器和交换机之间建立OpenFlow连接,每个控制器被分配执行部分功能并维护网络中的部分或者全部交换机,当前的工作状态直接影响SDN集群的整体工作性能。当某个控制器工作异常时,SDN集群必须及时做出调整,将其维护的交换机迁移到其他控制器上。SDN集群内控制器状态检测主要是通过周期性发送ping报文或者其他ip检测报文来实现,具体为:主控制器周期性发送ping报文或者其他ip检测报文到各备控制器,如果在规定的检测时间内没有收到某一备控制器的回应报文,则认为该备控制器故障,此时会在SDN集群内通知该故障事件,并发起业务切换。主控制器通过周期性发送ping报文或者其他ip检测报文对各备控制器进行状态检测的方法,会因网络阻塞或备控制器处理压力过大无法及时回应等原因,存在一定延迟,无法及时感知控制器的工作状态变化。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种SDN集群中控制器的状态检测方法和装置,能够及时感知控制器的工作状态。为了达到上述目的,本专利技术提供了如下技术方案:一种SDN集群中控制器的状态检测方法,SDN集群中的所有控制器通过集群接入交换机互联,该方法包括:接收任一集群接入交换机在自身端口状态变化时上送的端口状态消息;在已建立的端口信息和该端口连接的控制器的设备信息的关联关系中,查找所述端口状态消息中携带的端口信息关联的控制器的设备信息,如果查找到,则根据所述端口状态消息中携带的状态信息确定该控制器的工作状态,否则,若该端口连接的是一控制器,则建立所述端口状态消息中携带的端口信息与该端口连接的控制器的设备信息的关联关系。一种SDN集群中的控制器,SDN集群中的所有控制器通过集群接入交换机互联,该控制器包括:接收单元、查找单元,处理单元;所述接收单元,用于接收任一集群接入交换机在自身端口状态变化时上送的端口状态消息;查找单元,用于在已建立的端口信息和该端口连接的控制器的设备信息的关联关系中,查找所述端口状态消息中携带的端口信息关联的控制器的设备信息;处理单元,用于如果查找单元查找到所述端口状态消息中携带的端口信息关联的控制器的设备信息,则根据所述端口状态消息中携带的状态信息确定该控制器的工作状态,否则,若该端口连接的是一控制器,则建立所述端口状态消息中携带的端口信息与该端口连接的控制器的设备信息的关联关系。由上面的技术方案可知,本专利技术中,通过对各集群接入交换机上连接控制器的端口的状态进行检测,根据检测结果确定各端口连接的控制器的工作状态。本专利技术不需要等待在主控制器和备控制器进行检测报文交互,只需根据各集群接入交换机上连接控制器的端口的状态就可以确定端口连接的控制器的状态,可以达到及时感知控制器的工作状态的目的。附图说明图1是现有技术SDN集群拓扑示意图;图2是本专利技术实施例SDN集群中控制器的状态检测方法流程图;图3是本专利技术实施例SDN集群中的控制器300的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本专利技术的技术方案进行详细说明。当一个端口工作(Up)时,其它设备可以通过该端口与该端口连接的设备进行通信;当一个端口故障(Down)或阻塞(Block)时,任何设备都无法通过该端口与该端口连接的设备进行通信。因此,对于SDN集群中的任一控制器来说,如果某一集群接入交换机与该控制器相连,则该集群接入交换机上连接该控制器的端口Up时,SDN网络中的其它设备可以通过该端口与该控制器进行通信,该集群接入交换机上连接该控制器的端口Down或Block时,SDN网络中的其它设备不能通过该端口与该控制器进行通信。例如,在图1所示的SDN集群拓扑示意图中,控制器1、控制器2、控制器3、控制器4通过集群接入交换机1和集群接入交换机2实现互联,假设集群接入交换机1上的端口1直连到控制器1,端口2直连到控制器2;集群接入交换机2上的端口3直连到控制器3,端口4直连到控制器4。当集群接入交换机1上的端口1故障时,其它设备将无法与控制器1进行通信;当集群接入交换机1上的端口2故障时,其它设备将无法与控制器2进行通信。当集群接入交换机2上的端口3故障时,其它设备将无法与控制器3进行通信;当集群接入交换机2上的端口4故障时,其它设备将无法与控制器4进行通信可见,集群接入交换机上直连控制器的端口的状态可以决定该控制器是否可与外界通信,如果不能与外界通信,则表明该控制器无法正常工作,处于异常工作状态;如果可以与外界通信,则表明的该控制器能够正常工作,处于正常工作状态。也就是说根据集群接入交换机上连接控制器的端口的状态可以确定该控制器的工作状态。基于上述原理,本专利技术中,每个集群接入交换机上连接控制器的端口状态发生变化时,上送端口状态消息给所有控制器;每个控制器根据端口状态消息就可以确定发生状态变化的端口,从而确定该端口连接的控制器的工作状态。下面结合具体实施例进行说明。参见图2,图2是本专利技术SDN集群中控制器的状态检测方法流程图,如图2所示,该方法主要包括以下步骤:步骤201、当前控制器接收任一集群接入交换机在自身端口状态变化时上送的端口状态消息。当前控制器为SDN集群中的任一控制器。所述集群接入交换机为SDN集群中用于实现控制器之间的互联和通信的交换机。集群接入交换机在自身的任一端口状态发生变化时,均需向SDN集群中的所有控制器发送端口状态消息。端口状态消息中可以包括如下内容:端口信息、状态信息等。其中,端口信息包括端口所属设备的标识、端口号等信息;状态信息包括:Up、Down、Block三种状态。步骤202、当前控制器在已建立的端口信息与该端口连接的控制器的设备信息的关联关系中,查找所述端口状态消息中携带的端口信息关联的控制器的设备信息,如果查找到,则根据所述端口状态消息中携带的状态信息确定该控制器的工作状态,如果未查找到,则若该端口连接的是一控制器,则建立所述端口状态消息中携带的端口信息与该端口连接的控制器的设备信息的关联关系。这里,设备信息可以包括如下内容:设备的地址信息和标识,其中的地址信息包括IP地址和/或MAC地址。建立各集群接入交换机上连接控制器的各端口信息与该端口连接的控制器的设备信息的关联关系的方法有多种,例如,预先在当前控制器中进行配置每个集群接入交换机上连接控制器的各端口信息与该端口连接的控制器的设备信息,从而建立其各集群接入交换机上连接控制器的各端口信息与该端口连接的控制器的设备信息的关联关系。较佳地,可以利用端口状态消息建立起各集群接入交换机上连接控制本文档来自技高网...
一种SDN集群中控制器的状态检测方法和装置

【技术保护点】
一种软件定义网络SDN集群中控制器的状态检测方法,SDN集群中的所有控制器通过集群接入交换机互联,其特征在于,该方法包括:接收任一集群接入交换机在自身端口状态变化时上送的端口状态消息;在已建立的端口信息和该端口连接的控制器的设备信息的关联关系中,查找所述端口状态消息中携带的端口信息关联的控制器的设备信息,如果查找到,则根据所述端口状态消息中携带的状态信息确定该控制器的工作状态,否则,若该端口连接的是一控制器,则建立所述端口状态消息中携带的端口信息与该端口连接的控制器的设备信息的关联关系。

【技术特征摘要】
1.一种软件定义网络SDN集群中控制器的状态检测方法,SDN集群中的所有控制器通过集群接入交换机互联,其特征在于,该方法包括:接收任一集群接入交换机在自身端口状态变化时上送的端口状态消息;在已建立的端口信息和该端口连接的控制器的设备信息的关联关系中,查找所述端口状态消息中携带的端口信息关联的控制器的设备信息,如果查找到,则根据所述端口状态消息中携带的状态信息确定该控制器的工作状态,否则,若该端口连接的是一控制器,则建立所述端口状态消息中携带的端口信息与该端口连接的控制器的设备信息的关联关系;其中,根据所述端口状态消息中携带的状态信息确定该控制器的工作状态之后,进一步包括:当该控制器的工作状态为异常状态时,如果当前控制器为主控制器,则采用预先设置的业务切换模式对该控制器执行业务切换。2.根据权利要求1所述的方法,其特征在于,所述端口状态消息中还携带了该端口连接的设备信息;预先配置SDN集群中其它各控制器的设备信息;判断所述端口状态消息中携带的端口连接的是否是一控制器的方法为:根据预先配置的SDN集群中其它各控制器的设备信息,判断所述端口状态消息中携带的该端口连接的设备信息是否是一个控制器的设备信息,如果是,则确定该端口连接的是一控制器,否则,确定该端口连接的不是控制器。3.根据权利要求2所述的方法,其特征在于,所述端口信息包括:端口所属设备的标识、端口号;所述设备信息包括:设备的地址信息和标识,所述地址信息包括IP地址和/或MAC地址。4.根据权利要求1所述的方法,其特征在于,控制器的工作状态包括正常状态和异常状态;所述状态信息包括工作Up、故障Down、阻塞Block;根据所述端口状态消息中携带的状态信息确定该控制器的工作状态的方法为:当该状态信息为Up时,确定该控制器的工作状态为正常状态;当该状态信息为Down或Block时,确定该控制器的工作状态为异常状态。5.根据权利要求4所述的方法,其特征在于,所述业务切换模式包括:即时响应、延迟响应和定时响应;所述即时响应是指当检测确定一控制器的工作状态为异常状态时,对该控制器执行业务切换;所述延迟响应是指当检测确定一控制器的工作状态为异常状态后,如果经过第一预设时间后该控制器的工作状态仍为异常状态,则对该控制器执行业务切换;所述定时响应是指周期性判断当前记录的各控制器的工作状态,当判定一控制器的工作状态为异常状态时,对该控制器执行业务切换。6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:如果当前控制器为主控制器,则在每个第一检测周期发送自身的保活live报文到其它各备控制器;如果当前控制器为备控制器,则若未在第二预设时间内接收到主控制器的live报文,则确定主控制器的工作状态为异常状态,否则,确定主控制器的工作状态为正常状态;如果当前控制器为备控制器,则在每个第二检测周期向主控制器发送自身的live报文;如果当前控制器为主控制器,则若未在第三预设时间内接收到一备控制器的live报文,则确定该备控制器的工作状态为异常状态,并对该备控制器执行业务切换,否则,确定该备控制器的工作状态为正常状态;其中,所述第二预设时间大于一个第一检测周期的时间长度;所述第三预设时间大于一个第二检测周期的时间长度。7.根据权利要求6所述的方法,其特征在于,该方法进一步包括:如果当前控制器为备控制器,则当前控制器需要脱离SDN集群时,向主控制器发送离开leave报文;如果当前控制器为主控制器,则若接收到一备控制器的Leave报文,则确定该备控制器的工作状态为异常状态,并对该备控制器执行业务。8.一种软件定义网络SDN集群中的控制器,其特征在于,该控制器包括:接收单元、查找单元,处理单元;所述接收单元,用于接收任一集群接入...

【专利技术属性】
技术研发人员:宋小恒
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1