Sdn交换机和控制器动态注册方法

文档序号:7823675阅读:677来源:国知局
Sdn交换机和控制器动态注册方法
【专利摘要】本发明公开了一种SDN交换机和控制器动态注册方法,包含如下步骤:S1:SDN网络初始化,外部的配置管理模块告知交换机和n台控制器建立TCP连接,通过优先级算法,交换机与一台控制器建立主连接,与其他控制器建立辅连接;S2:所述的主连接发生异常,交换机随机向其他控制器中的一台发送注册申请报文;S3:其他控制器中某台控制器向交换机回复同意注册报文,则该台控制器与交换机建立新的主连接。本发明在发生故障时,不会影响交换机的正常业务,极大地提高SDN控制器的可靠性,同时可以实现无缝和快速地切换,实现控制器的负载均衡,该方法简单而有效,无需增加控制器的负担。
【专利说明】SDN交换机和控制器动态注册方法

【技术领域】
[0001]本发明涉及一种SDN交换机注册的方法,特别涉及一种SDN交换机和控制器动态注册方法。

【背景技术】
[0002]SDN (Software Defined Network,软件定义网络)的核心理念之一是将控制功能从网络交换设备中剥离出来,从而达到降低设备复杂度,提升网络管控效率的目的。“去智能化”的SDN交换机对数据包的转发决策来自于控制器的南向接口。SDN技术将交换设备的控制平面迀移到集中化的控制器中,利用标准化的南向接口替换了交换设备中的控制平面。因此SDN交换机和控制器交互是否高效和简单,变得尤为的重要。
[0003]由于SDN网络的规模越来越庞大,多台控制器形成的分布式集群将取代单一的控制器。现在的实现方案,SDN交换机和控制器不存在动态注册算法,而是由OF-Config或OVSDB协议配置SDN Controller地址,然后建立TCP连接。这种实现方案存在很大的可靠性问题。一旦控制器发生故障,SDN交换机不会主动注册其他控制器,从而导致这台SDN交换机处于无管理状态,影响到正常的业务。
[0004]而现在主备控制器技术主要是解决主控制器出现故障的问题,如果在控制器和交换机的链路出现问题,很难有效地检测到链路故障,进行主备切换。虽然主备控制器技术可以很好地解决单点控制器的可靠性问题,但无法克服扩展性差,性能差和OpenFlow数据包的传输延迟大的问题。


【发明内容】

[0005]本发明的目的是提供一种SDN交换机和控制器动态注册方法,在发生故障时,不会影响交换机的正常业务,极大地提高SDN控制器的可靠性,同时可以实现无缝和快速地切换,实现控制器的负载均衡,该方法简单而有效,无需增加控制器的负担。
[0006]为了实现以上目的,本发明是通过以下技术方案实现的:
一种SDN交换机和控制器动态注册方法,包含如下步骤:
51:SDN网络初始化,外部的配置管理模块告知交换机和η台控制器建立TCP连接,通过优先级算法,交换机与一台控制器建立主连接,与其他控制器建立辅连接;
52:所述的主连接发生异常,交换机随机向其他控制器中的一台发送注册申请报文;
53:其他控制器中某台控制器向交换机回复同意注册报文,则该台控制器与交换机建立新的主连接。
[0007]所述的SI中,所述的优先级算法包含如下子步骤:
S1.1:SDN网络初始化时,交换机与η台控制器建立TCP连接,生成数组(1,2,3,……η)分别对应η台控制器;
S1.2:根据数组(1,2,3,......η),生成新的η个随机数对应数组中的η个数字,即η个随机数分别对应η台控制器,作为第I台到第η台控制器的优先级; S1.3:交换机选择优先级最大的控制器发送注册申请报文;
S1.4:该控制器若回复同意注册报文,则该控制器与交换机建立主连接。
[0008]所述的SI还包含如下子步骤:S1.5:若控制器若回复拒绝注册报文,则交换机根据优先级递减的次序向对应的控制器发送注册申请报文,直到与某台控制器建立主连接。
[0009]所述的S2中主连接发生异常的原因包含但不限于:控制器发生故障、交换机和控制器的链路发生异常。
[0010]所述的交换机向控制器发送的注册申请报文包含但不限于:交换机的IP地址、交换机的MAC地址。
[0011]所述的控制器回复的同意注册报文包含但不限于:控制器的IP地址。
[0012]在一台控制器的数据库发生改变,则所述的η台控制器的数据库自动实时同步更新;η台控制器无主备之分,控制器之间的信道用于同步并采用专有高速以太网通道或总线。
[0013]所述的每台交换机只和一台控制器建立主连接,和若干台控制器建立辅连接,所述的主连接工作时,辅连接不承载数据。
[0014]所述的S3包含如下子步骤:
S3.1:设定单台控制器建立的最大主连接数;
S3.2:控制器接收交换机发送来的注册申请报文,若控制器的主连接数等于最大主连接数,则回复拒绝注册报文;反之则回复同意注册报文,与交换机建立主连接,该控制器的主连接数加I。
[0015]本发明与现有技术相比,具有以下优点:
在发生故障时,不会影响交换机的正常业务,极大地提高SDN控制器的可靠性,同时可以实现无缝和快速地切换,实现控制器的负载均衡,该方法简单而有效,无需增加控制器的负担。

