一种虚拟网络路径选择方法及装置与流程

文档序号:15743667发布日期:2018-10-23 22:42阅读:198来源:国知局
本发明涉及虚拟化
技术领域
:,特别是涉及一种虚拟网络路径选择方法及装置。
背景技术
::在近年来飞速发展的数据中心技术中,虚拟化技术是一种底层的重要支撑技术。通过虚拟化,系统资源可以得到隔离,并且能够弹性和动态分配。然而,很多年来虚拟化技术的热点一直都在于计算机虚拟化,直到这两年数据中心规模急剧增大,多租户的问题更加严重,网络虚拟化才得到足够的重视。传统TCP/IP网络经过30多年的发展已经过度僵化。同时,TCP/IP网络也无法提供很好的资源划分方法,这在当前的数据中心应用中都是十分严重的缺陷。为了应对TCP/IP网络的挑战,学术界与工业界纷纷推出自己的标准来构建一种具备弹性、可操作的新型网络。OpenFlow网络是一种对于传统TCP/IP网络的升级与补充,是一种重要的SDN(软件定义网络)的解决方案,它的基本思想是将网络的控制平面与数据平面互相分离,来实现集中的转发规则与网络拓扑的控制。基于该特性,OpenFlow被广泛用于网络虚拟化技术。在IaaS云平台中,不同租户的隔离与资源分配问题一直是一个重要课题。租户之间需要划分的资源不仅仅是计算和存储资源,也包括网络资源。FlowVisor(网络抽象层)是一种OpenFlow网络中的网络虚拟化层实现,通过FlowVisor将一个完整的OpenFlow网络可以划分成多个逻辑网络,每一个逻辑网络被称为一个分片(slice)。如同计算机虚拟化一样,网络虚拟化应当具备伸缩性、弹性地分配资源的能力,实现这种能力必备的机制是虚拟网络路径选择机制。正如虚拟机的迁移,虚拟网络分片也需要不断迁移,其本质是在透明与平滑的过程中,将在一定的物理设备上运行的系统移动到新的设备上运行。但虚拟网络分片的迁移过程中存在如下缺陷:(1)FlowVisor对OpenFlow网络路径选择不够透明,而管理员想对每个网络分片的管理是透明的。(2)FlowVisor对OpenFlow网络路径选择无法保证迁移前后拓扑结构和物理带宽相同。(3)FlowVisor对OpenFlow网络路径选择无法判断哪些节点是可移动的,哪些节点是不可移动的。因此,如何能够确定虚拟网络迁移路径及保证迁移前后拓扑结构和物理带宽相同,将一个虚拟网络分片在不修改其流量带宽和最大流表项个数的情况下,从原本的物理拓扑移动到新的物理拓扑上是目前亟待解决的问题。技术实现要素:针对现有技术的不足,本发明提供了一种虚拟网络路径选择方法及装置,能够确定虚拟网络迁移路径及保证迁移前后拓扑结构和物理带宽相同,将一个虚拟网络分片在不修改其流量带宽和最大流表项个数的情况下,从原本的物理拓扑移动到新的物理拓扑。第一方面,提供一种虚拟网络路径选择方法,包括:修改FlowVisor的代码扩展出虚拟新分片的网络路径;将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息;判断控制器发送的消息目的地是否需要改写;是,则对控制器发送到源分片的信息进行IP地址和端口的改写,对应到新分片的对应物理资源上。结合第一方面,在第一方面的第一种可能的实现方式中,所述将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息,包括:新建一个资源配置与源分片相同的新分片;将新建的新分片与源分片各个交换设备一一匹配;将源分片上所有的流表项复制到新分片上。第二方面,提供一种用于实现虚拟网络路径选择的装置,包括:扩展单元,所述扩展单元用于修改FlowVisor的代码扩展出虚拟新分片的网络路径;修改单元,所述修改单元用于将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息;判断单元,所述判断单元用于判断控制器发送的消息目的地是否需要改写;确定单元,用于当控制器发送的消息目的地需要改写时,对控制器发送到源分片的信息进行IP地址和端口的改写,对应到新分片的对应物理资源上。结合第二方面,在第二方面的第一种可能的实现方式中,所述修改单元具体用于:新建一个资源配置与源分片相同的新分片;将新建的新分片与源分片各个交换设备一一匹配;将源分片上所有的流表项复制到新分片上。第三方面,提供一种受控终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端设备执行上述的终端设备的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。因此,本申请能够确定虚拟网络迁移路径及保证迁移前后拓扑结构和物理带宽相同,将一个虚拟网络分片在不修改其流量带宽和最大流表项个数的情况下,从原本的物理拓扑移动到新的物理拓扑;从而实现物理资源升级无宕机时间、收到攻击时保证业务连续性、新用户加入时可以动态扩容等性能。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例的方法的示意性流程图。图2是本申请一个实施例的装置的示意性框图。图3为本发明实施例提供的一种受控终端的结构示意图。具体实施方式为了使本
技术领域
:的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。为了使本
技术领域
:的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。FlowVisor是一个事件驱动的系统,它对交换机和控制器之间的消息进行拦截和处理,分为两个模块,FVSlicer负责对进出控制器的消息进行处理,FVClassifier对进出交换设备的消息进行处理。他们的目的是让一个对用户来说全局可见的消息最终精确改写并发送到特定的分片交换机二元组上。FVClassifier和FVSlicer都实现了两个函数,handleIOEvent和sendMsg。handleIOEvent是每次收到一条消息时触发,在进行改写之前,由它来确定如何改写,往往是调用classifyFromSwitch和sliceFromController两个函数进行改写,返回后调用sendMsg发送到交换设备或控制器上。在每一个信息从源发送到目的地的过程中首先会被FVClassifier或FVSlicer拦截,并且调用handleIOEvent来确定是否需要进行改写与如何改写。图1是本申请一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种虚拟网络路径选择的装置。如图1所示,该方法100包括:步骤110,修改FlowVisor的代码扩展出虚拟新分片的网络路径;步骤120,将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息;步骤130,判断控制器发送的消息目的地是否需要改写;步骤140,是,则对控制器发送到源分片的信息进行IP地址和端口的改写,对应到新分片的对应物理资源上。可选地,作为本申请一个实施例,所述将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息,包括:新建一个资源配置与源分片相同的新分片;将新建的新分片与源分片各个交换设备一一匹配,包括端口号和flowspace的匹配),为之后复制流表项和链接提供条件;将源分片上所有的流表项复制到新分片上。在这里,需要实现一个通过FVClassifier和FVSlicer来获取一个交换机上属于一个分片的所有流表项的函数,我们在FVClassifier中实现,它返回一个FVFlowStatisticsReply列表,表示所有的流表项。在将源分片的流表项复制到新分片的过程中,需要检查所有匹配规则和操作所对应的资源是否需要用映射中的目的资源来取代。比如,在源分片中存在流表项:<match:src=IPAddr_1,action:out_port=2>在目的分片中要修改成:<match:src=IPAddr_2,action:out_port=2>其中,IPAddr_1和IPAddr_2是源分片与目的分片中对应的两个IP地址。可选地,作为本申请一个实施例,所述对控制器发送到源分片的信息进行IP地址和端口的改写,对应到新分片的对应物理资源上,具体包括:(1)在网络路径选择完成后,不删除源分片,而是删除上面所有的流表项和流空间,并且在FVSlicer这一数据结构内加入一个字段,叫做isZombie。如果一个分片被移动,则它所对应的所有FVSlicer将isZombie设置为true。另外加入一个字段redirection,指向在移动过程中与其对应的虚拟新分片FVSlicer。此外,我们还需要建立在该FVSlicer和移动后的FVSlicer中的具体端口和两个分片的对应关系。如之前所述建立三个哈希表,将规则按照哈希表中的对应关系复制到新的FVSlicer中。(2)在FVSlicer的handleIOEvent中加入代码判断它是否为zombieslicer,如果是,则需要调用其redirection的handleIOEvent。在调用之前对该信息进行改写,改写逻辑与之前的复制逻辑相同。改写结束后调用其redirection的handleIOEvent。(3)与FVSlicer类似,在FVClassifier中也设置一个isRedirectable字段,与FVSlicer中的isZombie对应。收到控制器发送的消息时处理过程与FVSlicer互逆。图2示出了本申请一个实施例的装置的示意性框图。如图2所示,该装置200包括:扩展单元210,所述扩展单元用于修改FlowVisor的代码扩展出虚拟新分片的网络路径;修改单元220,所述修改单元用于将虚拟新分片的交换设备对上层暴露的信息修改为源分片的信息;判断单元230,所述判断单元用于判断控制器发送的消息目的地是否需要改写;确定单元240,用于当控制器发送的消息目的地需要改写时,对控制器发送到源分片的信息进行IP地址和端口的改写,对应到新分片的对应物理资源上。可选地,作为本申请一个实施例,所述修改单元具体用于:新建一个资源配置与源分片相同的新分片;将新建的新分片与源分片各个交换设备一一匹配;将源分片上所有的流表项复制到新分片上。图3为本发明实施例提供的一种受控终端300的结构示意图,该受控终端300可以用于执行本申请实施例提供的虚拟网络路径选择的方法。其中,该受控终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。处理器310为存储设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器可以由集成电路(IntegratedCircuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(CentralProcessingUnit,简称CPU)。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。通信单元330,用于建立通信信道,从而使所述存储设备可以与其它设备进行通信。接收其他设备发送的用户数据或者向其他设备发送用户数据。本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:randomaccessmemory,简称:RAM)等。本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者第二设备、网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1