一种软件定义网络中的交换机迁移方法技术

技术编号:16132204 阅读:31 留言:0更新日期:2017-09-01 22:28
本发明专利技术公开了一种软件定义网络中的交换机迁移方法,包括交换机迁移预处理和迁移处理两阶段。在预处理阶段定义了一个“阀门”来实现交换机挂起操作;从而实现软件定义网络中交换机迁移机制的存活性和安全性,优化迁移机制流程和控制器状态转化的复杂度,解决现有基于OpenFlow协议的软件定义网络中交换机迁移机制流程复杂、控制报文较多、控制器状态转化复杂等问题。

【技术实现步骤摘要】
一种软件定义网络中的交换机迁移方法
本专利技术属于软件定义网络
,特别是针对软件定义网络中的交换机迁移带来的存活性和安全性等问题,提出一种交换机迁移方法。
技术介绍
随着云计算、物联网、大数据等应用的数据时代兴起,传统网络的发展难以应对灵活的数据资源请求。相应的网络架构的更新方案相继出现,首先提出的可编程网络的研究,为软件定义网络(SoftwareDefinedNetworking,SDN)的发展提供了理论基础;主动网络允许用户编写简单的程序,但是安全性面临了极大的威胁,且适用性比较差;4D架构是将决策平面从数据平面进行分离,使得控制逻辑集中化;面向企业安全管理的SANE架构,也是以4D架构为设计原则,将控制决策由中央服务器控制;Ethane是在SANE上进行的功能扩展,初步建立软件实现转发决策,硬件缓存决策只需进行报文转发;2008年研究人员基于Ethane的大部分功能的基础上,提出了OpenFlow技术,更加明确数控分离的基本概念;后基于OpenFlow给网络带来可编程的特性,进而使得SDN概念应运而生。软件定义网络是一种在物理上分散、逻辑上集中的基于软件的新型控制网络架构,是网络虚拟化的一种实现方式。该架构的核心技术是通过OpenFlow技术将网络设备控制平面与数据平面分离开来,进而实现了数据流量的灵活控制,使网络设备使用更加便捷、智能。与传统网络不同点在于,它通过软件编程形式自定义的设置网络设备,使得原来分布式的控制平面逻辑上集中。而随着业务需求及网络规模的增大,单控制器节点就很容易成为整个网络性能的瓶颈,因此可扩展性问题是亟待解决的问题。虽然SDN是建立一个逻辑上集中、物理上分散的控制平台,能有利于系统的可扩展性和稳定性。但是控制器本质上还是分布式和异步操作的,而逻辑的安装不具备原子性,存在配置有先后顺序或者执行有先后顺序,造成网络传输一致性问题。在近期国内外研究探索如何建立必要的组件以实现一个分布式SDN控制器,但存在的问题是交换机和控制器之间的映射是静态配置,难以使控制平台适应传输负载的变化。在实际网络应用中,由于数据请求的时间性和空间性都是随机的,交换机的传输负载也时刻在发生变化,有可能造成控制平面上控制器负载不均衡,使得相应的控制器会超负载,而其他控制器没有得到充分利用。例如一天中网络传输状况不是恒定的,有高峰期和低谷期;根据应用程序产生的数据流,存在空间传输状况的变化。或者由于控制器发生故障,因此需要实现交换机的迁移来保证数据传送的安全性和可靠性。交换机迁移是将某个交换机从链接它的控制器上迁移到新的控制器的过程。同时也能为以后实现控制器池中的控制器数量的动态增减提供迁移机制。OpenFlow规范1.3给一个控制器定义了三种操作模式:Master、Slave和Equal。默认情况下,Slave控制器对交换机的权限为只读操作,不能够接收来自交换机的异步消息(由交换机发起,用来更新控制器中网络事件或交换机状态的变化的消息,比如:Packet-In、Packet-Removed等)。然而,Master和Equal模式下的控制器能够修改交换机端口状态、接收交换机发送来的异步消息。每一个交换机最多只有一个Master控制器,但可以有多个Equal控制器。交换机迁移过程需要它所属的Slave控制器中的一个成为新的Master控制器,而先前的Master控制器应该角色逆转变成Slave控制器或失效,控制器通过发送Role-Change消息命令给交换机来改变自己的角色。已有的交换机迁移机制不具备提供控制器存活性和安全性保障的能力,没有考虑在迁移过程中如何处理新到达的流表项,没有考虑在Master/Equal模式下多个控制器会对交换机进行重复的写操作,造成数据不一致性等问题,且迁移的机制流程复杂,控制报文较多,控制器的角色转换复杂。论文“TowardsanElasticDistributedSDNController”,在文中提到了交换机迁移机制。首先需要了解的是交换机迁移机制中控制器需要保持存活性和安全性。存活性是指一个交换机所属的控制器中,至少有一个控制器是活跃的,能完整处理该交换机中所缓存下的消息;安全性是指能保证当前控制器和迁移目标控制器恰好只有一个控制器来主导交换机,控制器不会同时对交换机中的流表项进行重复操作,能避免造成数据存储的不一致问题。从该论文提出的机制来看,该机制未能将交换机缓存中先后到来的消息区分开来,且目标控制器角色转换较为复杂,整个迁移过程算法需要6个往返时间(包括inter-controller节点通信)才完成迁移,所花费的时间相对较长。
技术实现思路
本专利技术的目的在于克服现有交换机迁移机制的不足,提供一种软件定义网络中的交换机迁移方法。为了达到上述目的,本专利技术采用了以下技术方案:交换机迁移预处理设计:由于交换机的迁移过程中不是将交换机处于离线状态去迁移的,在这期间仍然会接收数据包存储到缓存中。交换机迁移过程中消息的到达有先后顺序,需要区分哪些到达的缓存消息需要当前控制器处理,哪些需要目标控制器处理,以确保数据包恰好只由一个控制器完整的处理完成。因此,该方法通过发送Flow-Mod消息在交换机流表中添加一个作为阀门的空流表项,从而实现迁移前预处理,通过当前控制器设置“阀门”使得交换机处于挂起状态,此时交换机里的缓存消息都交给当前所属的控制器处理,在此之后到来的消息都只缓存在交换机里面,等当前控制器处理完它应该处理的消息后,然后再删除前面所设置的“阀门”,结束迁移的前期准备工作。随后通知目标控制器进行角色转换,就完成最终交换机迁移的过程。预处理中“阀门”技术设计(定义当前控制器为控制器A,目标控制器为控制器B,控制器A为交换机X的Master控制器):一张流表存储许多流表项,每一个流表项表征一个“流”及其相应动作表。控制器的请求或交换机流超时机制,都能使在流表中的流表项删除。上述“阀门”是通过控制器A发送Flow-Modaddcommand消息向交换机X发送添加流表项请求,在交换机X流表中添加空流表项所得到。“阀门”的添加,即空流表项(它不包含任何行动指令)的添加,目的是为了让控制器A在删除流表时,能够确保交换机已经处理完属于控制器A的应该完成的消息,以便及时开展迁移处理。在OpenFlow协议中,并非每一个通过安全通道进行交换的消息都需要响应,因此,使用安全通道发送消息的一方有时并不知道接收方处理消息的程度,为了解决这类似的问题,在协议中有一个Barrier消息的机制,Barrier消息的目的是掌握消息的处理程度。接收Barrier请求消息的一方在接收消息后,结束对在此之前接收到所有消息的处理,通过返回Barrier响应消息,通知消息发送方消息处理的完成度。在OpenFlow1.1以上版本中已经明确表明,只要未通过Barrier消息发出明确指示,交换机从不考虑从控制器接收到的消息顺序,可以按照任意的顺序进行处理。此时,预处理机制中控制器A发送BarrierrequestmessageforA消息给交换机X,能使交换机的消息处理顺序按照接收到的顺序处理,处理完在接收该消息之前的交换机缓存流后,交换机X能及时给控制器A回复,告诉控制器A此时可以删除“阀门”。软件定义本文档来自技高网
...
一种软件定义网络中的交换机迁移方法

