CN103905303B - 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 - Google Patents
一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN103905303B CN103905303B CN201210589710.3A CN201210589710A CN103905303B CN 103905303 B CN103905303 B CN 103905303B CN 201210589710 A CN201210589710 A CN 201210589710A CN 103905303 B CN103905303 B CN 103905303B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- migration
- forwarded
- forwarding unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种虚拟机VM跨网迁移后的数据处理方法、装置及系统,包括:转发设备识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;转发设备将源IP地址和/或目的IP地址与VM迁移表进行匹配;当目的IP地址与VM迁移表中的迁移前地址相匹配时,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据;当源IP地址与VM迁移表中的迁移后地址相匹配时,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据,实现了虚拟机的跨子网迁移,使得迁移后的IP地址可以灵活配置。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机VM跨网迁移后的数据处理方法、装置及系统。
背景技术
数据中心是各种IT应用服务的提供中心,集成了数据计算、交换、存储网络。随着数据中心业务的扩张、CAPEX和OPEX的急剧增加,虚拟化技术的应运而生,需要通过将物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,从而使所有的资源都透明地运行在各种各样的物理平台上,且使资源管理也都将按逻辑方式来进行,进一步实现资源的全自动化分配。
应用服务器虚拟化技术,是指一个PS(Physics Servers,物理服务器)可以虚拟出多个虚拟机(Virtual Machine,VM),其中,一台PS上可以同时运行若干个VM。它的一个重要功能是满足VM迁移的需求,VM可以在不关闭的前提下从一台物理服务器在线迁移到另一台物理服务器,其内存和业务建立状态在迁移前后保持一致。为了保持既有数据连接,目前的虚拟机迁移技术要求VM迁移前后的IP地址保持一致。对于一个启用三层功能的数据中心,由于存在三层子网边界问题,VM将不可以进行跨子网的迁移。如果消除子网壁垒,则要求VM处在同一个二层域内,但这又会导致网络中出现大量的广播报文,使得二层网络不具备灵活扩展性。为了解决数据中心传统二层和三层组网的问题,又提出了一些虚拟大二层网络技术,大致分为两派:以NVGRE、VXLAN为代表的IT方案在三层网络内通过MAC in IP的隧道方式实现二层互通,而以TRILL为代表的CT方案则借鉴路由协议思想,通过动态协议扩展实现大二层网络。
SDN(Software Defined Network,软件定义网络)是一种新兴的可编程网络架构,目的是实现控制与转发分离。过去和网络设备间耦合的网络控制功能被转移到了集中化的服务器,使得对于上层应用,底层网络设施可以抽象成一个逻辑或虚拟实体。SDN架构从上到下可以分为应用层、控制层和基础设施层三层。中间的控制层物理服务器(群)和其上运行的SDN控制软件,完成网络控制功能。控制层下的基础设施层为网络设备,完成数据平面转发。控制层通过标准的协议接口(如OpenFlow)与基础设施层通信,采用OpenFlow时网络设备通常为支持OpenFlow的交换机。控制层向上通过开放API与应用层通信,这样不同的应用通过控制层开放的管理能力就可以控制设备的报文转发功能。
OpenFlow交换机通过使用流表来处理数据,流表中的每一条目都定义了一种数据流及其操作方式。流表条目包括三部分:匹配字段设定匹配条件以定义某一数据流,操作字段定义交换机应如何处理数据包,统计字段记录数据流的包数、字节数、时间等统计信息。典型的流表条目结构如图1所示。OpenFlow交换机还应具备安全的接口通过OpenFlow协议与控制层双向传递指令和数据包。
然而,随着数据中心业务扩张和租户的逐步引入,以及管理和维护的需要,租户极有可能拥有多个子网,那么就需要考虑VM跨越子网边界从一个子网内的一台物理服务器迁移到另一个子网内的一台物理服务器的问题。对于不改变IP地址的前提,为了实现VM迁移,网络需要具备大二层特性,而这将带来广播泛滥的扩展性问题。另外,对于应用NVGRE、VXLAN等技术,将会使得服务器需要参与转发过程,增加了其复杂性;对于应用TRILL等技术,则需要对二层转发方式进行整体的修改。
发明内容
本发明实施例的目的在于提供一种虚拟机VM跨网迁移后的数据处理方法、装置及系统,通过将VMM记录的不同映射关系发送到NCS,使得NCS下发了不同的数据转发策略,实现了VM的跨子网迁移。
为了达到上述目的,本发明实施例提供了一种虚拟机VM跨网迁移后的数据处理方法,包括:
转发设备识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址;
所述转发设备将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;
当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据;
当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据。
本发明实施例提供了一种转发设备,该设备包括:
识别模块,用于识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址;
匹配模块,用于将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;
转发模块,用于当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据,或当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据。
本发明实施例提供了一种虚拟机VM跨网迁移后的数据处理系统,包括:转发设备,以及NCS;
转发设备,用于识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址;将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据;当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据;判断接收到的需要进行转发的数据的转发方向;感知所述VM发生迁移;
NCS,用于接收VMM发送的通知消息;向所述转发设备发送所述VM发生迁移的通知消息。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明的技术方案,转发设备识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址,并将源IP地址和/或目的IP地址与VM迁移表进行匹配,当目的IP地址与VM迁移表中的迁移前地址相匹配时,将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据,当源IP地址与VM迁移表中的迁移后地址相匹配时,将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据,实现了虚拟机VM的跨子网迁移,使得迁移后的IP地址可以灵活配置。
附图说明
图1是现有技术中OpenFlow交换机下的典型流表条目结构图;
图2是本发明实施例提供的虚拟机迁移的流程示意图;
图3是本发明实施例一提供的虚拟机VM生成的流程示意图;
图4是本发明实施例二提供的虚拟机VM由子网A迁移到子网B的流程示意图;
图5是本发明实施例三提供的虚拟机VM由子网B迁移到子网C的流程示意图;
图6是本发明实施例四提供的虚拟机VM由子网C迁移到子网A的流程示意图;
图7是本发明实施例五提供的虚拟机VM删除的流程示意图;
图8是本发明实施例六提供的在传统网络架构下,虚拟机VM由子网A迁移到子网B的流程示意图;
图9是本发明实施例提供的一种转发设备的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
由于每一个子网上都有一台PS,因此在本发明实施例中,不同的子网A、子网B、子网C上的PS分别为PS1、PS2、PS3,VM的主IP地址为VM建立时获取的初始IP地址。
如图2所示,为本发明实施例提供的虚拟机VM跨网迁移后的数据处理的方法流程图,该流程包括:
步骤201,转发设备识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址。
由于本发明实施例所提出的数据处理方法是应用在发生了VM跨网迁移的场景中,因此,需要通过本步骤来识别哪些数据是涉及发生迁移的VM的,包括发送给该VM,以及该VM发送的数据。
由于网络侧并不知道VM因发生跨网迁移而导致了自身IP地址的变化,因此,发送给该VM的数据的目的IP地址仍旧会是发生迁移之前的IP地址,如果转发设备不作任何处理,由于该IP地址所对应的VM已经发生了迁移,则该数据将无法转发或转发失败;相反地,迁移后的VM所发送的数据的源IP地址变更为了迁移之后的IP地址,如果转发设备不作任何处理而直接转发,则接收到该数据的设备会无法确定数据的发送端为该VM,从而导致会话出错,因此,转发设备需要找到上述两种数据,并进行进一步处理。
在具体的应用场景中,本步骤的处理包括两种处理方案:
方案一、识别所有数据的源IP地址和目的IP地址。
转发设备识别接收到的所有需要进行转发的数据的源IP地址和目的IP地址。
这样的处理方案,是对所有需要进行转发的数据的无差别识别,无需分辨数据发送方向。
方案二、根据不同的数据转发方向,确定所识别的地址类型。
这样的处理方案,则是根据数据发送方向,有选择的进行相应的地址类型的识别,对于对所有需要进行转发的数据的无差别识别,无需分辨数据发送方向。
首先,转发设备判断接收到的需要进行转发的数据的转发方向。
如果判断需要进行转发的数据是由VM发送给网络侧的,转发设备识别需要进行转发的数据的源IP地址。
如果判断需要进行转发的数据是由网络侧发送给VM的,转发设备识别需要进行转发的数据的目的IP地址。
需要说明的是,在实际应用中,可以根据具体的场景需要选择应用上述的哪种方案,这样的变化并不会影响本发明的保护范围。
步骤202,建立VM迁移表,具体包括:
转发设备在感知到VM发生迁移后,获取VM的主IP地址和迁移后的IP地址,以主IP地址为迁移前地址,以VM迁移后的IP地址为迁移后地址,建立VM迁移表。
具体的,考虑到VM连续进行迁移的可能性,VM迁移表的建立方式中可以进一步引入覆盖更新机制,具体说明如下:
当转发设备确定需要进行VM迁移表的建立处理时,首先识别当前已经建立的各VM迁移表,判断是否存在迁移后地址与VM迁移前的IP地址相一致的VM迁移表,即判断该VM之前是否已经存在了迁移记录。
如果判断结果为是,即该VM在之前已经进行过迁移,而本方案为了保证会话的正常进行,只需要记录该VM迁移前的IP地址,以及最后一次迁移之后的IP地址,而对中间状态的IP地址则不需要进行记录,因此,转发设备以VM迁移后的IP地址替换识别到的VM迁移表的迁移后地址,更新VM迁移表。
如果判断结果为否,即该VM在之前没有进行过迁移,需要建立新的迁移记录,因此,转发设备以主IP地址作为迁移前地址,以VM迁移后的IP地址为迁移后地址,建立新的VM迁移表。
在具体应用场景中,转发设备感知VM发生迁移的方法,具体包括:
NCS(Network Control System,网络控制系统)发送VM发生迁移的通知消息到转发设备;
VM迁移后上报VMM,上报信息至少包含VM的主IP地址和VM迁移后的IP地址,VMM通过和NCS之间的接口通知NCS对转发设备发送VM发生迁移的通知消息;
VM发生迁移后直接上报迁移信息给转发设备,上报信息至少包含VM的主IP地址和VM迁移后的IP地址。
在实际的应用场景中,具体采用哪种或哪几种方式进行迁移感知可以根据实际需要进行选择和设定,这样的变化并不会影响本发明的保护范围。
步骤203,转发设备将源IP地址和/或目的IP地址与VM迁移表进行匹配。
当目的IP地址与VM迁移表中的迁移前地址相匹配时,则表明该需要进行转发的数据是网络侧发送给迁移后的VM的,执行步骤204;
当源IP地址与VM迁移表中的迁移后地址相匹配时,则表明该需要进行转发的数据是迁移后的VM发送给网络侧的,执行步骤205;
当源IP地址和目的IP地址与VM迁移表中的地址信息均不相匹配时,则表明该需要进行转发的数据与迁移后的VM无关,可能是网络侧与未发生迁移的VM之间交互的数据等,执行步骤206。
步骤204,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据。
步骤205,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据。
步骤206、转发设备直接转发需要进行转发的数据。
由于该需要进行转发的数据与迁移后的VM无关,即数据的发送端和接收端没有发生变化,只需要正常转发即可,无需进行地址修改。
在本实施例中,转发设备识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;转发设备将源IP地址和/或目的IP地址与VM迁移表进行匹配;当目的IP地址与VM迁移表中的迁移前地址相匹配时,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据;当源IP地址与VM迁移表中的迁移后地址相匹配时,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据,实现了虚拟机VM的跨子网迁移,使得迁移后的IP地址可以灵活配置。
下面以几个具体的实施例分别对上述本发明中不同应用场景下的VM生成、迁移以及删除过程做详细的阐述,但并不局限于下述实施例。由于每一台PS上可以同时运行若干个VM,下述本发明实施例中以一台VM来做具体的阐述。
当本发明应用于SDN网络架构下,该转发设备可以是交换机,下述为本发明实施例中的VM生成、迁移以及删除的过程。
实施例一
参见图3,为本发明实施例提供的虚拟机VM生成的流程示意图,该流程可包括:
步骤301,PS1根据VMM的指令创建VM。
该步骤中,VMM向PS1发送一个VM的创建指令,PS1根据该指令创建VM。
其中,VMM是指由虚拟机管理员操作的集中化管理平台,与服务器交互来实现对虚拟机的管理,从而完成虚拟机的创建、删除和迁移等指令的下发,并通过接口与NCS进行信息交互;
NCS是指由网络管理员操作的集中化管理平台,与交换机交互来完成转发策略的下发,以及对交换机上报信息的处理,并通过接口与VMM进行信息交互。
步骤302,PS1在创建VM后,分配IP地址给该VM,该IP地址为VM的主IP地址。
其中,由于VM是新创建的,并没有做过任何的迁移,所以将此IP地址作为该VM的主IP地址,设此主IP地址为10.1.0.1。
步骤303,PS1根据该创建后的IP地址发送通告,以告知其主IP地址。
步骤304,VMM在接收到该通告后,记录该VM及其IP地址,并发送通知消息到NCS,以使NCS得到该VM创建的消息。
该步骤中,NCS得到VM创建的消息,可以是VMM通过与NCS间的接口发送消息得到的,还可以由与NCS连接的具备虚拟感知功能的接入交换机进行上报得到的。
步骤305,NCS根据获取的该通知消息下发数据发送策略到交换机S0。
具体的,NCS在获取到该通知消息后,根据该通知消息下发流表条目。
其中,由于与VM、NCS连接的交换机有若干个,此处以其中的一个交换机S0做具体阐述,下表为交换机S0的流表条目。
表1交换机S0的流表条目
其中,根据上述流表条目,可以知道,目的IP地址为10.1.0.1,端口IP为4。对于发送到主IP地址的数据,交换机S0直接将其发送到主IP地址;对于从主IP地址发送的数据,交换机S0直接进行发送。
在本实施例中,通过VMM的创建VM指令,获取了VM的主IP地址,并通过向NCS发送通知消息,使得NCS根据该通知消息下发了数据发送策略,实现了对于数据的发送,增加了VMM管理的灵活性。
实施例二
参见图4,为本发明实施例提供的虚拟机VM由子网A迁移到子网B的流程示意图,该流程可包括:
步骤401,VMM下发迁移指令。
该步骤中,VMM下发迁移VM的指令,要求VM从初始服务器PS1迁移到目的服务器PS2。
步骤402,VM接收到该指令后,迁移到目的服务器PS2,迁移后的VM变为VM′。
步骤403,PS2为该VM′分配IP地址,该VM′的IP地址是迁移后的IP地址,为10.2.0.1。
步骤404,VMM记录该VM′的IP地址,并记录该VM′的IP地址与主IP地址的映射关系。
其中,VMM记录该VM′的IP地址,同时记录该VM迁移前后的IP地址的变化,由于该VM′迁移前为VM,所以迁移前的IP地址就是主IP地址。
步骤405,VMM向NCS发送通知消息,该消息中携带VM的迁移,以及VM迁移前后的IP地址与主IP地址。
步骤406,NCS根据获取的该通知消息下发数据转发策略到交换机S0。
具体的,NCS在获取到该通知消息后,计算交换机S0到VM′的转发路径,并下发流表更新指令,如下表所示。
表2交换机S0第一次更新后的流表条目
其中,根据上述更新后的流表条目,可以知道,上述转发策略为:对于发送到主IP地址的数据,交换机S0将其发送到VM′的IP地址;对于从VM′的IP地址发送的数据,交换机S0将数据包源IP地址由该数据的IP地址修改为主IP地址,再将该数据发送出去。
在本实施例中,通过VMM发送的第一次迁移指令,以使VM从初始服务器迁移到目的服务器,在获取VM迁移后的IP地址后,记录主IP地址与迁移后的IP地址的映射关系,使得NCS根据该映射关系下发了第一次数据转发策略,通过IP地址间的映射关系,实现了虚拟机VM的跨子网迁移,使得迁移后的IP地址可以灵活配置,增加了VMM管理的灵活性。
实施例三
参见图5,为本发明实施例提供的虚拟机VM由子网B迁移到子网C的流程示意图,该流程可包括:
步骤501,VMM下发迁移指令。
该步骤中,VMM下发迁移VM′的指令,要求VM′从初始服务器PS2迁移到目的服务器PS3。
步骤502,VM′接收到该指令后,迁移到目的服务器PS3,迁移后的VM′变为VM″。
步骤503,PS3为该VM″分配IP地址,该VM″的IP地址是VM′迁移后的IP地址,为10.3.0.1。
步骤504,VMM记录该VM″的IP地址,并记录该VM″的IP地址与主IP地址的映射关系。
其中,VMM记录该VM″的IP地址,同时记录该VM′迁移前后的IP地址的变化。
步骤505,VMM向NCS发送通知消息,该消息中携带了VM′的迁移,以及VM′迁移前后的IP地址与主IP地址。
步骤506,NCS根据该通知消息下发数据转发策略到交换机S0。
具体的,NCS在获取到该通知消息后,计算交换机S0到VM″的转发路径,并下发流表更新指令,如下表所示。
表3交换机S0第二次更新后的流表条目
其中,根据上述更新后的流表条目,可以知道,上述转发策略为:对于发送到主IP地址的数据,交换机S0将其发送到VM″的IP地址;同时删除从子网A迁移到子网B的转发策略;对于从VM″的IP地址发送的数据,交换机S0将数据包源IP地址由该数据的IP地址修改为主IP地址,再将该数据发送出去,同时删除从VM′的IP地址上发送数据的操作。
在本实施例中,通过VM的第二次迁移,使得NCS下发了第二次的数据转发策略,且通过IP地址间的映射关系,实现了在改变IP地址的情况下,VM的跨子网迁移,增加了VMM管理的灵活性。
实施例四
参见图6,为本发明实施例提供的虚拟机VM由子网C迁移到子网A的流程示意图,该流程可包括:
步骤601,VMM下发迁移指令。
该步骤中,VMM下发迁移VM″的指令,要求VM″从初始服务器PS3迁移到目的服务器PS1。
步骤602,VM″接收到该指令后,迁移到目的服务器PS1,迁移后的VM″变为VM。
其中,由于VM″迁移后变回了VM,所以该VM的IP地址未变,还是主IP地址10.1.0.1。
步骤603,VMM记录该VM迁移前后的IP地址与主IP地址的映射关系。
步骤604,VMM向NCS发送通知消息,该消息中携带了VM″的迁移,以及VM″迁移前后的IP地址与主IP地址。
步骤605,NCS根据该通知消息下发数据转发策略到交换机S0。
具体的,NCS在获取到该通知消息后,计算交换机S0到VM的转发路径,并下发流表更新指令,如下表所示。
表4交换机S0第三次更新后的流表条目
其中,根据上述更新后的流表条目,可以知道,上述转发策略为:对于发送到主IP地址的数据,交换机S0将其发送到主IP地址;同时删除对于发送到主IP地址的数据,交换机S0将其发送到VM″的IP地址的操作,以及从VM″的IP地址发送的数据,交换机S0将该数据的IP地址修改为主IP地址,再将该数据发送出去的操作。
在本实施例中,通过VM的第三次迁移,使得NCS可以根据本次迁移后VMM记录的映射关系,来下发第三次数据转发策略,使得VM可以从其他服务器迁移到初始服务器,从而实现了VM迁移的完整循环,进而更加体现了VM跨子网迁移的灵活性。
实施例五
参见图7,为本发明实施例提供的虚拟机VM删除的流程示意图,该流程可包括:
步骤701,VMM向VM所在的PS1下发删除指令。
步骤702,PS1根据该删除指令删除VM及其主IP地址。
步骤703,VMM记录该VM删除信息,并删除其上记录的VM迁移前后的IP地址以及主IP地址。
步骤704,VMM发送通知消息到NCS,该通知消息中携带了VM的删除信息。
步骤705,NCS获取该通知消息后,发送删除指令到交换机S0,以使该交换机S0删除其中的VM迁移前后的IP地址和主IP地址的流表条目。
在本实施例中,通过VM的删除,使得NCS根据VMM记录的映射关系,下发了删除策略,从而体现了VM跨子网迁移的灵活性。
当本发明应用于传统网络架构下,由于本发明实施例中的VM生成和删除过程基本与应用于SDN网络架构下的过程一致,所以下述本发明实施例仅对处于传统网络架构下的VM迁移过程做具体的阐述。其中,VM生成后所获取的IP地址为IP1,该转发设备可以是三层网络设备。
实施例六
参见图8,为本发明实施例提供的虚拟机VM在传统网络架构下由子网A迁移到子网B的流程示意图,该流程可包括:
步骤801,VMM下发迁移指令。
步骤802,VM接收到该指令后,迁移到第一目的服务器PS2,迁移后的VM变为VM′。
步骤803,PS2为该VM′分配IP地址,该VM′的IP地址是迁移后的IP地址,为IP2。
步骤804,主IP地址与该VM′的IP地址的映射关系被记录。
步骤805,根据映射关系生成数据转发策略。
该步骤中,当VMM上记录了该映射关系时,VMM发送通知消息到NCS,由NCS根据该通知消息生成数据转发策略并下发到三层网络设备,其中,该数据转发策略中携带了VM的迁移,以及IP1与IP2;当三层网络设备上记录了该映射关系时,三层网络设备根据该映射关系生成数据转发策略。
其中,该转发策略,具体包括:
当IP地址由IP1变为IP2后,对于目的IP地址为IP1的数据包,三层网络设备将数据包的目的IP地址由IP1修改为IP2地址,再转发该数据包;对于源IP地址为IP2的数据包,三层网络设备将数据包源IP地址由IP2地址修改为IP1后,在将该数据包转发出去,下表为三层网络设备迁移后的迁移表;
表5
主IP地址 | 迁移后的IP地址 |
IP1 | IP2 |
当IP地址由IP2变为IP3后,对于目的IP地址为IP1的数据包,三层网络设备将数据包的目的IP地址由IP1修改为IP3,再将该数据包发送出去;对于源IP地址为IP3的数据包,三层网络设备将数据包源IP地址由IP3修改为IP1后,再转发出去,下表为三层网络设备迁移后的迁移表;
表6
主IP地址 | 迁移后的IP地址 |
IP1 | IP3 |
当IP地址由IP3变为IP1后,对于目的IP地址为IP1的数据包,三层网络设备将数据包发送到IP1;对于源IP地址为IP1的数据包,三层网络设备将数据包直接转发,下表为三层网络设备迁移后的迁移表。
表7
主IP地址 | 迁移后的IP地址 |
IP1 | -- |
在本发明实施例中,对于不同的跨子网迁移,三层网络设备根据不同的映射关系可以生成不同的转发策略,从而实现了IP地址在虚拟机迁移前后对外的一致性。
基于与上述方法相同的构思,本发明实施例还提供了一种转发设备,其结构示意图如图9所示,包括:
识别模块91,用于识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址;
匹配模块92,用于将源IP地址和/或目的IP地址与VM迁移表进行匹配;
转发模块93,用于当目的IP地址与VM迁移表中的迁移前地址相匹配时,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据,或当源IP地址与VM迁移表中的迁移后地址相匹配时,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据。
感知模块94,用于感知VM是否发生迁移;
VM迁移表管理模块95,用于当感知模块感知到VM发生迁移后,获取VM的主IP地址和迁移后的IP地址,并以主IP地址作为迁移前地址,以迁移后的IP地址为迁移后地址,建立VM迁移表。
优选的,识别模块91,具体用于:
识别接收到的所有需要进行转发的数据的源IP地址和目的IP地址。
优选的,识别模块91,具体用于:
判断接收到的需要进行转发的数据的转发方向;
如果判断需要进行转发的数据是由VM发送给网络侧的,识别需要进行转发的数据的源IP地址;
如果判断需要进行转发的数据是由网络侧发送给VM的,识别需要进行转发的数据的目的IP地址。
优选的,感知模块感知VM发生迁移的方法,具体包括:
通过网络控制系统NCS向转发设备发送VM发生迁移的通知消息;和/或,
VM迁移后上报虚拟机管理系统VMM,上报信息至少包含VM的主IP地址和VM迁移后的IP地址,VMM通过和NCS之间的接口通知NCS对转发设备发送VM发生迁移的通知消息;和/或,
VM发生迁移后直接上报迁移信息给转发设备,上报信息至少包含VM的主IP地址和VM迁移后的IP地址。
转发设备识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;转发设备将源IP地址和/或目的IP地址与VM迁移表进行匹配;当目的IP地址与VM迁移表中的迁移前地址相匹配时,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据;当源IP地址与VM迁移表中的迁移后地址相匹配时,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据,实现了虚拟机的跨子网迁移,使得迁移后的IP地址可以灵活配置。
基于与上述方法相同的构思,本发明实施例还提供了一种虚拟机VM跨网迁移后的数据处理系统,包括:转发设备,以及NCS;
转发设备,用于识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;将源IP地址和/或目的IP地址与VM迁移表进行匹配;当目的IP地址与VM迁移表中的迁移前地址相匹配时,转发设备将需要进行转发的数据的目的IP地址修改为主IP地址,并转发需要进行转发的数据;当源IP地址与VM迁移表中的迁移后地址相匹配时,转发设备将需要进行转发的数据的源IP地址修改为主IP地址,并转发需要进行转发的数据;判断接收到的需要进行转发的数据的转发方向;感知VM发生迁移;
NCS,用于接收VMM发送的通知消息;向转发设备发送VM发生迁移的通知消息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (11)
1.一种虚拟机VM跨网迁移后的数据处理方法,其特征在于,包括:
转发设备识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;
所述转发设备将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;
当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据;
当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据;
其中,所述转发设备识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址,具体包括:
所述转发设备识别接收到的所有需要进行转发的数据的源IP地址和目的IP地址;
其中,所述转发设备将所述源IP地址和/或目的IP地址与VM迁移表进行匹配之前,还包括:
所述当所述转发设备感知到所述VM发生迁移后,所述转发设备获取所述VM的主IP地址和迁移后的IP地址;
所述转发设备以所述主IP地址作为迁移前地址,以所述VM迁移后的IP地址为迁移后地址,建立VM迁移表。
2.如权利要求1所述的方法,其特征在于,所述转发设备识别接收到的需要进行转发的数据包的源IP地址和/或目的IP地址,具体包括:
所述转发设备判断接收到的需要进行转发的数据的转发方向;
如果判断所述需要进行转发的数据是由所述VM发送给网络侧的,所述转发设备识别所述需要进行转发的数据的源IP地址;
如果判断所述需要进行转发的数据是由网络侧发送给VM的,所述转发设备识别所述需要进行转发的数据的目的IP地址。
3.如权利要求1所述的方法,其特征在于,所述转发设备感知到所述VM发生迁移的方法,具体包括:
接收网络控制系统NCS发送的所述VM发生迁移的通知消息。
4.如权利要求1所述的方法,其特征在于,所述转发设备感知到所述VM发生迁移的方法,具体包括:
接收网络控制系统NCS发送的所述VM发生迁移的通知消息,所述通知消息中携带了当所述VM迁移后上报虚拟机管理系统VMM,上报信息至少包含所述VM的主IP地址和所述VM迁移后的IP地址,所述VMM通过和NCS之间的接口向所述NCS发送的通知消息。
5.如权利要求1所述的方法,其特征在于,所述转发设备感知到所述VM发生迁移的方法,具体包括:
接收所述VM发生迁移后直接上报的迁移信息,上报信息至少包含所述VM的主IP地址和所述VM迁移后的IP地址。
6.一种转发设备,其特征在于,包括:
识别模块,用于识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;
匹配模块,用于将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;
转发模块,用于当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据,或当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据;
其中,所述识别模块,具体用于:
识别接收到的所有需要进行转发的数据的源IP地址和目的IP地址;
所述转发设备,还包括:感知模块,用于感知所述VM是否发生迁移;
VM迁移表管理模块,用于当所述感知模块感知到所述VM发生迁移后,获取所述VM的主IP地址和迁移后的IP地址,并以所述主IP地址作为迁移前地址,以所述迁移后的IP地址为迁移后地址,建立VM迁移表。
7.如权利要求6所述的转发设备,其特征在于,所述识别模块,具体用于:
判断接收到的需要进行转发的数据的转发方向;
如果判断所述需要进行转发的数据是由所述VM发送给网络侧的,识别所述需要进行转发的数据的源IP地址;
如果判断所述需要进行转发的数据是由网络侧发送给VM的,识别所述需要进行转发的数据的目的IP地址。
8.如权利要求6所述的转发设备,其特征在于,所述感知模块具体用于:
接收网络控制系统NCS发送的所述VM发生迁移的通知消息。
9.如权利要求6所述的转发设备,其特征在于,所述感知模块具体用于:
接收网络控制系统NCS发送的所述VM发生迁移的通知消息,所述通知消息中携带了当所述VM迁移后上报虚拟机管理系统VMM,上报信息至少包含所述VM的主IP地址和所述VM迁移后的IP地址,所述VMM通过和NCS之间的接口向所述NCS发送的通知消息。
10.如权利要求6所述的转发设备,其特征在于,所述感知模块具体用于:
接收所述VM发生迁移后直接上报的迁移信息,上报信息至少包含所述VM的主IP地址和所述VM迁移后的IP地址。
11.一种虚拟机VM跨网迁移后的数据处理系统,其特征在于,包括:如权利要求6-10之一所述的转发设备,以及网络控制系统NCS;
转发设备,用于识别接收到的需要进行转发的数据的源IP地址和/或目的IP地址;将所述源IP地址和/或目的IP地址与VM迁移表进行匹配;当所述目的IP地址与所述VM迁移表中的迁移前地址相匹配时,所述转发设备将所述需要进行转发的数据的目的IP地址修改为迁移后的IP地址,并转发所述需要进行转发的数据;当所述源IP地址与所述VM迁移表中的迁移后地址相匹配时,所述转发设备将所述需要进行转发的数据的源IP地址修改为主IP地址,并转发所述需要进行转发的数据;判断接收到的需要进行转发的数据的转发方向;感知所述VM发生迁移;
NCS,用于接收虚拟机管理系统VMM发送的通知消息;向所述转发设备发送所述VM发生迁移的通知消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210589710.3A CN103905303B (zh) | 2012-12-28 | 2012-12-28 | 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210589710.3A CN103905303B (zh) | 2012-12-28 | 2012-12-28 | 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905303A CN103905303A (zh) | 2014-07-02 |
CN103905303B true CN103905303B (zh) | 2018-02-23 |
Family
ID=50996460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210589710.3A Active CN103905303B (zh) | 2012-12-28 | 2012-12-28 | 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905303B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753885B (zh) * | 2013-12-30 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
CN104243265B (zh) * | 2014-09-05 | 2018-01-05 | 华为技术有限公司 | 一种基于虚拟机迁移的网关控制方法、装置及系统 |
CN105471744B (zh) * | 2014-09-19 | 2018-10-09 | 新华三技术有限公司 | 一种虚拟机迁移方法和装置 |
CN105868004B (zh) * | 2015-01-23 | 2020-10-16 | 南京中兴新软件有限责任公司 | 一种基于云计算的业务系统的调度方法及调度装置 |
CN104980354B (zh) * | 2015-06-26 | 2018-12-18 | 中国科学院大学 | 数据传输处理方法和装置 |
CN106998347A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 服务器虚拟化网络共享的装置和方法 |
CN107566319B (zh) * | 2016-06-30 | 2021-01-26 | 中央大学 | 虚拟机器即时转移方法 |
CN108964949A (zh) * | 2017-05-19 | 2018-12-07 | 中兴通讯股份有限公司 | 虚拟机迁移方法、sdn控制器及计算机可读存储介质 |
CN108023774B (zh) * | 2017-12-08 | 2021-07-16 | 锐捷网络股份有限公司 | 一种跨网关迁移的方法及装置 |
CN108111383B (zh) * | 2017-12-26 | 2021-03-19 | 北京航空航天大学 | 一种基于sdn的跨域容器虚拟网络组建方法 |
CN113691436B (zh) * | 2021-09-07 | 2023-04-18 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法及虚拟机迁移装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499993A (zh) * | 2008-01-30 | 2009-08-05 | 华为技术有限公司 | 一种认证方法、设备和系统 |
CN102185774A (zh) * | 2011-05-10 | 2011-09-14 | 中兴通讯股份有限公司 | 虚拟机无缝迁移的方法、管理器及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079307A1 (en) * | 2005-09-30 | 2007-04-05 | Puneet Dhawan | Virtual machine based network carriers |
JP5446040B2 (ja) * | 2009-09-28 | 2014-03-19 | 日本電気株式会社 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
-
2012
- 2012-12-28 CN CN201210589710.3A patent/CN103905303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499993A (zh) * | 2008-01-30 | 2009-08-05 | 华为技术有限公司 | 一种认证方法、设备和系统 |
CN102185774A (zh) * | 2011-05-10 | 2011-09-14 | 中兴通讯股份有限公司 | 虚拟机无缝迁移的方法、管理器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103905303A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905303B (zh) | 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统 | |
CN105515978B (zh) | 实现分布式路由、物理主机接入的方法及装置 | |
CN105847069B (zh) | 针对虚拟网络分组流的物理路径确定 | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
CN110301104B (zh) | 一种光线路终端olt设备虚拟方法及相关设备 | |
CN102843286B (zh) | 虚拟路由器的实现方法及系统 | |
CN102710432B (zh) | 云计算数据中心中的虚拟网络管理系统及方法 | |
CN104426680B (zh) | 数据传输方法、装置和系统 | |
CN106712988B (zh) | 一种虚拟网络管理方法及装置 | |
CN105162704B (zh) | Overlay网络中组播复制的方法及装置 | |
CN104486589B (zh) | 基于gvrp的视频监控系统中的访问方法及装置 | |
CN107306215B (zh) | 一种数据处理方法、系统及节点 | |
CN112187517A (zh) | 一种数据中心sdn虚拟路由的配置方法、平台及控制器 | |
CN104348724A (zh) | 一种支持多租户的数据转发方法和装置 | |
CN113055232B (zh) | 一种网络配置部署方法、装置与设备 | |
CN103581274B (zh) | 一种堆叠系统中报文转发方法和装置 | |
CN106790759A (zh) | 基于SDN的IPv4/IPv6转换系统和方法 | |
JPH0799836B2 (ja) | ポイント・ツー・ポイント通信ネットワークのlan仮想化方法 | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络系统 | |
JP2013197614A (ja) | マルチキャストアドレスの管理のための情報処理装置、情報処理方法及びプログラム、中継装置、中継装置のための情報処理方法及びプログラム、並びに情報処理システム | |
CN108574613A (zh) | Sdn数据中心的二层互通方法及装置 | |
CN103401954B (zh) | 虚拟dhcp的实现方法 | |
CN105490960A (zh) | Sdn架构、基于sdn架构的报文转发方法 | |
CN114553707B (zh) | 网络的拓扑信息的生成和网络故障的定界方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |