软件定义网络中基于区块链的多控制器同步方法及装置制造方法及图纸

技术编号:20164685 阅读:29 留言:0更新日期:2019-01-19 00:17
本发明专利技术提供一种软件定义网络中基于区块链的多控制器同步方法及装置,所述方法包括:向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。本发明专利技术提供的软件定义网络中基于区块链的多控制器同步方法及装置,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。

【技术实现步骤摘要】
软件定义网络中基于区块链的多控制器同步方法及装置
本专利技术涉及计算机
,尤其涉及一种软件定义网络中基于区块链的多控制器同步方法及装置。
技术介绍
软件定义网络(SoftwareDefinedNetwork,SDN)已经成为一种重要的未来网络架构,它将控制平面和数据平面进行解耦和,实现了对底层资源的抽象映射。但是随着网络规模的不断增加,单一控制器已经不能满足网络的需求,实现逻辑上集中的、物理上分布的多控制架构已经成为必然趋势。但是,如何实现多控制器的信息同步,是一个急需解决的问题。现有技术中,多控制器的信息同步方法主要包括:HyperFlow多控制架构利用订阅-发布模式实现了控制器之间的信息同步;Onix通过复制和传播网络信息库(NetworkInformationBase,NIB)的方式实现了控制器之间的信息同步。但是,现有技术中的两种多控制器的信息同步方法,由于信息同步机制需要频繁的信息交互,减弱了控制器的工作效率,例如下发流表、路由选择等。并且,控制层的安全性能较差,只能应用于小规模的网络中。
技术实现思路
本专利技术的目的是提供一种软件定义网络中基于区块链的多控制器同步方法及装置,解决了现有技术中同步方法导致控制器的工作效率低的技术问题。为了解决上述技术问题,一方面,本专利技术提供一种软件定义网络中基于区块链的多控制器同步方法,包括:向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。另一方面,本专利技术提供一种软件定义网络中基于区块链的多控制器同步装置,包括:第一发送模块,用于向获取到的接入区块链系统的目标控制发送共识承认,以供所述目标控制器根据所述共识承认向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;第二发送模块,用于向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。再一方面,本专利技术提供一种用于软件定义网络中基于区块链的多控制器同步的电子设备,包括:存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。又一方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。本专利技术提供的软件定义网络中基于区块链的多控制器同步方法及装置,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。附图说明图1为依照本专利技术实施例的软件定义网络中基于区块链的多控制器同步方法示意图;图2为依照本专利技术实施例的基于区块链技术的多控制器信息同步的网络结构示意图;图3为依照本专利技术实施例多控制器与区块链系统交互流程图,如图3所示;图4为本专利技术实施例中区块链系统中的具体同步过程示意图;图5为依照本专利技术实施例的软件定义网络中基于区块链的多控制器同步装置示意图;图6为本专利技术实施例提供的用于软件定义网络中基于区块链的多控制器同步的电子设备的结构示意图。具体实施方式为了使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为依照本专利技术实施例的软件定义网络中基于区块链的多控制器同步方法示意图,如图1所示,本专利技术实施例提供一种软件定义网络中基于区块链的多控制器同步方法,其执行主体为区块链系统,包括:步骤S101、向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;步骤S102、向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。具体的,图2为依照本专利技术实施例的基于区块链技术的多控制器信息同步的网络结构示意图,如图2所示,网络结构包括区块链系统(Blockchainsystem)、SDN控制平面和边缘计算服务器(Edgecomputingservers)三大部分。其中,区块链系统包括多个节点(Block)和主体(Agent,其为深度强化学习的学习主体),主体未在图2中示出,控制平面分成多个管理域(Domain),如图2中的DomainA、DomainB和DomainC,每个管理域都有一个SDN控制器(controller)。不同于现有技术中的需要控制器之间频繁交互信息的同步机制,本专利技术实施例把区块链系统作为具有极高安全性能的第三方,为SDN控制平面提供信息同步服务。网络模型的定义如下:在区块链系统中有N个节点,其中N={1,2,...,n,…,N},和其他拜占庭系统类似,N个节点中最多有f=(N-1)/3个节点是恶意的。在该区块链系统中,一些恶意节点可以篡改内部的同步机制,但是不能破解如下加密机制,包括签名、消息认证码(messageauthenticationcodes,MACs)和哈希算法,其中加密后的消息的表示方法如下:表示消息m被节点i的私有签名加密。表示消息m已经被节点i/j双方进行了MAC认证。表示消息m已经被节点i和一组节点进行了MAC认证。控制平面中有C个控制器,其中C={1,2,...,c,…C},任意数量的控制器有可能是恶意的,它们主要通过提交错误或无效的信息来降低区块链系统的有效吞吐量。另外为了增加系统的性能,除了利用区块链系统自身的计算能力,本专利技术将充分利用边缘计算服务器的计算能力,将它们动态的分配给区块链系统进行上述与加密认证相关的计算。其中,有E个可利用的边缘计算服务器,分别表示为E={1,2,...,e,...,E}。系统建模的方法如下:本专利技术实施例中,我们将综合考虑区块链系统中每一节点的信用值、每一控制器的信用值和每一边缘计算服务器的计算能力,因此将针对这三方面进行建模。1、信用值建模由于缺少集中式的安全管理管理,所有区块链节点和控制器可能是安全的或可疑的,并且我们很难知道这些节点的下一时刻的信用值。因此,我们将区块链节点n和控制器c的信用值分别建模为随机变量δn和ηc,并将它们分别划分成L个和H个离散的区间。假设t时刻,区块链节点n和控制器c的信用值分别为δn(t)和ηc(t)。我们利用马尔科夫链对区块链节点n和控制器c信用值的变化进行建模:a)对于区块链节点n,其信用值根据如下状态转移矩阵进行变化:kc(t)=[kxsys(t)]L×L其中,kxsys(t)=Pr(δn(t+1)=ys|δn(t)=xs)。b)对于控制器c,其信用值根据如下状态转移矩阵进行变化:其中,2、计算能力建模假设Tm={sm,qm}表示与消息m相关的计算任务,其中sm表示消息m的大小,qm表示完成该计算需本文档来自技高网...

【技术保护点】
1.一种软件定义网络中基于区块链的多控制器同步方法,其特征在于,包括:向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。

【技术特征摘要】
1.一种软件定义网络中基于区块链的多控制器同步方法,其特征在于,包括:向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。2.根据权利要求1所述的方法,其特征在于,所述向获取到的接入区块链系统的目标控制器发送共识承认信息之前,还包括:将获取到的所述区块链系统中每一节点的信用值,获取到的每一控制器的信用值,以及获取到的每一边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出所述目标控制器。3.根据权利要求2述的方法,其特征在于,所述预设竞争深度强化学习模型包括状态空间、动作空间和回报函数三个要素;所述状态空间表示每一节点的信用值,每一控制器的信用值,以及每一边缘计算服务器的计算能力;所述动作空间表示所述目标控制器、主节点和目标边缘计算服务器;所述回报函数表示所述区块链系统的吞吐量。4.根据权利要求1所述的方法,其特征在于,所述本地信息至少包含网络事件和/或者Openflow指令。5.根据权利要求1所述的方法,其特征在于,所述向获取到的接入区块链系统的目标控制器发送共识承认信息,和所述向每一控制器发送包含所述本地信息的第二区块之间,还包括:进行自身同步;所述自身同步的方法如下:所述区块链系统中的每一节点都接收所述第一区块,所述区块链系统中的节点包括主节点和非主节点;获取到的主节点对所述第一区块...

【专利技术属性】
技术研发人员:许方敏仇超赵成林李斌
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

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

1