跨子网在线迁移时虚拟机网络连接重定向方法

文档序号:7698254阅读:152来源:国知局
专利名称:跨子网在线迁移时虚拟机网络连接重定向方法
技术领域
本发明涉及虚拟机技术,尤其涉及一种跨子网在线迁移时虛拟机网络连 4妾重定向方法。
背景技术
在互联网技术飞速发展的背景下,分布式环境下的计算日益显出其重要 性和广泛的应运需求。但是,广域分布的物理资源层的动态性和异构性又是 不可改变的现实,因此,传统的计算模式正在显示出其越来越多的局限性。 在传统的计算模式中,软件以紧耦合的方式绑定在底层硬件上,无论是单机 模式,多机协同模式,还是集群等网络化模式,都与硬件资源的异构性、动 态性和分布性等特点有着很大的矛盾。于是,新的计算模式一一虛拟计算技 术应运而生。
利用虚拟化技术,可以有效地屏蔽硬件的异构性对上层软件的影响。同 时虚拟机还具有隔离软件的作用,部署在同一个物理主机上不同虛拟机里的 软件可以相互没有影响地运行。现在,硬件资源的更新换代的速度非常快, 并且可能出现硬件故障、设备停机维修等问题。面对硬件资源时常出现的诸 多问题,虛拟机的在线迁移技术就自然被提了出来。利用在线迁移技术,可 以应对硬件的动态性带来的挑战,让上层软件运行的运行状态无需感知底层 硬件资源的变化。而在复杂的网络环境下,如何能够快速、透明地让虚拟机 在网络间移动,从而能够构建灵活、虚拟的网络拓朴,进而屏蔽掉硬件资源 的分布性对软件运行的影响,这就必须要研究如何利用各种虚拟网络连接重 定向技术。
目前,如何实现虚拟机跨子网在线迁移时的网络连接重定向已成为一个
3热点研究问题。
现有技术一提供一种虚拟专有网络(Virtual Private Network,简称 VPN )技术方案,该方案在虚拟机的源端主机和迁移之后所在目的端主机之间 建立一个VPN通道,这样,迁移之后的虛拟机就可以通过VPN通道连接到源 端主机所在的网络中,这样就可以对虚拟才几透明,网络访问方式不用发生变 化。但是这种方案带来的问题是虚拟机迁移后,源端主机仍然需要转发网 络和虚拟机交互的报文,这会增加源端主机的工作负荷,从而会降低整个环 境的运行性能。
现有技术二提供一种动态IP隧道配置方法,具体为虚拟机迁移到新的 子网之后,虚拟机所在的物理主才几和外部通信对端之间动态地建立一个隧道。 该方法的缺点是隧道的配置行为不能对外部的通信节点保持透明。
现有技术三提供一种移动IP技术,该技术将虚拟机看作网络中的移动节 点,迁移过程中让虚拟机运行移动IP协议栈,从而实现在不同子网之间迁移, 达到继续保持通信的目的。但是,该方案需要在虚拟机中安装移动IP协议栈, 即需要修改虚拟机操作系统。

