Sdn网络中区域控制器失效的处理方法和处理装置制造方法

文档序号:7810863阅读:422来源:国知局
Sdn网络中区域控制器失效的处理方法和处理装置制造方法
【专利摘要】本发明提供一种SDN网络中区域控制器失效的处理方法和处理装置,应用于软件定义网络SDN中的控制器集群内的管理控制器,该方法包括:感知控制器集群中被配置于区域内的区域控制器的运行状态;当属于同一区域的所有区域控制器的运行状态均为不可用时,为属于该区域的受控设备选择另一区域;将受控设备的配置信息添加至被选区域的受控列表中,并将该被选区域内的至少一个区域控制器的配置信息发送至受控设备,以由受控设备与相应的区域控制器建立连接。通过本发明的技术方案,可以在同一区域内的所有控制器均不可用时,控制该区域的受控设备自动连接至其他区域的区域控制器,从而确保了区域的高可用性,尽可能降低对流量传输的影响。
【专利说明】SDN网络中区域控制器失效的处理方法和处理装置

【技术领域】
[0001] 本发明涉及通信【技术领域】,尤其涉及SDN网络中区域控制器失效的处理方法和处 理装置。

【背景技术】
[0002] SDN (Software Defined Network,软件定义网络)从整网的角度将网络虚拟化。基 于SDN网络,使得整网的资源被分割成多个虚拟网,并分配给不同的用户同时进行控制和 使用,且各个用户可以独立自由地控制自己虚拟网的流量而互不影响。具体地,基于SDN技 术虚拟化出来的网络由控制器、受控设备(如交换机或网关设备)和安全通道构成,如图1 所示。控制器是SDN网络的控制中心,根据用户配置或者动态运行的协议生成流表并发送 到受控设备,以控制受控设备上的报文传输。
[0003] 在SDN网络中,往往由多个控制器构成图2所示的控制器集群(Team),包括一台 Leader Controller (即管理控制器,或者可以由两台Leader控制器形成主备结构)和其 余的区域Controller (普通的控制器,区别于Leader Controller)。同时,SDN网络内还 建立多个Region (区域),则每个Region内包含一台或多台区域Controller。比如图2中 的控制器集群由Leader Controller和多台区域Controller构成,多台区域Controller 分配至对应的Region,例如Controller 1-1和Controller 1-2等分配于Regionl内、 Controller2_l 和 Controller2_2 等分配于 Region2 内等,而各 Region 内的 Controller 分 别连接至vSwitch(virtual Switch,虚拟交换机)、pGW(Packet Data Network Gateway,分 组数据网关)等受控设备,例如vSwitchl、vSwitch2和vSwitch3等连接至Regionl内的区 域 Controller,而 pGWl 和 pGW2 等连接至 Region2 内的区域 Controller。
[0004] 当一台受控设备加入Region时,Leader Controller会将该Region中所有区域 Controller的配置信息告知该受控设备,以便受控设备与区域Controller之间建立连接; 而当该Region内的某台区域Controller故障时,其他区域Controller会主动向对应的受 控设备发送消息,以接管故障区域Controller所管理的受控设备。
[0005] 然而,当Region内所有的区域Controller均故障时,相关技术中并未给出解决方 案,使得受控设备主动与其他区域Controller建立连接。


【发明内容】

[0006] 有鉴于此,本发明提供一种新的技术方案,可以解决SDN网络中Region内所有控 制器均失效时,受控设备与区域控制器无法主动连接的技术问题。
[0007] 为实现上述目的,本发明提供技术方案如下:
[0008] 根据本发明的第一方面,提出了一种SDN网络中区域控制器失效的处理方法,应 用于软件定义网络SDN中的控制器集群内的管理控制器,包括 :
[0009] 感知所述控制器集群中被配置于区域内的区域控制器的运行状态;
[0010] 当属于同一区域的所有区域控制器的运行状态均为不可用时,为属于该区域的受 控设备选择另一区域;
[0011] 将所述受控设备的配置信息添加至被选区域的受控列表中,并将该被选区域内的 至少一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备与相应的区域控 制器建立连接。
[0012] 根据本发明的第二方面,提出了一种SDN网络中区域控制器失效的处理装置,应 用于软件定义网络SDN中的控制器集群内的管理控制器,包括 :
[0013] 感知单元,用于感知所述控制器集群中被配置于区域内的区域控制器的运行状 态;
[0014] 选择单元,用于在属于同一区域的所有区域控制器的运行状态均为不可用的情况 下,为属于该区域的受控设备选择另一区域;
[0015] 处理单元,用于将所述受控设备的配置信息添加至被选区域的受控列表中,并将 该被选区域内的至少一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备 与相应的区域控制器建立连接。
[0016] 由以上技术方案可见,本发明通过对控制器的状态感知,并在同一区域内的控制 器均不可用时,主动为相应的受控设备进行区域选择和连接配置,从而实现了受控设备与 其他区域的区域控制器的自动连接,确保了区域的高可用性,尽可能降低对流量传输的影 响。

