OpenFlow多控制器系统及其管理方法

文档序号:9263329阅读:853来源:国知局
OpenFlow多控制器系统及其管理方法
【技术领域】
[0001] 本发明涉及通信技术领域,具体涉及一种OpenFlow多控制器系统及其管理方法。
【背景技术】
[0002] SDN(SoftwareDefinedNetworking,软件定义网络)是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow(开放流)通过将网络 设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创 新提供了良好的平台。由于控制器上部署着网络中不同业务应用的控制策略,用于决策数 据平面上流量的正确转发,以及监控整个网络设备的状态等作用,因此控制器是整个SDN/ OpenFlow网络的核心设备。
[0003] 然而现有的SDN/OpenFlow中往往采用单控制器对网络进行管理,一旦控制器遭 到外来恶意攻击,导致控制策略被篡改,将会影响网络业务的正确运行。同样,如果来自于 数据面的网络转发设备(OpenFlow交换机)产生Packetln(OpenFlow协议中定义的一种交 换机发送给控制器的标准消息)flooding(泛滥)攻击,将会消耗控制器计算资源,可能造成 控制网瘫痪。
[0004] 在公开号为CN201210363173.0的中国专利申请中,提出了一种实现Openflow交 换机系统中控制器冗余备份的方法及系统,通过部署多个不同角色(主设备,从设备以及对 等设备)的控制器,并实时监测主设备的可达性,在主设备出现不可达的情况下立即采用其 余冗余设备接管,从而实现了系统中时刻存在可正常工作的主设备,进而提高了系统稳定 性。
[0005] 上述方案中存在的主要问题是:1)增加了控制器的备份,但却只有一个主设备具 有网络控制的最高权限,造成其余设备资源浪费;2)主要解决的是单控制器可能存在的单 点故障,没有实现多控制器协同工作;3)无法保障控制器中各个控制策略的可靠性。

【发明内容】

[0006] 本发明实施例所要解决的技术问题是提供一种OpenFlow多控制器系统及其管理 方法,用于提高OpenFlow多控制器系统的工作效率和可靠性。
[0007] 本发明第一方面提供一种OpenFlow多控制器系统的管理方法,包括:
[0008] 部署多个控制器节点,使每个控制器节点控制控制网中的一个预定的控制区域;
[0009] 对所述每个控制器节点的控制策略进行冗余备份;
[0010] 对所述控制策略的多个备份副本的一致性进行验证,如果所述控制策略的各个备 份副本不一致,则以多数一致的备份副本为正确备份副本,并使用所述正确备份副本对其 它备份副本进行修正。
[0011] 在第一种可能的实施方式中,所述对所述每个控制器节点的控制策略进行冗余备 份包括:
[0012] 将应用第一控制策略的控制器节点作为第一控制策略的主备份控制器节点,所述 主备份控制器节点保存所述第一控制策略的主备份副本;
[0013] 计算所述第一控制策略所属用户ID的哈希值;
[0014] 根据所述用户ID的哈希值获取所述用户ID在所述控制网中的位置,将与所述位 置所对应的控制器节点作为第一控制策略的次备份控制器节点,所述次备份控制器节点保 存所述第一控制策略的次备份副本;
[0015] 将所述次备份控制器节点的一个或多个邻居节点作为冗余备份控制器节点,所述 冗余备份控制器节点保存所述第一控制策略的冗余备份副本。
[0016] 结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述对所 述控制策略的多个备份副本的一致性进行验证,如果所述控制策略的各个备份副本不一 致,则以多数一致的备份副本为正确备份副本,并使用所述正确备份副本对其它备份副本 进行修正包括:
[0017] 第一控制策略的主备份控制器节点将所述第一控制策略的主备份副本摘要发送 至第一控制策略的次备份控制器节点;所述第一控制策略为任意一个控制策略;
[0018] 所述第一控制策略的次备份控制器节点将所述主备份副本摘要与其保存的第一 控制策略的次备份副本摘要进行比较,判断所述主备份副本摘要和所述次备份副本摘要是 否一致:如果一致,向所述第一控制策略的冗余备份控制器节点发送主次一致的验证消息 以及所述主备份副本摘要或次备份副本摘要;如果不一致,向所述第一控制策略的冗余备 份控制器节点发送主次不一致的验证消息以及所述主备份副本摘要和次备份副本摘要;
[0019] 所述第一控制策略的冗余备份控制器节点接收所述主次一致的验证消息以及所 述主备份副本摘要或次备份副本摘要,将所述主备份副本摘要或次备份副本摘要与其保存 的第一控制策略的冗余备份副本摘要进行比较,判断所述主备份副本摘要或次备份副本摘 要与所述冗余备份副本摘要是否一致,如果不一致,向所述第一控制策略主备份控制器节 点或次备份控制器节点发送备份修正请求以修正冗余备份副本;或者,
[0020] 所述第一控制策略的冗余备份控制器节点接收所述主次不一致的验证消息以及 所述主备份副本摘要和次备份副本摘要,将所述主备份副本摘要和次备份副本摘要分别与 其保存的第一控制策略的冗余备份副本摘要进行比较,分别判断所述主备份副本摘要和次 备份副本摘要与所述冗余备份副本摘要是否一致,如果所述主备份副本摘要与所述冗余备 份副本摘要一致,则对所述次备份控制器节点保存的第一控制策略的次备份副本进行修 正,如果所述次备份副本摘要与所述冗余备份副本摘要一致,则对所述主备份控制器节点 保存的第一控制策略的主备份副本进行修正。
[0021] 在第三种可能的实施方式中,所述对所述控制策略的多个备份副本的一致性进行 验证,如果所述控制策略的各个备份副本不一致,则以多数一致的备份副本为正确备份副 本,并使用所述正确备份副本对其它备份副本进行修正包括:
[0022] 保存第一控制策略的第一控制器节点接收保存所述第一控制策略的其它控制器 节点发送的第一控制策略的备份副本;第一控制器节点为保存第一控制策略的任意一个控 制器节点;
[0023] 所述第一控制器节点对所述第一控制策略的各个备份副本进行相互比较,如果出 现备份副本不一致的情况,以多数一致的备份副本为正确的备份副本,并使用所述正确的 备份副本修正使用其它备份副本。
[0024] 在第四种可能的实施方式中,在所述对所述多个控制器节点的控制策略进行冗余 备份之前,所述方法还包括:
[0025]获取策略冗余度;
[0026] 所述对所述每个控制器节点的控制策略进行冗余备份包括:
[0027] 根据所述策略冗余度对所述每个控制器节点的控制策略进行冗余备份,使每个控 制器节点的控制策略的备份副本数量不小于所述策略冗余度。
[0028] 结合第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述获取 策略冗余度包括:
[0029] 获取可容忍的控制策略最大错误率a和单个控制策略备份副本可能出错的概率 Pe;
[0030] 根据所述可容忍的控制策略最大错误率a和所述单个控制策略备份副本可能出 错的概率Pe,计算使得控制策略错误率不大于所述可容忍的控制策略最大错误率a的策略 备份副本数量的最小值,作为策略冗余度的值。
[0031] 结合第一方面或第一方面的任意一种可能的实施方式,在第六种可能的实施方式 中,所述方法还包括:
[0032] 新增的控制器节点向其它控制器节点广播加入请求消息;
[0033] 所述新增的控制器节点接收来自各个其它控制器节点的回复消息,所述回复消息 携带各个其它控制节点的控制区域的信息;
[0034] 所述新增的控制器节点根据所述回复消息查找控制区域的面积最大的控制区域, 分别模拟按照至少二种预定的分割方式对所述面积最大的控制区域进行分割;
[0035] 计算在各种分割方式下所述新增的控制器节点与其邻居节点之间的第一通信时 延以及所述面积最大的控制区域的原控制器节点与其邻居节点之间的第二通信时延,选择 所述第一通信时延与所述第二通信时延之和最小的分割方式作为最优分割方式;
[0036] 所述新增的控制器节点按照所述最优分割方式将所述面积最大的控制区域分割 成二个新的控制区域,并部署在所述二个新的控制区域中的其中一个控制区域。
[0037] 结合第一方面的第六种可能的实施方式,在第七种可能的实施方式中,所述方法 还包括:所述新增的控制器节点从所述面积最大的控制区域的原控制器节点获取需要的控 制策略的备份副本。
[0038] 结合第一方面或第一方面的任意一种可能的实施方式,在第八种可能的实施方式 中,所述方法还包括:
[0039] 欲下线节点选择一个邻居节点作为接管节点;
[0040] 所述欲下线节点通知所述接管节点接管所述欲下线节点的控制区域;
[0041] 所述接管节点接管所述欲下线节点的控制区域,并向其邻居节点发送控制区域更 新消息。
[0042] 结合第一方面的第八种可能的实施方式,在第九种可能的实施方式中,所述方法 还包括:所述接管节点从所述欲下线节点获取所述欲下线节点保存的控制策略的备份副 本。
[0043] 结合第一方面或第一方面的任意一种可能的实施方式,在第十种可能的实施方式 中,所述方法还包括:
[0044] 各控制器节点探测自己的邻居节点中是否存在失效节点;
[0045] 如果存在失效节点,以所述失效节点的其中一个邻居节点作为接管节点;
[0046] 所述接管节点接管所述失效节点的控制区域,并向其邻居节点发送控制区域更新 消息。
[0047] 结合第一方面的第十种可能的实施方式,在第^ 种可能的实施方式中,所述方 法还包括:所述接管节点从所述失效节点保存的控制策略的其它备份控制器节点获取上述 失效节点保存的控制策略的备份副本。
[0048] 本发明第二方面提供一种OpenFlow多控制器系统,包括多个控制器节点,其中,
[0049] 所述多个控制器节点中的每个控制器节点用于控制控制网中的一个预定的控制 区域;
[0050] 所述多个控制器节点用于按照预定的策略冗余度对所述每个控制器节点的控制 策略进行冗余备份;
[0051] 所述多个控制器节点用于对所述控制策略的多个备份副本的一致性进行验证,如 果所述控制策略的各个备份副本不一致,则以多数一致的备份副本为正确备份副本,并使 用所述正确备份副本对其它备份副本进行修正。
[0052] 在第一种可能的实施方式中,所述多个控制器节点包括至少k个保存有第一控制 策略的备份副本的控制器节点;k为预定的策略冗余度,所述第一控制策略为任意一个控 制策略;其中,
[0053] 应用第一控制策略的控制器节点作为第一控制策略的主备份控制器节
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1