基于虚拟机的虚拟网络报文处理方法和系统的制作方法

文档序号:7701195阅读:178来源:国知局

专利名称::基于虚拟机的虚拟网络报文处理方法和系统的制作方法
技术领域
:本发明涉及虚拟网络技术,尤其涉及一种基于虛扣財几的虚拟网全MM^J:理方法和系统。
背景技术
:随着计算机和网络技术的飞i4^艮以及应用的不断深入,包括计算资源、数据资源、软件资源以刻良务资源等的各类资源大量涌现。Vf可实现各种资源的聚合和高效共享成为网络计算中的重要科学问题,虚拟^^支术则成为解决该问题开辟了新的方向。虚扣对几(VirtualMachine;以下简称VM)作为一种系统级的虚拟^^支术,在硬件与软件之间引A^拟层,屏a层硬件的异构性,为上层系统与寿欠件^^^U虫立隔离的运行环境,方便了各类资源的聚合,从而提高了硬件资源的利用率。目前,g任务的规摸和求解模式的不断;^,虚拟^4支}%^为虛拟网络技术,如因特网^r协i义(InternetProtocolSecurity;以下简称IPSec)、虚拟专用网(VirtualPrivateNetwork;以下简称VPN)等。虚拟网络的J^^原理是将虚拟网络设备的数据转发^""个转发代理,该转发^J里将数据进行封装,再通过真实的网^[专i^JiJ目标主机上,目标主机上的转发代理将》|^^的数据进4愤封装,然后转发给相应的虚拟网络设备,以实现虚拟网络设备的逻辑连通。J贿虛拟网络中进行信息管理和数据转发的方式通常包括集中式和分布式,但这两种方式各存利弊,集中式信息管理尽管较为方便,且具有良好的信息一致性,获取信息快捷等优点,但伸缩性较差,灵活性不高;分布式信息管理则获取信息的效率较低,信息更新速率较慢;集中式数据转发虽然实现结构简单,但由于复杂转发与路由工作均由服务器处理,因:tbC务器成为制约节点间数据传输效率的并^贞。当虚扣財脉通信过程中出现迁移时,迁移的源端和目的端会同时出现两个相同的虚才甜;i^竟像,即源虚才;i^口目的虚机,源虚才;l^目的虚才几的ip地ii^物Jl^kAL均相同。在迁移开始时,源虚机处于运行状态,而目的虚机处于暂停状态,而且虚拟网络中的其他虚拟节点不育B口该虚拟机的迁移状态,当其他虚拟节点向该在迁虚扣对几发送it据纟M:时,则数据报文可肖汰送到处于暂停状态的目的虚机,导致数据才Mi丢失。在迁移过程中,源虚机和目的虚机通过网络不断同步内存状态,但在最后一次内存同步时,源虚机停机,目的虚机在完成同步后切换到运行状态,当此其他虛拟节点向该在迁虚4W几发送数据报文时,则由于源虛机停才/L^导致数据才M:丟失,造成虛拟网络中断。
发明内容本发明的目的在于提供一种基于虚拟水的虚拟网全斜艮文处理方法和系统,考虑基于虛拟〖几的虚拟计算环境的特点,解决在虚扣对几迁移过程中数据报文出现丢失的问题,保障虚扣对几迁移过程中通信:^iJ:的无缝切换,保iaEjt据报文准确地送iiJlJ正确的虚扣M几,实现虚拟网络中通信的持续可靠'^i^行,同时提高信息的获取效率和数据报文的转发效率。为了实现上述目的,本发明提供了一种基于虚扣对几的虚拟网纟斜艮文处理方法,包括当接收方数据转发组件检测到接收方虚纟甜几处于迁移开始状态时,向信息J^缺送申请锁定请求;所述信息公告板根据所述申请锁定请求锁定所述信息^^板的节点信息表中所述接收方虛才甜"于应的记录,并緩存所述记^^"应的更新请求;所述接收方数据转发组件根据本地的迁移信息表判断接收到的数据报文的类型,并根據所述数据4ML的类型对数据报文进行转发和緩存。本发明还提供了一种基于虚A对几的虚拟网^^Ml处理系统,包括锁定申i射狭,用于当接收方数据转发组件才&则到所述接收方虚扣:^几处于迁移开始状态时,向所述信,|//^^^送申请锁定请求;锁定模块,用于根据所述申请锁定请求锁定所述信息^^板的节点信息表中所述接收方虚扣对"于应的记录,并緩存所述记f^t应的更新请求;第一数据才M:转发和緩存才狭,用于根据;^也的迁移信息表判断接41^的数据才M:的类型,并根据所述数据报文的类型对数据才M:进行转发和緩存。本发明提供的一种基于虚扣对几的虚拟网^l艮文处理方法和系统,针对虚拟批的虚拟计算环境的特点,设置信息/>4"板锁定机制、^f诸重发机制、才艮文重定向才几制以及迁^f言息表,当虚扣对A^迁移时,通ii^H言息^^板中对应的记^i^行锁定,并緩存该记录的更新请求,根据迁移信息表的查询结^^"数据才M:进行转发和緩存,实现了虚4甜几迁移过程中通信地址的无缝切换,保证了网络数据准确;4i^ijE确的虚拟机,透明地实现了数据才议的存储重传,保障了虚拟节点在迁移过程中的通信不中断,同时保障了虚拟网络的持续可靠化链行。同时,本发明通过信息^^fe^虚拟节点的信息进行集中式管理,实现了通过信4^^fe^"虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且育汰时反映虚拟网络的变化,通过数据转发组件对数据才Mi进行分布式转发,解除了集中式净M:转发产生的速^^f瓦颈,大大提高了数据才M:的转发效率。图1为本发明基于虚扣M几的虛拟网全斜M^:理方法第一实施例的流程图;图2为;^MI-于虚扣:^^虚拟网全斜MJ^g^法第一实施例中虚拟网全翻淋系^f勾图;图3为柳膝于虚树赠虚拟网纷M^I:财法第一实施例中細必i^J获取产湖;图4为本发明基于虚扣W几的虚拟网^^MJt理方法第二实施例的流程图;图5为本发明基于虚扣对几的虛拟网^^MJt理方法第三实施例的流程图;图6为本发明基于虚"t甜几的虚拟网^4Ml处理方法第四实施例的流程图;图7为本发明基于虚扣对几的虚拟网^^il处理方法第五实施例的流程图;图8为;^^^^于虚扣对;^虛拟网^^^:^^法第五实施例中的第-"f言息^^^t图;图9为^^M-于虚^4^J虚拟网全斜M^!:^r法第五实施例中的第二信息^5^i:图;图10为械日膝于虛树赠虚拟网纷M^h财法第六实施條繊细;图11为^^日M^于虚^甜A^虛拟网^t^l:^"法第六实施例中的第"1言息交互^t图;图12为^M&于虛"fe^^I虚拟网全斜^:S^去第六实施例中的第二信息^i^t图;图13为本发明基于虚扣对几的虚拟网^^J^]:理系统实施例的结构图。M实施方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。虚拟^t支术作为一种有效聚合资源、实现高效共享的技术,不仅可以实现动态负载均衡,还可以在底层硬^H殳备变化甚至失效时,保"ii4欠件不间断;te行,从而提高系统的可用性和可靠性。目前,虚拟^^支术已经成为当前的热点技术,学#与产业界对itt^开了大量的研发并取得了积^L选艮,代表性的工作包括Xen、KVM、Vraware和VirtualPC等。P4^"任务的规模任务的规^^求解模式的不断;^为了更Jfit应新的应用需求,必需有虚拟网^4支术的支持,将虚^对几封装的资源聚^^,动态组建所需的虚拟计算环境。例如,Amazon的ElasticComputeCloud(EC2)云计算系统t^L通过虚拟^l支术封装资源,然后利用网^1寻这些资源组织^,为用户提供可定制的虚拟计算环嫂。研究人员已经提出了多种虚拟网^4支术,如IPSec技#各种VPN^支术。其中,OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,它是一套成熟的开源虚拟专用网解决方案,利用它能够在复杂的网络环嫂(如支持穿透NAT,穿越防火墙)中建立一条虚拟通道,将位于通道两端的节点或网络连接^,组建所需的网绍^环嫂,OpenVPN使用TUN/TAP驱动私亭,将二层或者三层网络数据包传送到用户态应用程序,然后使用SSL/TLS技术加密传输,从而实现隧道功能,可以很好的保ii^:据的妙f生。0penVPN技术采用C/S结构,需辆署一个服务器,各客户^U妄连到服务器,所有的数据都通iiH务器集中转发,进而实现节点间的相互连通。W0W是佛罗里达大学的研究项目,目的是利用虚扣对几、层叠网与P2P技术将分布在广域网下的资源聚^^,组g—个可伸缩的高性能虚拟工作站。wow首先利用虚扣对;M夸分布的资源进行封装然后利用IP0P技术将这些资源聚^^。IP0P负责W0W的网络虚拟化,是它的核心技术之一。IP0P采用TUN/TAP作为Jof出,转发三层网纟##_据,即IP数据包.与0penVPN不同,IP0P采取P2P结构。IP0P没有中心服务器,它采用BrunetP2Poverlay技术管理虚拟网络中的节点,维护节点间的转发信息。IP0P中的每个转发4W^身是一个P2P结点.当需要转发IP数据包时,转发^S首先/A^叠网中取得转发信息,然后将数据包进行封装再转发出去。而N2N^—个基于P2P技术的虚拟网^^页目,其与IP0P不同,N2N在转发数据时在三层数据包中封装二层数据包(layertwooverlayerthree),组建的是二层的虚扣场域网。jtb^卜,N2N采取的是有结构的P2P技术,与IP0P中有所不同。虚拟网络技术的差^^原理是将虚拟网络设备的数据转发给一个转发代理,这个备的逻辑连通。传统的虚拟网络技术是在真实物理网络Ji^且建所需的虚拟网络环嫂,其将分布的资源聚合到同一个网络中。本发明提供的虚拟网^^MJt理方法则针对基于虚扣对几的虛拟计算环嫂的特点,考虑虚4財几可育汰生的迁移等状况,以下分别以M的实施例对本发明的技术方案进行洋细的介绍。图1为本发明基于虚扣对几的虚拟网全斜M^h理方法第一实施例的^^呈图,如图1所示,本实施例为在一般情况下虚拟网络中虚拟节点间进行通信的方法流程,此处所指的一般情况即为虚拟网络中的虚4甜几^ii行迁移的情况,本发明提出的虚扣对几迁移情况下的虚拟节点间通信M于一般情况下的通信流程的,因此,此处先对一般清况下虚拟节点间的通信进行介绍。本实施例提供的基于虚扣对几的虚拟网^tM:处理方法可以M包4^t口下步骤步骤IOI,发送方虚树几向接财虚树咸送数据狄。由于虚拟网络中各虚拟节点分布在M不同的虚^4^器中,则虚拟网络中各器间的数据净M:转发。其中,虚拟机容器(VirtualMachineContainer;以下简称VMC)为安^计算资源上的勤出组件,对硬件资源进行封装屏蔽资源的异构性。每个容器节点^W^运行多个虚扣对几实例的能力,并提供远程调用和管理接口,通iiil些接口可以对这个节点的上运行的虚扣对几实例进行控制,如远程部署、启动、停止、调整运行^t等。而虚l甜;uM尔为虚扣:^几实例,其负责封装计算资源,从资源佳月者的角;M^U虚扣对M^^—台可^^^的计算抓与真实物理才W殳有区别。本实施例分别对虚^4膝器内和虚扣对膝器间这两种数据才M:转发方式进行糾的介绍。图2为本发明基于虚如对几的虚拟网^^J^J:理方法第一实施例中虚拟网络的体系结构图,如图2所示,假i錄虚拟网络中设置有VMC1和VMC2两个虚扣对膝器,其中,VMC1中的虛拟节点包括虚扣对几vml、虚拟网桥vBridgel和数据转发组件iVic-VPN1,VMC2中包^舌虚拟才几vm2和vm3、虚拟网桥vBridge2和数据转发组件iVic-VPN2,同一虚扣对膝器中的虚拟节点通过虚拟网桥连接,^t据转发组件在虚拟网桥之间建立一个二层的通信隧道,将M分布的虚拟网桥连通,组成一个虚拟网络。信息^^^克一维护和管理虚拟网络中^^虚拟节点的信息,为^l封居转发组件进行数据转发提供信息支持。其中,数据转发组件作为一种用户态应用程序安^虚扣对膝器中,主要负责不同虚扣M膝器间虚扣:^几节点通信时的才ML转发,同时,也是实现网^^ML^f诸转发的核心组件之一。信息/^^fel^拟网络的^5出设备,其独立部署在虚拟网络中,负责发布并维护虚拟网络中各虚拟节点的信息,为数据才M:的转发提^H言息支持。本发明提供的信息^^板负责管理与维护虚拟网络中的节点信息,协助数据转发组件iVic-vpn完成Jt据才艮文的转发。这些节点信息可以包^t:虚拟节点的MAC^iit与IP地》止的对应关系,虚拟节点所在的虚扣对4器,以A^扣对几容器中数据转发组件iVic-VPN转发虚拟网绍^t据时所用的IP地址与端口的信息。*^地,BBS信息y^"板通过节点信息表(记作Nl4)和宿主才/M言息表(记作Hl4)来将这些信息组织起来。其中,NI表维护虚拟节点MAC地址与IP地址的对应关系,以及该节点所在的虚扣对^器(又称作宿主机)的ID信息,如下表l所示为节点信息表的示例。HI^JI]于维护宿主机的信息,记录宿^f几的ID编号以及运行在该宿主机上的数据转发组件VM-VPN转发虚拟网绍4t据所用的IP地址与端口,如下表2所示为宿主^4言息表的示例。<table>tableseeoriginaldocumentpage11</column></row><table>虚拟网桥是当前-Mt虛扣)^几项目的M网络组件,是一种透明的二层网络设备,负责转发二层数据净议,其可以在混杂模式下工作,动态地维护一个;4i止与网桥端口的对应表(记为AP表);根据接4i^'j的数据报文的源地址建立和更新AP表;根据接iR^的数据净ML的目的;fei止查询AP表,根据查询结果做出转发决定;当接^^j未知目的地址的数据!Mi时,则向每个接jJt^j该数据才M:的端口转发该数据才M:;在本发明的技术方案中利用虚拟网賴:连4^f立于同一虚扣財;l^器内的虚拟节点。在虚拟网络中的两个虚扣对几节点间进行数据才Mi的转发时,数据才M:由一个虚扣对几发i^jij另一个虚扣:^几,在本实施例中,发送方虚扣W几为发送数据报文的虚扣对几,接>)1^虚〗甜几为接收数据才议的虚扣对几。据转j^且件才財居接4i^的数据报文中携带的目的MAC;NkJt止查询信息^^板中的节点信息表,才財居查询结果判断接Jlt^虚扣对;^斤在的宿i^几是否与发i^"虛扣对A^斤在的虚扣对A^^相同,如斜目同,则^^f^骤103,否则才Wf^骤104。当发送方虚才甜球虚拟网络中进行ARP才M:广播^,发iil^r数据转发组件接4t^该ARP报文,发送方数据转发组件根据该ARP才议查询信,l/^^板中的节点信息ni表,其中,发^数据转发组件为发送方虚扣:M^斤在的虚扣对;i^器中对应的数据转发组件。发送方数据转发组件根据查询结果判断接收方虚扣对几所在的宿主机是否与发i^虚扣对几所在的虚扣对膝器相同,如果二者相同,则执行步骤103,否则转向扭^亍步骤104。假i汰送方虚扣对;u^斤在的虚扣对膝器为VMC1,接4t^虚:l甜几的IPi4it为192.168.32.3,则发送方数据转;^^且件根据该IP;4iit查询上ii41,获,U该IP地ib^应的宿主机ID为1,则表明接JR^虚4甜几所在的虚^4膝器也为VMC1,即经过判断,接收方虚扣M几所在的宿主机与发送方虚扣:4几所在的虚扣对膝器相同,则扭^亍后续容器内节点通信的步骤流程。假it义送方虚拟机所在的虚扣:^几容器为VMC1,接^^r虚^对几的IPi&止为192.168.32.6,则发送方数据转发组件根据该IP;lW止查询上述表l,获取到该IP地ib5t应的宿主机ID为2,则表明接^lt^r虚扣对几所在的虚纟甜;i^器为VMC2,即经过判断,接j]^r虚扣对几所在的宿主机与发送方虚^4几所在的虚扣对几容器不同,则扭行后续容器间节点通信的步骤流程。进一步地,在发送方虛扣W几向接收方虚扣对;L^行数据报文的发送之前,需要先获得接JR^"虚拟机的MAC地址,M获取目的MAC地址可以采用如图3所示的步骤,如图3为本发明基于虚扣对几的虚拟网^IMJt理方法第一实施例中物理地址的获取伊d呈图,胁包:fe^下步骤步骤301,在向接^lt^ii甜几发送数据才Ml之前,发i^虚^^碌4^ki爰存中查找与接4t^虚扣对;ut应的MAC地址,如果查找到对应的MAC地址,则扭/f亍步-骤302,否则扭/f亍步骤303。步-骤302,发送方虚扣对M艮据查找到的MAC地址,将要发送的数据才ML封装成数据帧发送出去。步骤303,发it^虚扣对几向同一虚扣对;i^器中的所有虚拟节点广播发送ARP才Ml。步骤304,发送方数据转发组件接4t^ARP才议后,根据该ARP才艮文中携带的目的IPi^kiit,在信,|/>#板的NI表中查询该目的IP:fetjb^应的宿主才;^示识,根据查同,如果是,则扭^亍步-骤305,否则扭/f亍步-骤306。步骤305,通过虚拟网桥将接收方虚拟机的MAC地址转发到发送方虚拟机,并完成数据狄的转发。步骤306,发送方数据转发组件代替接收方虚扣財几向发送方虚I財几发送一个ARP响应才M:,其中该ARP响应报文中携带有接收方虚扣对;u于应的MAC地址。步-骤103,由发i^虚拟网桥将发i^虛4甜A^送的数据才M:转发至^姿4^虚4甜几。本步骤为经过判断,宿主机与发送方虚^4几所在的虚扣:4^器相同,执行的容器内节点通信的步骤力fdi。本步骤中进行通信的两个虛扣对;M立于同一虚扣:4/i^器中,因此本步骤中的发送方虚拟网桥与接收方虚拟网桥是相同的,利用该虚4甜膝器中的虚拟网桥对完成数据报文的转发工作。当发送方虚扣M球向虚拟网络广播发送arp报文时,虛拟网桥^y妄4t^该ARP虚拟网桥向所有其他端口(除接收该ARP才M:的端口外)转发该ARP同时,虚拟网桥根据ARP报文中携带的ARP报文的源地址信息,以及接收该ARP报文的端口信息,更新AP表。同时,接4t^虛扣:^几^i刻U'J该ARP报文,通过查询信息/^板的NI表,接收方虚4財几发现该ARP报文中携带的IP地iib十应的MAC地址为自身的MAC地址时,向发送方虚扣:4^4回ARP响应才M:。发送方虚扣对;U刻t^ARP响应才M^,根据该arp响应才M:获得接收方虚^財几的MAC^i止,并更新^i^爰存。同时,虚拟网#^^姿受到接收方虚*对几向发送方虚扣"/li4回的arp才议,虚拟网桥根据该arp响应报文的目的地址查询ap表,将该ARP响应净议转发到该目的地ib^应的端口,并更新AP表。然后,发送方虛扣对几将获取到的mac地扯作为目的地jt止,将数据才M:封装成数据帧向接收方虚"t甜几发送。该数据帧先转发到虚拟网桥,虛拟网桥根据数据帧中的目的地址查询AP表,将其转发到接收方虚扣:^w十应的端口,由该端口向接收方虚扣对Mt发。接收方虚扣对几则从对应的虚拟网桥端口接4tU数据帧,^H乍出回应,实现双方的相互通信。步-骤104,发送方数据转发组件接^5ij发送方虚扣对几发送的数据才M^,冲艮据数据报文查询信息^^板中的节点信息表和宿主;N言息表,获取接收方虚扣M几所在的宿主机的ip地址和端口号,并将数据报文转发到宿主机中。本步骤为经过判断,宿主机与发送方虚扣对几所在的虚^^容器不同,执行的容器间节点通信的步骤流程。在本步骤中,两个虚^^几所在的虚4財几容器不相同,各自对应的数据转发组件和虚拟网#^不相同,其中,发送方数据转发组件为发送方虚才甜几所在虚拟容器中对应的数据转发组件,发送方虚拟网桥为发送方虚扣对几所在虚拟容器中对应的虚拟网桥,而接收方数据转发组件为接4t^虚扣对几所在虚拟容器中对应的数据转发组件,接JR^虚拟网桥为接收方虚4甜几所在虚拟容器中对应的虚拟网桥。在本步骤中,数据转发组件需要7l^旦数据才ML的转发工作,与虚拟网t起共同完成两个虚扣对;u^间的凄t据4M:的转发工作。当发送方虚扣对几发送数据4M:后,发i^数据转;Oa件接^lt^该数据才M:,根据数据才议中携带的目的ip;4i止,查询信息7>^板中的ni表,获^j'J该目的ipiik^b^应的宿主才;a示识,再根据宿主才M示识查询信息^^板中的HI表,获:^J'j该宿主才;ut应的端口号。发送方数据转发组件通ii^送方虚拟网桥将数据tM:从宿主才;wt应的端口号转发到宿主机中,M成数据转发。其中,宿主机即为接^^虚扣对几所在的虚扣对;^器。转发到接财虛树几。在将数据才M:转发到接收方虚扣对几所在的宿主才a^,宿主机中的数据转发组件接4t^发送方数据转发组件转发的数据净Mi,对该数据才M:进行解封装,得到发送方虚扣对几发送的数据帧。然后数据转发组件将该数据帧转到宿主机中的虚拟网桥,由该虛拟网桥将数据帧转发到接收方虛^M^,完成不在同一vmc中的发il^虚扣对几和接jjt^虚扣对;^间的通信。*^地,在根据数据报文查询信息^板中的节点信息表和宿主才x4言息表,获取接4t^虚扣)^^斤在的宿主机的IP地iibfp端口号之前,还可以包4^口下步骤首先,发送方数据转发组件代替接收方虚拟机向发送方虚扣財几发送地址解析协议响应报文。发送方数据转发组件在接^fij发送方虚扣:^几广播的arp才M^,通过查询信息7/^^板中的ni表,鈔口接^it^虚扣:4几与发送方虚扣对几不在同一虚^^膝器中,则发送方数据转发组件代替樹t^虚树几向发送方虚树Ail回ARP响应狄。发i^T虚扣对;W妄Jli^j该ARP响应才M^,鈔堪4t^虛4財几的MAC地址。发送方虚拟网桥根据地址解4射办议响应4议,将发送方虚"l財;u^i^JiJ接收方虚扣对几的数据才ML,转发到发a数据转发组件。发送方虚拟网桥根据发il^虚扣对;U妄"t^的arp响应净M:,自动学习到与接jfc^虚扣对几的mac:hkiib^应的端口号,并将发^j)J接4t^虚扣:^几的所有it据才M:^4争;^到该端口上,通过该端口将所有发^J'J接^^虚备对几的数据报文均转发到发i^数据转发组件,由发i^数据组件进行进一步的转发。本实施例提供了一种基于虚扣:^几的虚拟网全I^MJt理方法,当两个虚4財政间进行数据净Mi的转发时,通败送方数据组件查询信息^^板中的ni表,!^、口发送方虛扣:4^接>11^虚扣对几所在的虚扣对膝器是否相同,根据查询结果的不同进^4目应的不同才MJt理;对于同一虚扣W几容器中两个虚扣:4^间进行的通信,通过该虚拟容器中的虚拟网桥对数据才议进行转发,对于不同虛^甜;u容器中两个虚:l財;L之间进行的通信,通过两个虚扣:4^器中的数据转发组件和虚拟容器共同酉e^完M数据才M:进行转发,通过集中式信息管理和分布式数据转发,实现了通过信息^^板对虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获:^效率,而且育汰时反映虚拟网络的变化,同时,通过数据转发组件对数据才Mi进行分布式转发,解除了集中式才M:转发产生的速JUf瓦颈,大大提高了数据报文的转发效率。图4为本发明基于虚扣对几的虚拟网全斜M^t理方法第二实施例的流程图,如图4网络中,虚私:4^匀运行在一个虛扣对膝器中,当虚扣对几开始迁移时,同一时刻在迁移的源端和目的端会出现两个相同的虛扣:^4竟像分别称之为源虚机和目的虚机。源虚才脉目的虚才;u^有相同的配置,如它们拥相同的ipMiit和mac;hkJt止。当虚4甜;ui移开始时,源虚冲几处于运行状态,目的虚机处于暂停状态。当虚4甜;ui移开始后,目的虚才;iit过网络不断与源虚机同步内存状态。在絲一次内存同步时,源虚才;M亭才;is目的虛机在同步完^^切换到运行状态继续运行,完成迁移过程。迁移前后,虛4甜几一直在持续运行,只是其宿主机发生了变化。在虚扣对;ui行迁移的过程中,可能出现如下问题首先,虚4甜几迁移过程是透明的,虚拟网络中的其它节点以顺拟网將虛拟网络设施不能感知到^f可不同。在虚扣对几的迁移过程中,网络上会出现两个同样的虚扣:4、它们处在不同的虚扣:^4:器中。为了保证网络应用的一致正确的运行,虚拟网络中的节点必须在迁移完成前将数据发送到源虚扣对A在迁移完成U,将数据发送到目的虚机。然而,迁移的开始与结束时刻只有源虚机所在的虚扣:4^ll^口晓,即使目的虚机的虚扣:4几容器都无法感知。因此,虚拟网络如何帮助分布的虚拟节点完g信地址的无缝切换是实现可靠通信的挑战之一。其次,在虚拟机迁移过程中,在迁虚扣对几一直处于持续运行状态,直到M—次内存同步时才会短暂停机。然而,|^_这段停机时刻,虚拟网络中其它节点发i^它的才M:就会丢失,it^虛拟网络中断。如何实现即使在虚扣:M^豆暂停才;ut程中,网全斜M:也不丢失,网络应用能持续可靠运行M拟网络面临的另一个挑战。为了解决^W技术中存在的以上技术问题,本实施例提供了一种基于虚扣对几的虚拟网^4M^:理方法,可以M包4^口下步骤步骤401,当接"t^r数据转发组件;^则到接4t^虚扣对;L处于迁移开始状态时,向信息*城送申请锁定请求。在本实施例中,在发送方虛扣;4几向接收方虚扣对儿发送数据净艮文的过程中,接收方虚扣对几出现迁移。接4i^r数据转发组件为接jR^虛扣对球迁移之前所处的虚扣对几容器中的数据转发组件,与接收方目的端数据转^i且件相对应,接收方目的端数据转发组件为接4W虚扣:4球迁移^所处的虚扣:4^器中的数据转发组件。当接收方数据转发组件才b则到接^R^虚扣对几处于迁移开始状态时,即接收方数据转发组件发Jjy妄4t^虚"l甜^,备发生迁移时,接^^r数据转发组件向信息^^^嫂送申请锁定请求,申请锁定NI表中接j]t^虚扣:^ut应的记录。同时,接j]^r数据转发组件开始i^7v迁移工作状态。步骤402,信息^^^板根据申请锁定请求锁定节点信息表中接4t^虚扣对;u(t应的记录,并緩存记fjt应的更新请求。信息^^^刻t^申请锁定请求后,根据该申请锁定请求锁定NI表中才釗t^虚拟才;i^应的记录,不对该记^ii行更新或删除等的操作,即本^发明提出的4言息^^i^反4贞定机制。由于虚扣对几的迁移过程是透明的,虚拟网络中的^f也节点以及网^^虚拟网络设备不能感知到<封可不同,而虚扣对球迁移过程中会在源端和目的端分别出现源虛才;uf口目的虚机两个完全相同的虚4甜;u而iUt迁移完成前目的^^才几一J^J:于^H亭^R态,则当数据净Ml转发到该虚扣对几时,可能会导致数据IML不能准确iiki^iiL^角的虚扣对几。因此,采用本实施的步^t信息-^^板中接^lt^虚^4^斤对应的记^ii行锁定,当接^^虚扣对几开始迁移时,在目的端出现与接^^虛扣对M目同的虚私对几。此时,由于虚拟网络中有新的虛扣对几出现,则^j信息^^^^i^tNI表中的"l剖t^虚扣对几的i谅进#^更1^青求,而信息乂^^板的NI表中有关接^^虚4甜几的记录已经被锁定,该信息更新请求暂时不f^皮^w亍,信息乂^^反将该更新请^ii^^爰存。步骤403,接)R^数据转发组件根据本t也的迁移信息表判断接^ltJ'j的数据报文的类型,并才財居凄封居才艮文的类型^十iy居4Mii^f亍4l"iC和ll存。当发送方虚扣W几向接^^虚扣对几发送数据才M:时,根据信息>开板中公布的信息,该数据才ml被转发到接^fc^数据转J^且件上,接4彷数据转;^且件根据迁^[言息表(记为MI表)判f^亥数据4M:的类型。当;^则到接^^r虚扣对几处于迁移开始状态时,接^^数据转j^i且件在迁^^言息表中添力pit接4t^虚扣对;i^应的记录。即每当有虚扣对;t^l迁移时,则数据转;^M^H更会在迁牙^f言息表中添加一^i亥虚扣对"于应的记录,包^i亥虚扣对几的真实物S^il^口虚假物Jli也址,如下表3所示为迁寿刮言息表的示例,其中,MAC项表示在迁虚3甜几的真实物理地址,而FAKEMAC项为在迁虚扣对几的虚假物Si也址。因此,通过查询该迁#(言息表可以*某个虚扣:^几是否处于迁移状态。勤迁樹言息表<table>tableseeoriginaldocumentpage17</column></row><table>进一步地,本实施提供的基于虚扣对几的虚拟网纟斜Ml处理方法还可以包括发送方虚扣对几与接收方虚扣)^M立于同一虚扣)^^器中时,当接4t^数据转发组件4^则到接41^虚扣对几处于迁移开始状态时,接4t^r数据转发组件冒^l妄4t^虚扣对几向虚扣对膝器中的所有节点发送虚假非请求ARP才议,在虚假非请求ARP才Ml中携带接收方虚扣对几的虚假物JB也址。即本发明引入的报文重定向机制,在接4t^数据转发组件转入迁移工作状态时,该接收方数据转发组件冒^i妄收方虚扣对几向虚拟容器内的^f也虚拟节点发送一个虚假arp净ml,将接jR^虚^甜几的ip^Jtjb^应到一个虚假的MAC地址。这样,^h虛拟节点在接^^该才M^便会更新自己的ARP緩务f言息,所有发it^接^^r虚扣对几的数据IM:,C^]虚假的MAC地扯作为目的地址。同时,接收方虚拟网桥通过学习^,自动将数据净M:转发到接jfc^数据转发组件,由该接齢数据转发组件对数据狄进行转发并緩存。Jr^地,步骤403可以M为接^t^数据转发组件根据接4t^的数据才M:查询迁牙刮言息表,才財居查询结果判断数据才M:的类型。当接4i^r数据转J^且件称则到某个虛扣:4/u^迁移时,会将该虚*对几的真实物^^^止添加到迁#[言息表中;而当进行容器内节点通信时,则接^^数据转发组件^f为造的接^^虚扣对几的虚假物J忠4iiL也添加到迁^[言息表中;当虚扣对几的迁移结束之后,接》1&数据转;^且件则将该虚扣对"于应的记^it行删除。因此,接4彷数据转;1I且件通过查询迁^M言息表,可以口转发的数据净议的类型。即经过查询,如^迁牙刮言息表中未记f^数据报文中携带的目的ip地Abt应的macJ4iit,则表明该数据才M:对应的接Jlt^虚扣:4几处于正常状态,^Mi行迁移;如^迁^f言息表中记^"数据报文中携带的目的ip地》jbt应的macMi止,且该MAC;W止记絲迁^(言息表的MAC项中,则表明该数据才M^f应的接^^r虚扣对几处于迁移状态,且该接"^r虚扣对A^发iil^r虚D^U处于不同的虚扣对膝器中,该数据才议的转;^容器间节点通信;如^^迁^f言息表中记tt数据才Ml中携带的目的IP地iiL^"应的MACJ4iiL,且该MACM^止记M迁《f[言息表的FAKEMAC项中,则表明该数据IM^f应的接4t^r虚^4几处于迁移状态,且该接》)^^虚扣:4^发狄虚拟才成于同一的虛扣对;i^ll中,该数据才M:的转^;容器内节点通信。当查询结果为数据报文中携带的目的地址记#迁移信息表的真实物理地址项预设的时间段内的数据才Mi。经过查询,当查询结果为转发的数据IML中携带的目的MAC地址记录在MI表中的MAC项中,则进行容器间节点通信,接JR^数据转发组件按照该MAC:^it将该数据才ML转发到接4t^虚^^。同时,该接4&数据转发组件除了正常转发数据才M:外,还将预设的时间段内的数据净Mi进^^爰存,该预设的时间段为根据迁移过程中源虚才球与目的虚才;ui行^一次内存同步后的停机时间所设定的,通常源虛机停机的时间可以测定(通常为几秒钟),因此,接收方数据转发组件将最近一段时间(通常可以设f分冲)的才M:进^^爰存,防4源虚机停才;u^it^才M:丟失,当信息7>#板的锁定机制解除^,再将数据才M:进行转发,即本发明提出的^f诸重;^才几制。当查询结果为数据报文中携带的目的地扯记#迁^(言息表的虚假物^^也址项中时,接收方数据转发组件按照目的地it^迁移信息表中对应的真实目的i&止将数据才Mi转发到接收方虚扣对几,并緩存预设的时间段内的数据才议。经过查询,当查询结果为转发的数据报文中携带的目的MAC;W止记录在MI表中的FAKEMAC项中,则进行容器内节点通信,接^^r数据转发组件才M居目的MACi^止查询MI表中对应的真实MAC地址,接^^数据转发组件按照该真实MAC地址将数据才ML转发到接收方虚#甜几。同时,接收方数据转发组件在进行正常数据^iL的转发时,对预设的时间段内的数据报文进^i爰存。步骤404,当接^lt^数据转发组件^^则到接jfc^虚扣对几处于迁移结束状态时,向信息射缝雄關定请求。步骤405,信息^^板根据緩存的更新请求更新节点信息表中接4t^虚扣对;u^应的记录,并向虚拟网络中的所有数据转发组件发i^RH贞定请求。步骤406,接^lt^r数据转发组件根据接^Jij的解除更新请求将緩存的数据才M^劇迁移后的接^虚树几。当接收方数据转发组件^^则到接收方虚扣)^几处于迁移结束状态时,,向信息>告4嫂雄除锁定请求,信,|^#板根据该解除锁定请求解除对接收方虚扣对;^十应的记录的锁定。当锁^除后,由于锁定过程中在信息乂/^板中緩存有对接4t^r虚扣对"于应的记录的更新请求,则信,l/^^to匕时对緩存的更新请4^i行处理,根据各緩存的更新请求来更新NI表中接jjt^虚^^^j"应的记录。同时,信息>^板向虚拟网络中的所有数据转发组件发i^除锁定请求,各数据转发组件根据该解除锁定请求更新各虚拟节点的MiiH言息,并将緩存的预设的时间段内的数据IM^i^'j钱以后的接jlt^"虚扣对几。进一步地,本实施例采用信息^^tel"虚拟网络中各虚拟节点的信息进行集中M布,同时iW该信息^^板中记录的信息进^^充一的维护和管理,M包括对信息y2^^板中的信息进fr;主册、更新、删除等。M地,当^^则到虚扣对碌虚拟网络中启动时,虚扣对树应的数据转发组件向信息y^斧嫂送信息注^i青求,在信息注^i青求中携带虚4甜几的物理地址、IP地址和所在的宿主机的标识,信息^^板根才居虚扣:4几的物Si4i止、ipi4i脉所在的宿主机的标识更新所述节点信息表,并根据虚扣財几的IPMAL和端口信息更新所述宿主才A4言息表。当^r测到虛扣对腿出虚拟网络时,虚扣对树应的数据转发组件向信息乂^^缺送信息删l^奮求,根据信息删RH青求删除所述虚扣对球所述信息^^板中的记录。当检测到虚扣对几的信息胜变化时,虚扣对"于应的数据转发组件向信息^^寺嫂送信息更新请求,根据信息更新请求更新虚^对球信息^^"板中的记录。当^^则到虚扣"几处于迁移开始状态时,虚扣w树应的数据转发组件在迁移信息表中添加虚扣:^;i^f应的记录。当^*測虚扣对几处于迁移结束状态时,虚扣对树应的数据转发组^^除虚扣)^球迁移信息表中对应的记录。本实施例提供了一种基于虛扣对;i的虚拟网^4艮文处理方法,针对虚扣力几的虚拟计算环境的特点,当虚^甜几胜迁移时,通it^发明设置的bbs锁定机制、賴重发机制、才议重定向机制以及迁移信息表。当进行容器间节点通信时,通錄虚拟机迁移开始时,将该虚扣对几在BBS中对应的记录进行锁定,在BBS中緩^4十对该记录的朴更新请求,当虚扣对几开始迁移时,利用iVic-VPN对数据才M:进行正常转发O卜,对预设的时间段内的数据^JL进^i爰存,当虛扣W;Ui移结^^,解除BBS中相关记录的锁定,并#^1£存的^更#^貪求,同时将iVic-VPN緩存的预i殳的时间段内的数据才议转发到迁移后的虚扣对几。当进行容器内节点通信时,通錄虚扣对几迁移开始时,将该虚4甜Ax在BBS中对应的记录进行锁定,在BBS中緩^4十对该记录的M更新请求,当虚4甜几开始迁移时,通过iVic-VPN设置一个与数据才M:的目的MACi&i^t应的虚假MAC;&止,根据该虚假MAC;W树数据才Ml进行转发,同时对预设的时间段内的数据才MJ^^爰存,当虚扣对几迁移结#,解除BBS中相关记录的锁定,并^^^爰存的*更新请求,同时将iVic-VPN緩存的预设的时间段内的数据才ML转发到迁移后的虛扣对几。本实施例通过集中式信息管理和分布式数据转发,实现了通过信4^4^树虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且育汰时反映虚拟网络的变化,同时,通过数据转发组件对数据才Mi进行分布式转发,解除了集中式才M:转发产生的速ytif瓦颈,大大提高了数据才M:的转发效率。本实施例在提高虚拟网络的通信效率的同时,进一步实现了虚扣对几迁移过程中通信地址的无缝切换,保证了网络数据准确iMiii确的虚4甜几,透明地实现了数据才Mi的存储重传,保障了虚拟节点在迁移过程中的通信不中断,同时保障了虚拟网络的持续可靠'fii^行。图5为本发明基于虚扣M几的虛拟网^^M^1:理方法第三实施例的流程图,本实施例为第一实施例的务沐实施方式,以M的例子对第一实施例中的针对同一VMC中虚拟节点之间进行的通信的情况进行详细的介绍。具体地,以上述图2为例进行说明本步骤中的同一VMC内节点通信过程,以图2中vn^和vm3进行通信为例,vm2此处为通信^^r(即发送方虚才財几),vm3此处为通信接J]彷(即接4t^虚扣对几),vBridge2为虚拟网桥。其中,vm2的IP地址为192.168.32.6,vm3的IP地址为192.168.32.9,vm2的MAC;也址为00:19:B9:41:74:7F,vm3的MACi也址为00:1C:25:98:ED:7F。本实施例可以胁包括如下步骤步骤501,vm2在本M^爰存中查找与192.168.32.9对应的MAC地址,如果vm2在本^i爰存查找到对应的MAC地址,则扭行步骤502,否则才;Mt^骤503。步骤502,vm2利用查到的MAC地扯作为目的地扯,将要发送的数才射'于^^数据帧并发送出去。步骤503,vm2在同一虚4甜膝器中广播发送ARP请求192.168.32.9对应的MACiikAl:,等待其它节点的回应。步-骤504,当iVic-VPN2接JltS'Jvm2广播发送的ARP才ML时,iVic—VPN2根据该ARP才议查询BBS中的NI表,获拟ij其对应的MACi^止为00:1C:25:98:ED:7F,宿主机ID为2,与自身所在的虚扣对;i^器相同,则iVic-VPN2不对jtb!M:进行任何响应。步骤505,当vBridge2接jji^ijvm2广播发送的ARP才Ml时,vBridge2向所有其它端口(端口1和端口3)转发该ARP报文。同时依据该ARP净议的源MAC地址(即00:19:B9:41:74:7F)与接jRS,j该ARP才M:的端口(端口2)更新AP表。步骤506,当vm3接JltfiJvm2广播发送的ARP才议时,发现该ARP才M^斤请求的MAC^iiL与自身的MAC^iibN同,则vm3向vm2发送一个ARP响应才Ml。需要指出的是,上述步骤404、步骤405和步骤406之间的时序关系并不是唯一的,这两个步骤可以同时才A/f亍,也可以互4灸#^亍顺序。步骤507,当vBridge2vm3对vm2广播的ARP响应净M:时,由于该净M^^单^番才M:,所以vBridge2依据ARP响应才Ml的目的MAC地址(即vm2的MAC地址00:19:B9:41:74:7F)查询AP表将其转发到该;W树应的端口(端口2)。这时,其它端口中的节点无法j]^ij这个报文。同时,vBridge2依据数據帧的源MAC^kiiM言息(即vm3的MAC:hki止00:1C:25:98:ED:7F:ED:7F和端口3)更新AP表。步骤508,vm2接j)tiijARP响应才M^,根据该ARP响应净M:获得vm3的MAC地址(00:1C:25:98:ED:7F),并更新自身的本i^爰存。步骤509,vm2利用获得的MAC地址(00:1C:25:98:ED:7F)作为目的地》止,将要发送的数糾狄数据帧并发送出去。步骤510,当vBridge2接4t5iJ从vm2发踏vm3的数据帧时,由于这些数据帧是^#的,所以vBridge2根据数据帧的目的i&止(00:1C:25:98:ED:7F),查询AP表将其转发到vm3对应的端口3,其它端口接收不到这一数据帧。步骤5U,当接》11^vm2的数据帧时,vm3对该数椐帧进行正常处理,并作出回应,双方实5M目互通信。本实施例提供了一种基于虚扣:4几的虚拟网^^M^b理方法,当两个虚扣:4^间进行数据报文的转发时,通过该虚拟容器中的虚拟网桥对数据才Ml进行转发,通过集中式信息管理和分布式数据转发,实现了通过信息^^tef虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且能及时反赠拟网络的变化,同时,通过数据转发组件对数据才Mi进行分布式转发,解除了集中式才M:转发产生的iMif瓦颈,大大提高了数据才议的转发效率。图6为本发明基于虚l对几的虚拟网全糾Mj^理方法第四实施例的《d呈图,本实施例为第一实施例的务本实施方式,以M的例子对第一实施例中的针对不同vmc中虚拟节点之间进行的通信的情况进行详细的介绍。具体地,以上述图2为例进行说明本步骤中的不同VMC内节点通信过程,以图2中vm2和vml进行通信为例,vm2此处为通信j^^r(即发送方虚扣对几),vml此处为通信接jjt^"(即接i)t^r虚扣:^几),vBridge2为vm2所在虚扣对膝器中的虚拟网桥,vBridgel为vml所在虚扣对膝器中的虚拟网桥,iVic-VPNl为vml所在虛扣对;i^器中的数据转发组件,iVic-VPN2为vm2所在虚扣对几容器中的数据转^i且件。其中,vm2的IP地址为192.168.32.6,vml的IPi4i止为192.168.32.3,vm2的MACMiit为00:19:B9:41:74:7F,vml的MACitkiih为00:15:58:09:C8:70。本实施例可以M包4^口下步骤步骤601,vm2在4^ki爰存中查找与192.168.32.3对应的MAC地址,如果vm2在本Mil存查找到对应的MACi&止,则^^亍步骤502,否则^l^亍步骤503。步骤602,vm2利用查到的MAC地扯作为目的地扯,将要发送的数##^^数据帧并发送出去。步骤603,vm2在同一虚拟容器中广播发送ARP才M:,请求192.168.32.3对应的MACMAt,等待其它节点的回应。步骤604,当vBridge2接4t^vm2广播发送的ARP才Ml时,vBridge2向所有其它端口(端口l和端口3)转发该ARP报文。同时依据该ARP报文的源MAC地址(即00:19:B9:41:74:7F)与接4t^净Ml的端口(端口2)更新AP表。步骤605,当iVic-VPN2接jRiiJvm2广播发送的ARP净M:时,iVic-VPN2根据该ARP才ML查询BBS中的NI表,获耳5UiJ其对应的MAC地址为00:15:58:09:C8:70,宿主机ID为1,与自身所在的虚扣对几容器不同。iVic-VPN2代替vml向vm2发送一个ARP响应才议。步骤606,当vBridge24UiJiVic-VPN2对vm2广播的ARP响应才议时,由于该报i^^^^番报文,所以vBridge2依据ARP响应才议的目的MAC地址(即vm2的MAC地扯00:19:B9:41:74:7F)查询AP表将其转^_到该地》树应的端口(端口2)。这时,其它端口中的节点无法"t^J这个报文。同时,vBridge2自动学习到数據帧的源MAC:^kAH言息(即vml的MAC地址00:15:58:09:C8:70和端口1),并更新AP表。》b^,发i^J'Jvml对应的MAC地Jt止的数據帧老15^转发到端口1。步骤607,vm2接JltSiJARP响应才M^,根据该ARP响应才R获得vml的MAC地址并更新自身的本^M爰存。步骤608,vm2利用获得的MAC地址(00:15:58:09:C8:70)作为目的地扯,将要发送的数^#^^数据帧并发送出去。步骤609,iVic-VPN2接j]t^vm2发^J'Jvml的数据帧后,根据数据帧中携带的源IP地址查询BBS中的NI表,得到对应的宿主机ID,再根据宿主机ID查询BBS的HI表,^寻到宿i^L^应的IP地iiL为192.168.1.26,宿主才几的端口号为5003。步骤610,iVic-VPN2根据宿主机的IP:^il^口端口号将数据帧转发到宿主机中。步骤611,iVic-VPNl接j]t^iVic-VPN2发送的数据帧后,对数据帧进^f^^封,获得到vm2发送的数据帧。步骤612,iVic-VPN2将vm2发送的数据帧转发到vBridgel上。步骤613,vBridgel通过查询AP表,将数据帧正确i4^发到vml。本实施例^^供了一种基于虛4財几的虚拟网^^Ml处理方法,通过信息^>#板进行信息的查询,通过两个虚扣对膝器中的数据转发组件和虚拟容器共同酉洽完m数据才M:进行转发,通过集中式信息管理和分布式数据转发,实现了通过信,1/>#^树虚拟网络中所有虛拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且負汰时反醋拟网络的变化,同时,通过数据转发组件对数据才ML进行分布式转发,解除了集中式净ML转发产生的速^tif瓦颈,大大提高了数据才议的转发效率。图7为本发明基于虚扣对几的虚拟网^^^处理方法第五实施例的流程图,本实施例为第二实施例的M实施方式,以M的例子对第二实施例中的针对同一VMC中虚拟节点之间进#^通信的情况进行详细的介绍。图8为本发明基于虚4甜几的虚拟网^^MJt理方法第五实施例中的第一信息交互示意图,图9为本发明基于虚拟机的虚拟网纟MM^h理方法第五实施例中的第二信息交互示意图。具体地,本实施例以图8和图9为例进4亍说明,本实施例中,以图8和图9中vml和vm2进行通信为例,vm2此处为通信j^方(即发i^虚扣对几),vml此处为通信接收方(即4妄收方虚拟机),其中,vml在通信过程中J^l迁移,iVic-VPNl为迁移前的vml和vm2所在的虚拟容器中的数据转发组件。本实施例可以M包4^!口下步骤步骤701,vml开始迁移时,iVic-VPNlii7^迁移状态,iVic-VPN1首先虚造一个MACMii填A^i也的MI表然后,iVic-VPN1冒充vml向虛拟容器内的其它虚拟节点发送一个虚假非请求ARP才议(即F.GARP才议)。步骤702,vm2F.GARP才M^,才艮据该F.GARP净ML更新^i也的ARP緩存表,虚拟网桥也会学习到虚假MAC地址与端口的对应关系,则任—可发往vml的才Ml均重定向到iVic-VPNl。步骤703,iVic-VPN1接到vm2发送的数据帧,先查询MI表如果在MI表中查不到目的MACM^iib^应的记泉则iVic-VPNl直接对数据帧进行转发;如絲MI表中查询到目的MAC:hkAt记絲MI表中的MAC项,则iVic-VPN1对该数据帧进行转发,并緩存最近一段时间内的数据帧;如絲MI表中查询到目的MACi4iit记絲MI表中的FAKEMAC项,则iVic-VPNl根据对应目的MAC:^ki)t^MI中对应的真实MAC;^kiih,替换数据帧的目的MACMJt止,^"对该lt悟帧i^f亍寿争发,并緩存最近一段时间内的凄封居帧。步骤704,当vml迁移完成时,iVic-VPN1会完^J^锁动作,iVic-VPNljJtS'JBBS的解锁更新后,代替vml向虚拟容器内虚拟节点发一个非请求ARP才M:(即GARP报文),通过该GARPvml的IP:hkiit与其真实MACJ4i止的对应关系。步骤705,jH^t,vm2转发给vml的数据老險由虚拟网桥转发给iVic-VPN1。步骤706,iVic-VPNlj]^1]数据后,由于iVic-VPNl已经j)t^解锁更新,则这些数据会正确的转发到迁移后的vml。本实施例提供了一种基于虚^4几的虚拟网^^^1:理方法,针对虚拟机的虚拟计算环境的特点,当进行容器内节点通信时,通*虚扣对几迁移开始时,将该虚拟冲球BBS中对应的记fJi行锁定,在BBS中緩^4十对该记录的M更新请求,当虚扣对几开始迁移时,通过iVic-VPN设置一个与数据报文的目的MAC地iib十应的虚假MAC:hkiit,根据该虚假MAC;4iib^数据净议进行转发,同时对预设的时间段内的数据报文进^i差存,当虚4財几迁移结束后,解除BBS中相关记录的锁定,并才似fli存的各个更新请求,同时将iVic-VPN緩存的预设的时间段内的数据才M:转发到迁移后的虚拟机。本实施例通过集中式信息管理和分布式数据转发,实现了通过信息^^M虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且肯汰时反映虚拟网络的变化,同时,通过数据转发组件对数据报文进行分布式转发,解除了集中式才议转发产生的速^tif瓦颈,大大提高了数据净M:的转发效率。本实施例在提高虚拟网络的通信效率的同时,进一步实现了虚拟机迁移过程中通信:hkJt止的无缝切换,保证了网^lt据准确iMiijE确的虚扣对几,透明地实现了数据才M:的,重传,保障了虚拟节点在迁移过程中的通信不中断,同时保障了虚拟网络的持续可靠'fiil行。图10为本发明基于虚4財几的虛拟网主斜M^J:理方法第六实施例的流程图,本实施例为第二实施例的M实施方式,以M的例子对第二实施例中的针对不同VMC中虚拟节点之间进行的通信的情^Lii行详细的介绍。图11为本发明基于虚扣对几的虚拟网^4M^1:理方法第六实施例中的第"H言息交互示意图,图12为本发明基于虚拟机的虚拟网纟斜MJt理方法第六实施例中的第二信息交互示意图。具体地,本实施例以图11和图12为例进行说明,本实施例中,以图11和图12中vml和vm2进行通信为例,vm2j):狄为通信;^^r(即发送方虚扣对几),vml此处为通信接^t^r(即接4t^r虚私对几),其中,vml^it信过程中胜迁移,由VMC1迁移到VMC2,iVic-VPNl为迁移前的vml所在的虚拟容器VMC1中的凝:据转;^l且件,iVic-VPN2为迁移后的vml和vm2所在的虚拟容器VMC2中的数据转发组件。本实施例可以M包^^口下步骤步骤1001,VMC1中的虚拟节点vml准备向VMC2迁移,iVic-VPN1向BBS发送申请锁定请求,申请锁定NI表中vml对应的记氛并叙迁移工作状态。步骤1002,VMC1开始迁移vml,iVic-VPNl转发才Ml,并緩存最近1^4中内发往vml的数据l议。步骤1003,iVic-VPN2发现虚拟网络中出现新的虛扣:^几,即迁移过程中vml在目的端VMC2中形成的与vml具有相同配置的目的虛才AiVic-VPN2向BBS进行报告,请求更新NI表中vml的记录信息。这时因为NI表中的对应记录被锁定,BBS緩存这个报告,^f旦暂时不更新"i己录。步骤1004,vml迁移完成,iVic-VPN1向BBS发出解锁请求,解除在步骤901中锁定的记录。步骤1005,BBS解锁NI表中的对应记录,根据JltSij的緩存报告,更新该记泉并向虚拟网络中的所有iVic-VPN发布解锁更新信息,同步这一变化。步骤i006,iVic-vpnij]i^j解锁更新,a始重发刚解锁虚扣对几的所有緩存4M:,因为NI表记录已经更新,所以发往vml的緩存才M:会^X确的发iii^iVic-VPN2。本实施例>^供了一种基于虚扣W几的虚拟网全斜MJt理方法,针对虚4財几的虚拟计算环境的特点,当进行容器间节点通信时,通錄虚扣对几迁移开始时,将该虚拟才/LjiBBS中对应的记fJi行锁定,在BBS中緩^4十对该记录的^更新请求,当虚4財几开始迁移时,利用iVic-VPN对数据才ML进行正常转发O卜,对预设的时间段内的数据才M:进^^存,当虚扣对;ut移结束后,解除bbs中相关记录的锁定,并l^f亍緩存的补更新请求,同时将iVic-VPN緩存的预设的时间段内的数据才Ml转发到迁移后的虚拟机。本实施例通过集中式信息管理和分布式数据转发,实现了通过信息/^^t^t虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且育汰时反映虚拟网络的变化,同时,通过数据转发组件对数据才M:进行分布式转发,解除了集中式才Mi转发产生的速^fe颈,大大提高了数据才艮文的转发效率。本实施例在提高虚拟网络的通信效率的同时,进一步实现了虚扣对几迁移过程中通信地址的无缝切换,保证了网络数据准确;l腿iiiE确的虚l对几,透明地实现了数据净M:的^f诸重传,保障了虚拟节点在迁移过程中的通信不中断,同时保障了虚拟网络的持续可靠'i4i^行。图13为本发明基于虚4甜几的虚拟网^tM^!:理系统实施例的结构图,本实施例提供了一种基于虚拟机的虚拟网全斜M^b理系统,包括锁定申请模块1301、锁定模块1302和第一数据才ML转发和緩存才狭1303。其中,锁定申i斜狭1301用于当接收方数据转发组件4&则到接)R^虚扣对几处于迁移开始状态时,向信息/^狄送申请锁定请求。锁定才狭1302用于根据所述申请锁定请求锁定信息^^板的节点信息表中所述接j]t^虚^^t应的记录,并緩存所述记^t应的更新请求。第一数据报文转发和緩存模夹1303用于根据^J也的迁移信息表判断接j]tiij的数据报文的类型,并根据所述数据才Mi的类型对数据才M:进行转发和緩存。进一步地,本实施例提供的基于虚拟机的虚拟网^^议处理系统还包括解除锁定申请模块、锁^除才狭和第二数据IMi转发和緩存模块。其中,解除锁定申请才狭用于当检测到所述接收方虚扣对几处于迁移结束状态时,向所述信息^^fe^送解除锁定请求。锁a除模块,用于根据緩存的所述更新请求更新所述节点信息表中所述接收方虚"f甜树应的记录,并向虚拟网络中的所有数据转发组件发,除锁定请求。第^t据才M:转发和緩存^^用于才M居接"t^的所^除锁定请求将緩存的数据才M^^J'J迁移后的接收方虚扣:^几。M地,第一数据才Ml转发和緩存^^:1303可以M包括查询单元、第一数据才M:转发单元、第二数据才M:转发单^数据才M:緩存单元。其中,查询单元用于根据接jR^的才M:查询所^^也的迁移信息表。第一数据净M:转发单元用于根据所述查询单元的查询结果为所述数据报文中携带的目的地址记录在所述迁移信息表的真实物理i4i止项中时,按照所述目的;W止将所述数据才M:转发到所述接收方虚拟机。第二数据才Mi转发单元用于根据所述查询单元的查询结果为所述数据报文中携带的目的地址记^所述迁牙ff言息表的虚假物^^Jt止项中时,按照所述目的;&錄所述迁移信息表中对应的真实目的地扯将数据才M:转发到所述接收方虚扣对几。数据才M:緩存单元用于緩存预设的时间段内的数据才Ml。本发明提供的一种基于虚扣对几的虚拟网全MM^t理系统,针对虛拟机的虚拟计算环嫂的特点,设置信息^^板锁定机制、^H诸重发机制、才Mi重定向机制以及迁移信息表,通过设置锁定申请模块、锁定才狭和第一数据才Mi转发和緩存模块,当虚扣:4^生迁移时,通过对信息^^#板中对应的记录进行锁定,并緩存该记录的更新请求,才艮据迁移信息表的查询结^t^t据净MJ^f亍转发和i爰存,实现了虚扣W几迁移过程中通信地址的无缝切换,保证了网络数据准确iMiiiL确的虚拟机,透明地实现了数据报文的^f诸重传,保障了虚拟节点在迁移过程中的通信不中断,同时保障了虛拟网络的持续可靠性运行。同时,本发明通过信息^^tof虛拟节点的信息进行集中式管理,实现了通过信,l^^tof虚拟网络中所有虚拟节点的信息进行集中发布、统一管理和维护,不仅提高了信息的获取效率,而且育汰时反映虚拟网络的变化,通过数据转发组件对数据mi:进行分布式转发,解除了集中式才Mi转发产生的i4JUf0贞,大大提高了数据才M:的转发效率。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的"fif技术人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特^iii行等同替换;而这些修改或^r^换,并不使相应技术方案的本质脱离本发明实施例技术方案的津射申和范围。权利要求1、一种基于虚拟机的虚拟网络报文处理方法,其特征在于,包括当接收方数据转发组件检测到接收方虚拟机处于迁移开始状态时,向信息公告板发送申请锁定请求;所述信息公告板根据所述申请锁定请求锁定所述信息公告板的节点信息表中所述接收方虚拟机对应的记录,并缓存所述记录对应的更新请求;所述接收方数据转发组件根据本地的迁移信息表判断接收到的数据报文的类型,并根据所述数据报文的类型对数据报文进行转发和缓存。2、根据权利要求1所述的方法,其特征在于,还包括当所述接收方数据转发组件;险测到所述接收方虚拟机处于迁移结束状态时,向所述信息公告板发送解除锁定请求;所述信息公告板根据緩存的所述更新请求更新所述节点信息表中所述接收方虛拟机对应的记录,并向虚拟网络中的所有数据转发组件发送解除锁定请求;所述接收方数据转发组件根据接收到的所述解除锁定请求将緩存的数据报文发送到迁移后的接收方虚拟机。3、根据权利要求l所述的方法,其特征在于,所述接收方数据转发组件根据本地的迁移信息表判断接收到的数据报文的类型,并根据所述数据报文的类型对数据报文进行转发和緩存包括所述接收方数据转发组件根据接收到的数据报文查询所述本地的迁移信息表;当查询结果为所述数据报文中携带的目的地址记录在所述迁移信息表的真实物理地址项中时,所述接收方数据转发组件按照所述目的地址将所述数据报文转发到所述接收方虚拟机,并緩存预设的时间段内的数据报文;当查询结果为所述数据报文中携带的目的地址记录在所述迁移信息表的虚假物理地址项中时,所述接收方数据转发组件按照所述目的地址在所述迁移信息表中对应的真实目的地址将数据报文转发到所述接收方虚拟机,并緩存预设的时间段内的数据报文。4、根据权利要求3所述的方法,其特征在于,还包括通过所述信息公告板中的节点信息表维护虚拟节点的物理地址与虚拟节点的IP地址之间的对应关系,以及所述虚拟节点所在的虚拟机容器的标识信息;和/或通过所述信息公告板中的宿主机信息表维护宿主机的标识信息、所述宿主机的IP地址以及所述宿主机的端口号之间的对应关系。5、根据权利要求3所述的方法,其特征在于,还包括发送方虚拟机与所述接收方虚拟机位于同一虚拟机容器中时,当所述接收方数据转发组件检测到所述接收方虚拟机处于迁移开始状态时,所述接收方数据转发组件冒充所述接收方虚拟机向所述虚拟机容器中的所有节点发送虚假非请求地址解析协议报文,在所述虚假非请求地址解析协议报文中携带所述接收方虚拟机的虚々I物理地址。6、根据权利要求4所述的方法,其特征在于,还包括当4企测到虚拟机在虚拟网络中启动时,所述虚拟机对应的数据转发组件向所述信息公告板发送信息注册请求,在所述信息注册请求中携带所述虚拟机的物理地址、IP地址和所在的宿主机的标识,所述信息公告板根据所述虚拟^/U的物理地址、IP地址和所在的宿主^L的标识更新所述节点信息表,并才艮据所述虚拟机的IP地址和端口信息更新所述宿主机信息表;和/或当^r测到虚拟机退出虚拟网络时,所述虚拟机对应的数据转发组件向所述信息公告板发送信息删除请求,根据所述信息删除请求删除所述虚拟机在所述信息公告板中的记录;和/或当才企测到虚拟机的信息发生变化时,所述虚拟机对应的数据转发组件向所述信息公告板发送信息更新请求,根据所述信息更新请求更新所述虚拟机在所述信息公告板中的记录。7、根据权利要求1所述的方法,其特征在于,还包括当检测到虚拟机处于迁移开始状态时,所述虚拟机对应的数据转发组件在所述迁移信息表中添加所述虚拟机对应的记录;当^f企测到虚拟机处于迁移结束状态时,所述虚拟机对应的数据转发组件删除所述虚拟机在所述迁移信息表中对应的记录。8、一种基于虚拟机的虚拟网络报文处理系统,其特征在于,包括锁定申请模块,用于当接收方数据转发组件检测到接收方虚拟机处于迁移开始状态时,向信息公告板发送申请锁定请求;锁定模块,用于根据所述申请锁定请求锁定所述信息公告板的节点信息表中所述接收方虚拟机对应的记录,并緩存所述记录对应的更新请求;第一数据报文转发和緩存模块,用于根据本地的迁移信息表判断接收到的数据报文的类型,并根据所述数据报文的类型对数据报文进行转发和緩存。9、根据权利要求8所述的系统,其特征在于,还包括解除锁定申请模块,用于当检测到所述接收方虚拟机处于迁移结束状态时,向所述信息公告板发送解除锁定请求;锁定解除模块,用于根据緩存的所述更新请求更新所述节点信息表中所述接收方虚拟机对应的记录,并向虚拟网络中的所有数据转发组件发送解除锁定请求;第二数据报文转发和緩存模块,用于根据接收到的所述解除锁定请求将緩存的数据报文发送到迁移后的接收方虚拟机。10、根据权利要求8所述的系统,其特征在于,所述第一数据报文转发和緩存模块包括查询单元,用于根据接收到的报文查询所述本地的迁移信息表;第一数据报文转发单元,用于根据所述查询单元的查询结果为所述数据报文中携带的目的地址记录在所述迁移信息表的真实物理地址项中时,按照所述目的地址将所述数据报文转发到所述接收方虚拟机;第二数据报文转发单元,用于根据所述查询单元的查询结果为所述数据报文中携带的目的地址记录在所述迁移信息表的虚假物理地址项中时,按照所述目的地址在所述迁移信息表中对应的真实目的地址将数据报文转发到所述才妄收方虚拟才几;数据报文緩存单元,用于緩存预设的时间段内的数据报文。全文摘要本发明公开了一种基于虚拟机的虚拟网络报文处理方法和系统,方法包括当接收方数据转发组件检测到接收方虚拟机处于迁移开始状态时,向信息公告板发送申请锁定请求;所述信息公告板根据所述申请锁定请求锁定所述信息公告板的节点信息表中所述接收方虚拟机对应的记录,并缓存所述记录对应的更新请求;所述接收方数据转发组件根据本地的迁移信息表判断接收到的数据报文的类型,并根据所述数据报文的类型对数据报文进行转发和缓存。系统包括锁定申请模块、锁定模块和第一数据报文转发和缓存模块。本发明保障了虚拟机迁移过程中通信地址的无缝切换,实现了虚拟网络中通信的持续可靠性运行,同时提高了信息的获取效率和数据报文的转发效率。文档编号H04L12/56GK101605084SQ20091008801公开日2009年12月16日申请日期2009年6月29日优先权日2009年6月29日发明者刘新刚,岑李,沁李,李建欣,胡春明申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1