【专利附图】

【附图说明】
[0016]图1为本发明SDN交换机和控制器的连接状态示意图;
图2为本发明SDN交换机和控制器动态注册方法的方法流程图;
图3为本发明SDN交换机和控制器动态注册方法的优先级算法的流程图;
图4为本发明SDN交换机和控制器动态注册方法的S3的流程图。

【具体实施方式】
[0017]以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
[0018]一种SDN交换机和控制器动态注册方法,如图2所示,包含如下步骤:
SI:SDN网络初始化,外部的配置管理模块告知交换机和η台控制器建立TCP连接,通过优先级算法,交换机与一台控制器建立主连接,与其他控制器建立辅连接。如图3所示,该步骤中优先级算法的步骤为:
S1.1:SDN网络初始化时,交换机与η台控制器建立TCP连接,生成数组(1,2,3,……η)分别对应η台控制器;
S1.2:根据数组(1,2,3,......η),生成新的η个随机数对应数组中的η个数字,即η个随机数分别对应η台控制器,作为第I台到第η台控制器的优先级;
S1.3:交换机选择优先级最大的控制器发送注册申请报文(Register);在本实施例中,交换机向控制器发送的注册申请报文包含但不限于:交换机的IP地址、交换机的MAC地址。
[0019]S1.4:该控制器若回复同意注册报文(Register Reply (OK)),则该控制器与交换机建立主连接;在本实施例中,控制器回复的同意注册报文包含但不限于:控制器的IP地址。
[0020]S1.5:若控制器若回复拒绝注册报文(Register R印ly(NOK)),则交换机根据优先级递减的次序向对应的控制器发送注册申请报文,直到与某台控制器建立主连接。
[0021]S2:当步骤I中的主连接发生异常,交换机随机向其他控制器中的一台发送注册申请报文;主连接发生异常的原因包含但不限于:控制器发生故障、交换机和控制器的链路发生异常。
[0022]S3:其他控制器中某台控制器向交换机回复同意注册报文,则该台控制器与交换机建立新的主连接,请参见图1。如图4所示,本步骤的具体步骤如下:
S3.1:设定单台控制器建立的最大主连接数(即:阈值);在本实施例中,控制器建立的主连接数只能小于或等于最大主连接数,但最大主连接数可以基于实际的网络应用进行修改。由于交换机采用随机选择的算法并且控制器最大连接数是固定的,因此数以千计的交换机的流量可以分担到多台控制器上面去,从而实现控制器的负载均衡。
[0023]S3.2:控制器接收交换机发送来的注册申请报文,若控制器的主连接数等于最大主连接数,则回复拒绝注册报文;反之则回复同意注册报文,与交换机建立主连接,该控制器的主连接数加I。
[0024]在本实施例中,在一台控制器的数据库发生改变,则η台控制器的数据库自动实时同步更新,控制器的同步分为实时同步和周期同步,实时同步是增量同步,引起实时同步的因素包含但不限于四点:统计信息变化,编排器变化,北向应用变化和来自交换机的报文消息变化;周期同步是全数据库的同步,由于花费时间较长,应后台处理。η台控制器无主备之分,控制器之间的信道用于同步并采用专有高速以太网通道或总线。由于所有控制器的数据库是同步,当一台控制器发生故障的时候无需再导出数据到其他控制器,因此可以做到无缝地切换,很大程度地提高了控制器节点的可靠性。
[0025]而为了获得高效的查询效率,控制器的数据库采用Hash组织,hash key是根据交换机的IP地址和MAC地址采用离散算法生成。除了连接类型,各个控制器的数据库内容应保持一致。Hash数组大小可以根据组网的需求,进行修改。为了获得高效的检索效率,链表的深度不应超过5级。
[0026]在本实施例中,每台交换机只和一台控制器建立主连接,和若干台控制器建立辅连接,当主连接工作时,辅连接不承载数据。只有当连接类型为主连接的时候,控制器才可以配置和管理交换机,才可以有效地把数以千计的交换机的流量分担到多台控制器上面去。
[0027]综上所述,本发明SDN交换机和控制器动态注册方法,在发生故障时,不会影响交换机的正常业务,极大地提高SDN控制器的可靠性,同时可以实现无缝和快速地切换,实现控制器的负载均衡,该方法简单而有效,无需增加控制器的负担。
[0028]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种SDN交换机和控制器动态注册方法,其特征在于,包含如下步骤: 51:SDN网络初始化,外部的配置管理模块告知交换机和η台控制器建立TCP连接,通过优先级算法,交换机与一台控制器建立主连接,与其他控制器建立辅连接; 52:所述的主连接发生异常,交换机随机向其他控制器中的一台发送注册申请报文; 53:其他控制器中某台控制器向交换机回复同意注册报文,则该台控制器与交换机建立新的主连接。
2.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,所述的SI中,所述的优先级算法包含如下子步骤: S1.1:SDN网络初始化时,交换机与η台控制器建立TCP连接,生成数组(1,2,3,……η)分别对应η台控制器; S1.2:根据数组(1,2,3,......η),生成新的η个随机数对应数组中的η个数字,即η个随机数分别对应η台控制器,作为第I台到第η台控制器的优先级; S1.3:交换机选择优先级最大的控制器发送注册申请报文; S1.4:该控制器若回复同意注册报文,则该控制器与交换机建立主连接。
3.如权利要求2所述的SDN交换机和控制器动态注册方法,其特征在于,所述的SI还包含如下子步骤:s1.5:若控制器若回复拒绝注册报文,则交换机根据优先级递减的次序向对应的控制器发送注册申请报文,直到与某台控制器建立主连接。
4.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,所述的S2中主连接发生异常的原因包含但不限于:控制器发生故障、交换机和控制器的链路发生异常。
5.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,所述的交换机向控制器发送的注册申请报文包含但不限于:交换机的IP地址、交换机的MAC地址。
6.如权利要求1或5所述的SDN交换机和控制器动态注册方法,其特征在于,所述的控制器回复的同意注册报文包含但不限于:控制器的IP地址。
7.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,在一台控制器的数据库发生改变,则所述的η台控制器的数据库自动实时同步更新;η台控制器无主备之分,控制器之间的信道用于同步并采用专有高速以太网通道或总线。
8.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,所述的每台交换机只和一台控制器建立主连接,和若干台控制器建立辅连接,所述的主连接工作时,辅连接不承载数据。
9.如权利要求1所述的SDN交换机和控制器动态注册方法,其特征在于,所述的S3包含如下子步骤: S3.1:设定单台控制器建立的最大主连接数; S3.2:控制器接收交换机发送来的注册申请报文,若控制器的主连接数等于最大主连接数,则回复拒绝注册报文;反之则回复同意注册报文,与交换机建立主连接,该控制器的主连接数加I。
【文档编号】H04L12/24GK104468231SQ201410806658
【公开日】2015年3月25日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】翟跃 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1