【技术保护点】
一种软件定义网络中的交换机迁移方法,其特征在于:该交换机迁移方法包括以下步骤:1)预处理过程通过在待迁移交换机的流表中添加不与任何到来的数据包匹配的空流表项,使该交换机进入挂起状态,然后由该交换机当前所属的Master控制器完成交换机缓存消息的处理,处理完毕后删除所述空流表项,预处理过程完成;2)迁移过程在预处理过程完成后,将所述交换机的控制权由所述交换机当前所属的Master控制器交给选定的目标控制器,交换机迁移完成。

【技术特征摘要】
1.一种软件定义网络中的交换机迁移方法,其特征在于:该交换机迁移方法包括以下步骤:1)预处理过程通过在待迁移交换机的流表中添加不与任何到来的数据包匹配的空流表项,使该交换机进入挂起状态,然后由该交换机当前所属的Master控制器完成交换机缓存消息的处理,处理完毕后删除所述空流表项,预处理过程完成;2)迁移过程在预处理过程完成后,将所述交换机的控制权由所述交换机当前所属的Master控制器交给选定的目标控制器,交换机迁移完成。2.根据权利要求1所述一种软件定义网络中的交换机迁移方法,其特征在于:所述交换机迁移方法还包括以下步骤:所述预处理过程前,由待迁移交换机当前所属的Master控制器向所述目标控制器请求迁移。3.根据权利要求2所述一种软件定义网络中的交换机迁移方法,其特征在于:所述请求迁移具体包括以下步骤:1)所述交换机当前所属的Master控制器向所述目标控制器发送表示所述交换机需要迁移的消息;2)所述目标控制器返回表示准备好迁移的消息给所述交换机当前所属的Master控制器。4.根据权利要求1所述一种软件定义网络中的交换机迁移方法,其特征在于...

【专利技术属性】
技术研发人员:曲桦赵季红喻理文郭涯夏余
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

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

1