发明内容
本发明的目的在于针对现有技术中存在的问题,提供一种跨子网在线迁 移时虚拟机网络连接重定向方法,不需要修改虚拟机操作系统,能够在虚拟 机迁移过程中保持虚拟机的IP地址不变,保持虚拟机迁移对运行在虛拟机中 的程序的透明性,并且能够减小源端主机在虚拟机迁移后转发网络和虛拟机 交互的报文的负荷。
为了实现上述目的,本发明提供了 一种跨子网在线迁移时虚拟机网络连 接重定向方法,包括
步骤l、虛拟机从第一子网迁移到第二子网;
步骤2、设置在所述第二子网中的外部代理向设置在所述第一子网中的家乡代理发起注册请求;
步骤3、所述家乡代理在接收到所述注册请求后,建立与所述外部代 理之间的双向l丈据传输隧道;
步骤4、将通信对端欲发送到所述虚拟机的数据先发送给所述家乡代 理,并由所述家乡代理通过所述双向数据传输隧道发送给所述外部代理, 所述外部代理将接收到的数据发送给所述虚拟机。
本发明提供跨子网在线迁移时虚拟机网络连接重定向方法,建立起了 第一子网中的家乡代理和第二子网中的外部代理之间的双向数据传输隧 道,这样,通信对端如果有数据需要发送给迁移后的虚拟机,那么可以先 发送给家乡代理,然后家乡代理通过双向数据传输隧道将数据发送给外部 代理,然后再由外部代理将数据发送给虚拟机,实现了虛拟机网络连接的 重定向。在该过程中,虚拟机的IP地址不改变,可以保证对于运行在虚 拟机中的程序的透明性,并且保持与迁移后的子网外部的通信节点之间友 好的通信。在虚拟机迁移后,虚拟机网络的重定向是由设置在第一子网中 的家乡代理和设置在第二子网中的外部代理来实现,无需虛拟机的参与, 这样可以保证虚拟4几迁移时网络重定向过程对虚拟才几是透明的,并且在网 络重定向后,第二子网外部的通信对端发送给虛拟机的数据可以通过家乡 代理和外部代理之间转发,无需第一子网中的源端主机参与数据转发,克 服了现有技术中虚拟机迁移后需要远端主机转发数据造成源端主机负荷 增大的缺陷。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图l所示为本发明跨子网在线迁移时虛拟机网络连接重定向方法实施 例一流程图2所示为本发明跨子网在线迁移时虚拟机网络连接重定向系统结构示意图3所示为本发明跨子网在线迁移时虚拟机网络连接重定向方法实施 例二流程图。
具体实施例方式
如图1所示为本发明跨子网在线迁移时虚拟机网络连接重定向方法实 施例一流程图,包括
步骤l、虚拟机从第一子网迁移到第二子网;
步骤2、设置在第二子网中的外部代理向设置在第一子网中的家乡代 理发起注册请求;
步骤3、家乡代理在接收到注册请求后,建立与外部代理之间的双向 数据传输隧道;
步骤4、将通信对端欲发送到虚拟机的数据先发送给家乡代理,并由 家乡代理通过双向数据传输隧道发送给外部代理,外部代理将接收到的数 据发送给虛拟机。
通过以上的方法,建立起了第一子网中的家乡代理和第二子网中的外 部代理之间的双向数据传输隧道,这样,通信对端如果有数据需要发送给 迁移后的虛拟机,那么可以先发送给家乡代理,然后家乡代理通过双向数 据传输隧道将数据发送给外部代理,然后再由外部代理将数据发送给虛拟 机,实现了虛拟机网络连接的重定向。在该过程中,虚拟机的IP地址不 改变,可以保证对于运行在虚拟机中的程序的透明性,并且保持与迁移后 的子网外部的通信节点之间友好的通信。在虚拟机迁移后,虛拟机网络的 重定向是由设置在第一子网中的家乡代理和设置在第二子网中的外部代 理来实现,无需虛拟机的参与,这样可以保证虚拟机迁移时网络重定向过 程对虚拟机是透明的,并且在网络重定向后,第二子网外部的通信对端发 送给虚拟机的数据可以通过家乡代理和外部代理之间转发,无需第 一 子网中的源端主机参与数据转发,克服了现有技术中虚拟机迁移后需要远端主 机转发数据造成源端主机负荷增大的缺陷。
下面详细介绍本发明跨子网在线迁移时虚拟才几网络连接重定向方法 实现流程。
如图2所示为本发明跨子网在线迁移时虚拟机网络连接重定向系统结构 示意图,在该系统中,家乡代理211设置在第一子网21中,外部代理221设 置在第二子网22中;家乡代理211用于维护虚拟机地址绑定消息,同时,作 为双向数据传输隧道的一端,进行数据封装和解封装;外部代理221用于发 现虚拟机的网络接入,向家乡代理发起注册请求,同时作为双向数据传输隧 道的一端,进行数据封装和解封装。通信对端24和虚拟机23之间进行通信。
图2所示的系统中,首先,虚拟机发起从第一子网的源端主机到第二 子网的目的端主机的迁移,虚拟机继续在源端主机上运行,然后虚拟机迁 移结束,虚拟机停止在源端主机上运行,虛拟机网络连接中断。
然后,虚拟才几在目的端主机上启动,并开始启动虛拟4几网络。如图3 所示为本发明跨子网在线迁移时虚拟机网络连接重定向方法实施例二流
程图,包括
步骤IOI、虛拟机启动网络,激活外部代理的注册请求功能。 步骤102、外部代理将虚拟机的IP地址(Home Address,简称HoA )、 外部代理本身的IP地址(Care-of Address,简称CoA)、本次注册的有 效期(Lifetime)字段以及验证信息(Identification)等虛拟机的注册 信息封装到用户数据净艮协议(User Datagram Protocol,简称UDP )报文 中,封装后的UDP才艮文称作代理注册请求(Proxy Registration Request, 简称PRRQ)报文,然后向家乡代理发送该PRRQ报文。
步骤103、家乡代理收到外部代理发送的PRRQ报文,解析出虚拟机和外 部代理的IP地址,并通过分析马全证信息(Identification),对该PRRQ才艮 文进行正确性验证,如果验证通过,则执行步骤104;否则,执行步骤109。步骤104、家乡代理判断PRRQ报文中的有效期(Lifetime)字段的值 是否大于0,如果有效期(Lifetime)字段的值大于0,则表明该PRRQ报 文是注册请求,执行步骤105;如果有效期(Lifetime)字段的值小于等 于0,则表明该PRRQ报文是解除注册请求,执行步骤lll。
步骤105、家乡代理查询地址绑定信息数据库,判断是否存在虚拟机 的IP地址信息,如果已经存在该虚拟机的IP地址信息,则按照PRRQ报 文中有效期(Lifetime)字段的值更新地址绑定信息数据库中的有效期 (Lifetime)字段的值,执行步骤107;否则,执行步骤106。
步骤106、家乡代理在地址绑定信息数据库中增加虚拟机的(HoA, CoA,有效期(Lifetime))条目。
步骤107、家乡代理构造注册应答报文,即代理注册应答(Proxy Registration R印ly,简称PRRP)报文,在该PRRP冲艮文中填入新的验证 信息(Identification)、虛拟机IP地址(该虚拟才几的IP地址与PRRQ 报文中的虚拟机的IP地址相同)、家乡代理的IP地址、注册成功标志等 信息,将该PRRP报文发送给外部代理。同时,建立起从家乡代理到外部 代理之间的双向数据传输隧道,更新有关虚拟机的IP地址的路由信息, 虚拟机网络连接恢复。
步骤108、外部代理分析收到的PRRP报文,发现注册成功,如果是第 一次注册成功,则外部代理更新有关HoA的路由信息。然后外部代理周期 性向家乡代理发起注册更新,用于延长注册请求中的虚拟机注册信息的有 效期,即重复执行步骤102;通过重复执行步骤102向家乡代理发起注册 更新时,具体地可以周期性地向家乡代理发送步骤102中的PRRQ报文, 两次PRRQ报文发送的时间间隔应当小于在前一次发送的PRRQ报文中的有 效期(Lifetime)字段的值,这样可以达到延长注册请求中的虚拟机的注 册信息的有效期的目的。
步骤109、家乡代理构造PRRP报文,其中填入注册失败标志,将PRRP报文发送给外部代理。
步骤110、外部代理分析收到的PRRP报文发现注册失败,重新发起注 册请求,执行步骤102。
步骤lll、家乡代理在地址绑定信息数据库中删除该虚拟机的(HoA, CoA,有效期(Lifetime))条目。
如果虚拟机停止运行或迁移出第二子网,则会激活外部代理发起虛拟 机解除注册功能。外部代理将虚拟机的IP地址(HoA)、外部代理本身的 IP地址(CoA)、有效期(Lifetime )字段以及'睑证信息(Identification) 等封装到UDP报文中,即PRRQ报文,并将其发送给家乡代理。PRRQ报文 中有效期(Lifetime)字段的值设置为0,表明该PRRQ报文是请求解除注 册的报文。家乡代理在收到该用于接触注册的PRRQ报文后,在地址绑定 信息数据库中删除该条虛拟机的(HoA, CoA,有效期(Lifetime))条目, 家乡代理删除关于该虛拟机的HoA路由信息,删除双向数据传输隧道。
在步骤101虚拟机启动网络的同时,家乡代理在后台进程中会等待来自 外部代理的PRRQ报文,同时家乡代理在后台进程中维护一个解除注册事件队 列,如果有到期解除注册事件,则家乡代理在地址绑定信息数据库中删除该 解除注册事件中涉及到的(HoA, CoA,有效期(Lifetime))条目。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种跨子网在线迁移时虚拟机网络连接重定向方法,其特征在于,包括步骤1、虚拟机从第一子网迁移到第二子网;步骤2、设置在所述第二子网中的外部代理向设置在所述第一子网中的家乡代理发起注册请求;步骤3、所述家乡代理在接收到所述注册请求后,建立与所述外部代理之间的双向数据传输隧道;步骤4、将通信对端欲发送到所述虚拟机的数据先发送给所述家乡代理,并由所述家乡代理通过所述双向数据传输隧道发送给所述外部代理,所述外部代理将接收到的数据发送给所述虚拟机。
2、 根据权利要求1所述的跨子网在线迁移时虛拟机网络连接重定向方法,其特征在于,所述注册请求中包括所述虚拟机的IP地址、所述外部代理的IP地址以及本次注册的有效期。
3、 根据权利要求2所述的跨子网在线迁移时虚拟机网络连接重定向方法,其特征在于,还包括所述外部代理周期性地向所述家乡代理发起注册更新,延长所述注册请求中的虚拟机注册信息的有效期。
4、 根据权利要求2所述的跨子网在线迁移时虛拟机网络连接重定向方法,其特征在于,所述步骤2具体包括所述外部代理将所述虚拟机的IP地址、所述外部代理的IP地址、本次注册的有效期以及验证信息封装在用户数据报协议报文中,并将所述用户数据报协议报文发送给所述家乡代理。
5、 根据权利要求4所述的跨子网在线迁移时虚拟机网络连接重定向方法,其特征在于,所述步骤3具体包括所述家乡代理验证接收到的所述用户数据报协议报文中验证信息的正确性,如果所述验证信息正确,并且所述用户数据报协议报文中所述有效期的值大于0,则所述家乡代理根据从所述用户数据报协议报文中解析出的所述虚拟机的IP地址和所述外部代理的IP地址,建立与所述外部代理之间的双向数据传输通道。
全文摘要
本发明涉及一种跨子网在线迁移时虚拟机网络连接重定向方法,包括步骤1.虚拟机从第一子网迁移到第二子网;步骤2.设置在第二子网中的外部代理向设置在第一子网中的家乡代理发起注册请求;步骤3.家乡代理在接收到注册请求后,建立与外部代理之间的双向数据传输隧道;步骤4.将通信对端欲发送到虚拟机的数据先发送给家乡代理,并由家乡代理通过双向数据传输隧道发送给外部代理,外部代理将接收到的数据发送给所述虚拟机。本发明提供的方法,无需改变虚拟机的操作系统,能够保证虚拟机跨子网迁移时网络重定向过程中对虚拟机的透明性,并且能够克服现有技术中通过源端主机转发通信对端与虚拟机之间的数据造成源端主机负荷增大的缺陷。
文档编号H04L12/56GK101465812SQ200910076229
公开日2009年6月24日 申请日期2009年1月6日 优先权日2009年1月6日
发明者怀进鹏, 博 李, 沁 李, 沃天宇, 温抿雄, 胡春明 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1