专利名称:报文发送方法以及报文接收方法、装置及系统的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种虚拟子网间的报文传输方法及装置。
背景技术:
虚拟机(VM,Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。利用虚拟机技术,可以在一台物理机器如物理计算机上创建多个虚拟机,通过所述多个虚拟机构建虚拟子网,构成虚拟网络。这种虚拟网络在研究网络特性、模拟网络行为特征、调试网络程序等方法具有广泛的应用。在图1所示的虚拟网络中,在一台物理计算机上构建了 3个虚拟子网,而虚拟子网之间的通信通过虚拟子网所在的物理计算机完成。具体的,由物理计算机接收某一虚拟子网中的虚拟机发来的报文,将该报文转发到报文的目的虚拟机。但是,发明人发现在现有技术中,一台物理计算机上的各个虚拟机间的网络报文转发只能直接由所在物理计算机完成,而不是由物理网关实现,从而无法模拟出真实网络中物理网关进行报文转发的场景,因此基于这种虚拟网络进行网络特性等的研究时,研究结果的误差较大。
发明内容
有鉴于此,本发明要解决的技术问题是,提供一种虚拟子网间的报文传输方法及装置,能够进行真实网络中物理网关报文转发的场景模拟,降低研究结果的误差。为此,本发明实施例采用如下技术方案本发明实施例提供一种报文发送方法,包括源虚拟机的虚拟网卡接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;所述物理网卡将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。还包括预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。所述预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥包括在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥。本发明实施例提供一种报文接收方法,包括物理计算机的物理网卡接收物理网关根据报文的目的地址发来的报文;所述物理网卡将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定;
目的虚拟机的虚拟网卡将接收到的报文发送给所述目的虚拟机。还包括预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。所述预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥包括在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥。本发明实施例提供一种报文发送装置,包括网桥,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;虚拟网卡,用于接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;物理网卡,用于将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。还包括建立单元,用于建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。建立单元包括建立子单元,用于在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥;确定子单元,用于确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。本发明实施例提供一种报文接收装置,包括网桥,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;物理网卡,用于接收物理网关根据报文的目的地址发来的报文;将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定;虚拟网卡,用于将接收到的报文发送给所述目的虚拟机。对于上述技术方案的技术效果分析如下预先建立虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间的网桥, 从而报文的源虚拟机的虚拟网卡通过网桥将报文发送给物理计算机的物理网卡,由物理网卡将所述报文发送给源虚拟机的物理网关,进而物理网关根据报文的目的地址将所述报文传输给对应的目的虚拟机,实现了虚拟机之间通过物理网关进行报文传输,从而使得虚拟网络能够进行真实网络中物理网关报文转发的场景模拟,降低了研究结果的误差。
图1为现有技术虚拟网络结构示意图;图2为本发明实施例网络结构示意图3为本发明实施例报文发送方法流程示意图;图4为本发明实施例报文接收方法流程示意图;图5为本发明实施例报文传输流程示意图;图6为本发明实施例报文发送装置结构示意图;图7为本发明实施例报文接收装置结构示意图。
具体实施例方式以下,结合附图详细说明本发明实施例报文传输方法及装置的实现。如图2所示,本发明实施例中所建立的网络结构包括虚拟子网,每个虚拟子网中包括若干个虚拟机;每个虚拟机包括一虚拟网卡(图中未示出);虚拟子网所在物理计算机的物理网卡(图中未示出);以及虚拟子网对应的物理网关;物理网关之间具有连接关系。在现有技术中,虚拟子网的虚拟机之间只能通过自身所在的物理计算机实现报文传输;但是,在本发明实施例中,在所述虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间建立了网桥,实现两者之间的数据传输;并且,将物理计算机的物理网卡的网关设置为物理计算机中的虚拟子网所对应的物理网关,从而保证物理网卡与虚拟子网的物理网关之间实现数据传输。其中,在建立虚拟网卡与物理计算机的物理网卡之间的网桥时,可以通过以下方式实现建立网桥;将所述虚拟网卡和物理计算机的物理网卡加入所述网桥。建立网桥后,可以将网桥的IP地址设置为与虚拟机和虚拟机的物理网关在同一子网的任一 IP地址。其中,在建立网桥时可以使用brctl工具等实现,这里不再赘述。在图2所示的网络结构下,如图3所示,本发明实施例提供一种报文发送方法,该方法包括步骤301 报文的源虚拟机的虚拟网卡接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡。所述源虚拟机也即为发送报文的虚拟机;而后文的目的虚拟机也即为接收报文的虚拟机。步骤302 所述物理网卡将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。图3所示的报文发送方法中,预先建立虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间的网桥,报文的源虚拟机的虚拟网卡通过网桥将报文发送给物理计算机的物理网卡,由物理网卡将所述报文发送给源虚拟机的物理网关,进而物理网关根据报文的目的地址将所述报文传输给对应的目的虚拟机,实现了虚拟机之间通过物理网关进行报文传输,从而使得虚拟网络能够进行真实网络中物理网关报文转发的场景模拟,降低了研究结果的误差。与所述报文发送方法相对应的,还包括一种报文接收方法,如图4所示,该方法包括
步骤401 物理计算机的物理网卡接收物理网关根据报文的目的地址发来的报文;步骤402 所述物理网卡将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定;步骤403 目的虚拟机的虚拟网卡将接收到的报文发送给所述目的虚拟机。图4所示的报文接收方法中,预先建立虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间的网桥,物理计算机的物理网卡接收物理网关发来的报文,将所述报文通过网桥发送给目的虚拟机的虚拟网卡,进而由虚拟网卡将报文发送给目的虚拟机,从而使得虚拟网络能够进行真实网络中物理网关报文转发的场景模拟,降低了研究结果的误差。在图3和图4的基础上,对本发明实施例的报文发送和接收方法进行更为详细的说明,如图5所示,所述报文发送和接收的过程如下步骤501 需要发送报文的源虚拟机将所需发送的报文发送给虚拟机自身的虚拟网卡;步骤502 所述虚拟网卡将所述报文通过虚拟网卡与物理网卡之间的网桥发送给虚拟机所在物理计算机的物理网卡;步骤503 所述物理网卡将所述报文发送给所述源虚拟机所对应的物理网关;步骤504 所述物理网关根据报文的目的地址确定所述报文的目的虚拟机所在的物理计算机,将所述报文发送给所述目的虚拟机所在的物理计算机的物理网卡;这里,也可能需要经过物理网关之间的数据传输,从而最终将报文发送到目的虚拟机所在的物理计算机的物理网卡。步骤505 所述目的虚拟机所在的物理计算机的物理网卡将所述报文通过网桥发送给目的虚拟机的虚拟网卡;步骤506 所述目的虚拟机的虚拟网卡将所述报文发送给对应的目的虚拟机。通过以上步骤,即实现了虚拟机之间通过物理网关进行报文的传输和转发。与以上的报文发送方法和接收方法相对应的,本发明实施例还提供报文发送装置和接收装置。如图6所示,为一种报文发送装置,该装置包括网桥610,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;虚拟网卡620,用于接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;物理网卡630,用于将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。优选地,该装置还可以包括建立单元600,用于建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。优选地,建立单元600可以由以下结构实现建立子单元,用于在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥;确定子单元,用于确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。图6所示的报文发送装置中,预先建立虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间的网桥,报文的源虚拟机的虚拟网卡通过网桥将报文发送给物理计算机的物理网卡,由物理网卡将所述报文发送给源虚拟机的物理网关,进而物理网关根据报文的目的地址将所述报文传输给对应的目的虚拟机,实现了虚拟机之间通过物理网关进行报文传输,从而使得虚拟网络能够进行真实网络中物理网关报文转发的场景模拟,降低了研究结果的误差。图7为本发明实施例的一种报文接收装置,如图7所示,该装置包括网桥710,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;物理网卡720,用于接收物理网关根据报文的目的地址发来的报文;将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定;虚拟网卡730,用于将接收到的报文发送给所述目的虚拟机。优选地,该装置还可以包括建立单元700,用于建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。优选地,建立单元700可以由以下结构实现建立子单元,用于在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥;确定子单元,用于确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。图7所示的报文接收装置中,预先建立虚拟机的虚拟网卡与虚拟机所在的物理计算机的物理网卡之间的网桥,物理计算机的物理网卡接收物理网关发来的报文,将所述报文通过网桥发送给目的虚拟机的虚拟网卡,进而由虚拟网卡将报文发送给目的虚拟机,从而使得虚拟网络能够进行真实网络中物理网关报文转发的场景模拟,降低了研究结果的误差。本领域普通技术人员可以理解,实现上述实施例的方法的过程可以通过程序指令相关的硬件来完成,所述的程序可以存储于可读取存储介质中,该程序在执行时执行上述方法中的对应步骤。所述的存储介质可以如ROM/RAM、磁碟、光盘等。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种报文发送方法,其特征在于,包括源虚拟机的虚拟网卡接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;所述物理网卡将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。
2.根据权利要求1所述的方法,其特征在于,还包括预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥; 并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。
3.根据权利要求2所述的方法,其特征在于,所述预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥包括在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥。
4.一种报文接收方法,其特征在于,包括物理计算机的物理网卡接收物理网关根据报文的目的地址发来的报文; 所述物理网卡将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定;目的虚拟机的虚拟网卡将接收到的报文发送给所述目的虚拟机。
5.根据权利要求4所述的方法,其特征在于,还包括预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥; 并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。
6.根据权利要求5所述的方法,其特征在于,所述预先建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥包括在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥。
7.一种报文发送装置,其特征在于,包括网桥,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;虚拟网卡,用于接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;物理网卡,用于将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。
8.根据权利要求7所述的装置,其特征在于,还包括建立单元,用于建立虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的网桥;并且,确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。
9.根据权利要求8所述的装置,其特征在于,建立单元包括建立子单元,用于在物理计算机上建立网桥;将所述虚拟机的虚拟网卡和物理计算机的物理网卡加入所述网桥;确定子单元,用于确定物理网卡的网关为物理计算机中的虚拟机对应的物理网关。
10.一种报文接收装置,其特征在于,包括网桥,用于进行虚拟机的虚拟网卡与虚拟机所在物理计算机的物理网卡之间的数据传输;物理网卡,用于接收物理网关根据报文的目的地址发来的报文;将所述报文通过网桥发送给目的虚拟机的虚拟网卡;所述目的虚拟机根据所述报文的目的地址确定; 虚拟网卡,用于将接收到的报文发送给所述目的虚拟机。
全文摘要
本发明公开了一种报文发送方法及装置,还公开了一种报文接收方法及装置,所述报文发送方法包括源虚拟机的虚拟网卡接收源虚拟机所需发送的报文,将接收到的报文通过网桥发送给虚拟机所在物理计算机的物理网卡;所述物理网卡将所述报文发送给虚拟机对应的物理网关,以便所述物理网关根据报文的目的地址将报文转发给报文的目的虚拟机。所述方法及装置能够进行真实网络中物理网关报文转发的场景模拟,降低研究结果的误差。
文档编号H04L12/46GK102480420SQ20101056419
公开日2012年5月30日 申请日期2010年11月29日 优先权日2010年11月29日
发明者况晓辉, 唐洪, 崔益民, 常海峰, 李津, 温研, 许飞, 赵金晶, 郭勇, 金旗, 黄敏桓 申请人:北京系统工程研究所