数据传输方法、装置及存储介质制造方法及图纸

技术编号:17161977 阅读:32 留言:0更新日期:2018-02-01 20:17
本发明专利技术实施例公开了一种数据传输方法、装置及存储介质,用于在虚拟网络中进行数据包传输。本发明专利技术实施例方法包括:基于物理网卡,生成多个虚拟网络功能;分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。

Data transmission methods, devices and storage media

An embodiment of the invention discloses a data transmission method, a device and a storage medium for data packet transmission in a virtual network. The embodiment of the invention includes: multiple virtual network functions are generated based on physical network cards; each virtual network function is added to the corresponding virtual machine, and each virtual machine has input / output ports.

【技术实现步骤摘要】
数据传输方法、装置及存储介质
本专利技术涉及,尤其涉及一种数据传输方法、装置及存储介质。
技术介绍
随着服务器承载的客户虚拟机数量越来越多,以及提供的网络服务和应用越来越复杂,对虚拟网络的需求也随之迅速增长。目前,数据包在虚拟机和宿主机之间,以及在虚拟机和虚拟机之间传输,均需要经过虚拟化层中的虚拟交换机的交换,导致数据包需要在虚拟机和宿主机的内核与用户空间之间进行多次拷贝,从而导致数据传输效率低。
技术实现思路
本专利技术实施例提供了一种数据传输方法、装置及存储介质。本专利技术实施例的第一方面提供一种数据传输方法,包括:基于物理网卡,生成多个虚拟网络功能;分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。结合本专利技术实施例的第一方面,在本专利技术实施例的第一方面的第一种实现方式中,所述基于物理网卡,生成多个虚拟网络功能,包括:对所述物理网卡进行划分,得到多个所述虚拟网络功能。结合本专利技术实施例的第一方面,本专利技术实施例的第一方面的第二种实现方式中,所述方法还包括:基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。结合本专利技术实施例的第一方面的第二种实现方式,本专利技术实施例的第一方面的第三种实现方式中,所述数据包包括:测试仪表实例。结合本专利技术实施例的第一方面,本专利技术实施例的第一方面的第四种实现方式中,所述方法基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。本专利技术实施例的第二方面提供一种数据传输装置,包括:生成模块,用于基于物理网卡,生成多个虚拟网络功能;添加模块,用于分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第一种实现方式中,所述生成模块包括:生成子模块,用于对所述物理网卡进行划分,得到多个所述虚拟网络功能。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第二种实现方式中,所述装置还包括:传输模块,用于基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。结合本专利技术实施例的第二方面的第二种实现方式,本专利技术实施例的第二方面的第三种实现方式中,所述传输模块传输的所述数据包包括:测试仪表实例。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第四种实现方式中,所述装置基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。本专利技术实施例的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面提供方法的步骤。本专利技术实施例提供的技术方案中,通过基于物理网卡生成的多个虚拟网络功能,将数据包由物理网卡传输至虚拟网络功能对应的虚拟机的输入/输出接口。因此相对于现有技术,本专利技术实施例直接通过虚拟网络功能从物理网卡获取数据包,可以避免通过虚拟交换机对数据包进行传输,即可以避免开销巨大的内核协议栈,从而可以提高数据传输效率。附图说明图1为本专利技术实施例中数据传输方法一个实施例示意图;图2为本专利技术实施例中数据传输方法另一实施例示意图;图3为本专利技术实施例中数据传输装置一实施例示意图;图4为本专利技术实施例中数据传输装置另一实施例示意图;图5为本专利技术实施例中数据传输装置另一实施例示意图。具体实施方式本专利技术实施例提供了一种数据传输方法、装置及存储介质,用于在虚拟网络中进行数据包传输,以下分别进行详细说明。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。请参阅图1,本专利技术实施例提供一种数据传输方法,包括:101、基于物理网卡,生成多个虚拟网络功能。对于本专利技术实施例,具体可以由SR-IOV(Single-rootI/Ovirtualization,单根输入/输出虚拟化)对物理网卡进行划分,得到多个虚拟网络功能。102、分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。可选地,每个虚拟机VM中可以加入对应的一个虚拟网络功能VF,也可以加入对应的多个虚拟网络功能VF。对于本专利技术实施例,虚拟机内部可以看到多个网卡设备,供虚拟机内部加载的实例进行数据包I/O,以实现基于硬件的物理网卡的虚拟化和共享,进而实现减小资源开销。本专利技术实施例提供的技术方案中,通过基于物理网卡生成的多个虚拟网络功能,将数据包由物理网卡传输至虚拟网络功能对应的虚拟机的输入/输出接口。因此相对于现有技术,本专利技术实施例直接通过虚拟网络功能从物理网卡获取数据包,可以避免通过虚拟交换机对数据包进行传输,即可以避免开销巨大的内核协议栈,从而可以提高数据传输效率。请参阅图2,本专利技术又一实施例提供一种数据传输方法,包括:201、对所述物理网卡进行划分,得到多个所述虚拟网络功能。对于本专利技术实施例,具体可以由SR-IOV(Single-rootI/Ovirtualization,单根输入/输出虚拟化)对物理网卡进行划分,得到多个虚拟网络功能。202、分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。可选地,每个虚拟机VM中可以加入对应的一个虚拟网络功能VF,也可以加入对应的多个虚拟网络功能VF。对于本专利技术实施例,虚拟机内部可以看到多个网卡设备,供虚拟机内部加载的实例进行数据包I/O,以实现基于硬件的物理网卡的虚拟化和共享,进而实现减小资源开销。203、基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。其中,数据包可以包括实例。在本专利技术实施例中,实例可以包括测试仪表实例。对于本专利技术实施例,测试仪表实例的传输过程具体可以为:由物理网卡,通过虚拟网络功能传输至虚拟机的输入/输出接口,以实现虚拟网络下的数据包传输。本专利技术实施例提供的数据传输方法可以基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV(DataPlaneDevelopmentKitSingle-rootI/Ovirtualization),实现虚拟化环境下的数据包传输。其中,DPDK充分利用Hugepape、零拷贝、NUMA、PollMode驱动等技术,可以直接通过虚拟网络功能从物理网卡捕获和回放数据包,绕过开销巨大的内核协议栈,实现高性能的用户空间的网络I/O,相比于现有的虚拟机基于网桥和veth-peer设备的虚拟网络有很大程度的优化,从本文档来自技高网...
数据传输方法、装置及存储介质

【技术保护点】
一种数据传输方法,其特征在于,包括:基于物理网卡,生成多个虚拟网络功能;分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:基于物理网卡,生成多个虚拟网络功能;分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。2.如权利要求1所述的方法,其特征在于,所述基于物理网卡,生成多个虚拟网络功能,包括:对所述物理网卡进行划分,得到多个所述虚拟网络功能。3.如权利要求1所述的方法,其特征在于,所述方法还包括:基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。4.如权利要求3所述的方法,其特征在于,所述数据包包括:测试仪表实例。5.如权利要求1-4任一项所述的方法,其特征在于,所述方法基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。6.一种数据传输装置,其特征在于,包括:生成模块,用于基于物理网卡,生成多个虚拟网络...

【专利技术属性】
技术研发人员:申罕骥龙春万巍付豫豪
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1