【专利附图】

【附图说明】
[0017] 图1示出了典型的SDN网络的结构示意图;
[0018] 图2示出了控制器集群内的一种Leader Controller与区域Controller设备连 接结构的示意图;
[0019] 图3示出了根据本发明的一示例性实施例的SDN网络中区域控制器失效的处理方 法的示意流程图;
[0020] 图4A示出了控制器集群内的另一种Leader Controller与区域Controller设备 连接结构的示意图;
[0021] 图4B示出了控制器集群内的又一种Leader Controller与区域Controller设备 连接结构的示意图;
[0022] 图5-7示出了根据本发明的一示例性实施例的对SDN网络中区域控制器失效进行 处理的不意图;
[0023] 图8示出了根据本发明的一示例性实施例的网络设备的结构示意图;
[0024] 图9示出了根据本发明的一示例性实施例的SDN网络中区域控制器失效的处理装 置的示意框图。

【具体实施方式】
[0025] SDN网络内的每台区域Controller被分配至对应的Region内,并连接至受控设 备。以图2所示的SDN网络内的控制器集群结构为例,Leader Controller可以通过心跳检 测等方式来感知区域Controller的状态,实现对各区域Controller的管理;若Region内 的某台区域Controller发生故障,其他的区域Controller可以主动接管连接至该故障区 域Controller的受控设备。以图2中Regionl为例,假定原本Controllerl-1连接并管理 vSwitchl 和 vSwitch2、Controllerl-2 连接并管理 vSwitch3 ;当 Controllerl-l 发生故障 时,基于【背景技术】的处理手段可以使Controllerl-2主动接管原本连接至Controllerl-1 的vSwitchl和vSwitch2,或者当Controllerl-2发生故障时,由Controllerl-1主动接管 原本连接至 Controllerl-2 的 vSwitch3。
[0026] 然而,【背景技术】的处理手段仅限于同一个Region内的区域Controller之间的 主动接管,而当同一个Region内的所有区域Controller均故障时,比如上述Regionl内 的Controllerl-1和Controllerl-2均故障,贝U基于【背景技术】的处理手段,将无法实现对 vSwitchl、vSwitch2 和 vSwitch3 的主动接管,导致 vSwitchl、vSwitch2 和 vSwitch3 无法正 常工作。而基于【背景技术】的处理方式,只能够由工作人员一一手动修改每台受控设备(比 如上述的vSwitchl、vSwitch2和vSwitch3)的配置,而当受控设备数量较大时,将导致极大 的管理难度。
[0027] 基于上述问题,本发明提出了一种如图3所示的SDN网络区域控制器失效的处理 方法,可以应用于软件定义网络SDN中的控制器集群内的Leader Controller,包括:
[0028] 步骤302,感知所述控制器集群中被配置于区域内的区域控制器的运行状态;
[0029] 在本实施例中,由于Leader Controller负责Team内区域Controller的心跳管 理,因而可以通过心跳检测等方式来实现对各个Region内区域Controller的状态感知。
[0030] 步骤304,当属于同一区域的所有区域控制器的运行状态均为不可用(Down)时, 为属于该区域的受控设备选择另一区域;
[0031] 在本实施例中,可以任意选择一个Region,以作为上述的"另一区域"。当然,也 可以通过规则的设置,选择更为适合的Region,比如可以查看Team对应的每个Region 包含的受控设备的数量,并选择对应的受控设备数量最小的Region ;或者,也可以查看 每个Region内包含的可用(Up)状态下的区域Controller的数量,并选择可用的区域 Controller 最多的 Region 等。
[0032] 步骤306,将所述受控设备的配置信息添加至被选区域的受控列表中,并将该被选 区域内的至少一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备与相应 的区域控制器建立连接。
[0033] 由上述实施例可知,本发明通过对区域Controller的状态感知,并在同一 Region 内的所有区域Controller均不可用时,主动为相应的受控设备重新进行区域选择和连接 配置,从而实现了受控设备与其他Region的区域Controller的自动连接,确保了 Region 的高可用性,尽可能降低对流量传输的影响,也避免了人工配置带来的管理困难。
[0034] 需要说明的是,在图2所示的网络结构中,Leader Controller仅用于对各Region 内的区域Controller进行管理,其本身并不属于任一 Region ;而作为一示例性实施例, Leader Controller实际上也可以实现与区域Controller相同的功能。比如图4A所示, 假定 Leader Controller 和 Controller3_l 被配置于 Region3 中,则该 Region3 与 Regionl 等一致,同样能够连接至相应的受控设备;同时,Leader Controller不仅对Regionl等内 的Controller进行状态管理,也同样需要对其所处的Region3内的Controller3_l进行状 态管理。
[0035] 此外,考虑到Leader Controller本身可能失效的情况,则可以通过主备结构进行 处理。如图 4B 所不,由 Leader Master Controller 和 Leader Slave Controller 构成主备 结构,其中 Leader Master Controller 与 Controller3_l 处于 Region3 内,Controllerl-1 和 Controllerl-2 处于 Regionl 内。因此,当 Leader Master Controller 通过心跳检测 感知到Regionl中的所有区域Controller都失效时,即Controllerl-l和Controllerl-2 均失效,则Leader Master Controller可以通过为连接至Regionl的受控设备选择另一区 域,从而将原本连接至Regionl的受控设备自动切换至被选的另一区域;而当Region3内 的区域 Controller 和 Leader Controller 均失效时,即 Controller3_l 和 Leader Master Controller 失效时,由 Leader Slave Controller 主动接管 Leader Master Controller, 为连接至Region3的受控设备选择另一区域,从而将原本连接至Region3的受控设备自动 切换至被选的另一区域。
[0036] 可见,Leader Controller本身是否处于Region内,并不会影响到对其他区域 Controller的管理,均可以实现图3所示的SDN网络中区域控制器失效的处理方法。下面 结合图5-7,通过更为具体的应用场景实现对图3所示的区域失效的处理方法进行详细说 明。
[0037] 请参考图 5,Leader Controller 对配置于 Regionl......Region-n 内的区域 Controller 进行管理。比如 Regionl 内包含 Controllerl-1 和 Controllerl-2,则 Leader Controller内存在对应于Regionl的控制器信息列表1,该控制器信息列表1中包含 Controllerl-1和Controllerl-2的配置信息,该配置信息可以为各区域Controller的 IP地址、协议端口号(例如:TCP/IP端口号)等信息;同时,Regionl内的ContiOllerl-l 和Controllerl-2还连接至受控设备1-1、受控设备1-2和受控设备1-3,则Leader Controller内还存在对应于Regionl的受控列表1,该受控列表1中记录了受控设备1-1、 受控设备1-2和受控设备1-3的配置信息,该配置信息可以为各受控设备对应的管理IP地 址和Datapath(数据路径)ID等。其中,管理IP地址是指当相应的受控设备被添加至当 前SDN网络中时,由Leader Controller分配的、用于对该受控设备进行管理的IP地址;而 Datapath ID则是由Leader Controller为受控设备分配的唯一标识号,用于准确区分和管 理所有的受控设备。
[0038] 假定Leader Controller在管理过程中,通过心跳检测感知到Controllerl-1和 Controllerl-2均处于不可用状态,即Regionl内的所有区域Controller均不可用,贝IJ受 控设备1-1、受控设备1-2和受控设备1-3将无法实现与区域Controller的正常交互。因 此,Leader Controller需要为受控设备1-1、受控设备1-2和受控设备1-3选择另一个 Region,以用于接替Regionl。
[0039] 作为一示例性实施例,假定Leader Controller选择连接的受控设备数量最少 的Region,比如选中了 Region-n。具体地,比如Region-n中配置了 Controller n-1和 Controller n-2,且连接至受控设备n-1,则此时对应于Region-n的控制器信息列表η中包 含Controller n-1和Controller η-2的配置信息,且对应于Region-n的受控列表η中仅 包含受控设备n-1的配置信息。
[0040] 由于对受控设备而言,其并不感知Region的概念,因而需要由Leader Controller将相应Region内的区域Controller的信息告知受控设备,从而实现受控设备 与区域Controller之间连接建立。请参考图6,在Leader Controller选定Region-n之 后,一方面Leader Controller将受控设备1-1、受控设备1-2和受控设备1-3的配置信 息添加至Region-n对应的受控列表η中,另一方面Leader Controller将Region-n内的 Controller n-1和Controller n-2的配置信息发送至受控设备1-1、受控设备1-2和受控 设备1-3,以供其据此建立连接。
[0041] 为了确定受控设备与区域Controller之间完成了新连接的建立,需要由Leader Controller对此进行检验。请参考图7,可以由新的Region内的区域Controller在完成新 连接的建立后,分别向Leader Controller返回对应于已建立连接的信息,该信息内可以包 含相应的新的Region内的区域Contro 11 er和受控设备的配置信息,则Leader Contro 11 er 可以据此判定在配置信息对应的受控设备和新的Region内的区域Controller之间建立了 连接。
[0042] 当然,如果新的Region内的区域Controller与受控设备之间没有完成新连接 的建立,则Leader Controller将无法接受到上述的已建立连接的信息,可能造成Leader Controller 的长时间等待,影响 Leader Controller 的管理。因此,Leader Controller 可以为被选中的Region内的区域Controller启动对应的定时器,贝U如果在该定时器对应 的超时时间内未从相应的区域Contro 11 er接收到已建立连接的信息,则认为对应的连接 建立失败。具体地,比如Leader Controller可以为Region-n内的Controller n_l和 Controller n-2分别启动对应的定时器T1和T2,假定ΤΙ <T2,则如果T1时间内未接收到 Controller n-1返回的已建立连接的信息,Leader Controller将继续等待;如果Τ2时间 内,Controller n-1和Controller n-2均未返回相应的已建立连接的信息,贝U认为对应的 连接建立均失败,需要为受控设备1-1、受控设备1-2和受控设备1-3重新选择另一区域。
[0043] 对应于上述的区域失效的处理方法,图8示出了根据本申请的一示例性实施例的 网络设备的示意结构图。请参考图8,在硬件层面,该网络设备包括处理器、内部总线、网络 接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失 性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成SDN网络中区域 控制器失效的处理装置,该处理装置可以理解为应用系统对外服务的一个部分。当然,除了 软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式 等等,也就是说以下管理方法的处理流程的执行主体并不限定于各个逻辑单元,管理方法 的执行主体也可以是硬件或逻辑器件。
[0044] 请参考图9,在软件实施方式中,该SDN网络中区域控制器失效的处理装置可以应 用于软件定义网络SDN中的控制器集群内的管理控制器,该处理装置包括:
[0045] 感知单元,用于感知所述控制器集群中被配置于区域内的区域控制器的运行状 态;
[0046] 选择单元,用于在属于同一区域的所有区域控制器的运行状态均为不可用的情况 下,为属于该区域的受控设备选择另一区域;
[0047] 处理单元,用于将所述受控设备的配置信息添加至被选区域的受控列表中,并将 该被选区域内的至少一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备 与相应的区域控制器建立连接。
[0048] 可选的,所述选择单元具体用于:
[0049] 查看所述控制器集群对应的每个区域包含的受控设备的数量,并选择对应的受控 设备数量最小的区域。
[0050] 可选的:
[0051] 所述受控设备的配置信息包括管理IP地址和唯一标识符,即管理控制器为受控 设备分配、用于管理该受控设备的IP地址和唯一标识符(如Datapath ID);
[0052] 所述区域控制器的配置信息包括区域控制器的IP地址和协议端口号。
[0053] 可选的,还可以所述处理单元还用于包括:
[0054] 接收被选区域的区域控制器发送的建立连接的信息,并在该信息中包含所述被选 区域内的指定控制器和所述受控设备的配置信息的情况下,判定在所述受控设备和所述指 定控制器之间建立了连接。
[0055] 可选的,还可以包括:
[0056] 定时单元,用于为所述至少一个区域控制器中的每个区域控制器启动对应的定时 器;
[0057] 其中,若在所有定时器对应的超时时间内,未从相应的区域控制器接收到已建立 连接的信息,则所述选择单元为所述受控设备重新选择另一区域。
[0058] 因此,本发明通过对控制器的状态感知,并在同一区域内的控制器均不可用时,主 动为相应的受控设备进行区域选择和连接配置,从而实现了受控设备与其他区域的区域控 制器的自动连接,确保了区域的高可用性,尽可能降低对流量传输的影响。
[0059] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1. 一种SDN网络中区域控制器失效的处理方法,应用于软件定义网络SDN中的控制器 集群内的管理控制器,其特征在于,所述方法包括: 感知所述控制器集群中被配置于区域内的区域控制器的运行状态; 当属于同一区域的所有区域控制器的运行状态均为不可用时,为属于该区域的受控设 备选择另一区域; 将所述受控设备的配置信息添加至被选区域的受控列表中,并将该被选区域内的至少 一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备与相应的区域控制器 建立连接。
2. 根据权利要求1所述的方法,其特征在于,为属于该区域的受控设备选择另一区域, 包括: 查看所述控制器集群对应的每个区域包含的受控设备的数量,并选择对应的受控设备 数量最小的区域。
3. 根据权利要求1所述的方法,其特征在于: 所述受控设备的配置信息包括管理IP地址和唯一标识符; 所述区域控制器的配置信息包括区域控制器的IP地址和协议端口号。
4. 根据权利要求1所述的方法,其特征在于,还包括: 接收被选区域的区域控制器发送的建立连接的信息; 若该信息中包含所述被选区域内的指定区域控制器和所述受控设备的配置信息,则判 定在所述受控设备和所述指定区域控制器之间建立了连接。
5. 根据权利要求4所述的方法,其特征在于,还包括: 为所述至少一个区域控制器中的每个区域控制器启动对应的定时器; 若在所有定时器对应的超时时间内,未从相应的区域控制器接收到已建立连接的信 息,则为所述受控设备重新选择另一区域。
6. -种SDN网络中区域控制器失效的处理装置,应用于软件定义网络SDN中的控制器 集群内的管理控制器,其特征在于,所述装置包括: 感知单元,用于感知所述控制器集群中被配置于区域内的区域控制器的运行状态; 选择单元,用于在属于同一区域的所有区域控制器的运行状态均为不可用的情况下, 为属于该区域的受控设备选择另一区域; 处理单元,用于将所述受控设备的配置信息添加至被选区域的受控列表中,并将该被 选区域内的至少一个区域控制器的配置信息发送至所述受控设备,以由所述受控设备与相 应的区域控制器建立连接。
7. 根据权利要求6所述的装置,其特征在于,所述选择单元具体用于: 查看所述控制器集群对应的每个区域包含的受控设备的数量,并选择对应的受控设备 数量最小的区域。
8. 根据权利要求6所述的装置,其特征在于: 所述受控设备的配置信息包括管理IP地址和唯一标识符; 所述区域控制器的配置信息包括区域控制器的IP地址和协议端口号。
9. 根据权利要求6所述的装置,其特征在于,所述处理单元还用于: 接收被选区域的区域控制器发送的建立连接的信息,并在该信息中包含所述被选区域 内的指定控制器和所述受控设备的配置信息的情况下,判定在所述受控设备和所述指定控 制器之间建立了连接。
10.根据权利要求9所述的装置,其特征在于,还包括: 定时单元,用于为所述至少一个区域控制器中的每个区域控制器启动对应的定时器; 其中,若在所有定时器对应的超时时间内,未从相应的区域控制器接收到已建立连接 的信息,则所述选择单元为所述受控设备重新选择另一区域。
【文档编号】H04L12/24GK104158681SQ201410384682
【公开日】2014年11月19日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】周万, 王 锋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1