[发明专利]基于虚拟机的数据包发送和接收方法及装置有效
申请号: | 201611190729.5 | 申请日: | 2016-12-21 |
公开(公告)号: | CN108228309B | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 刘华 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;H04L12/66 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 虚拟机 数据包 发送 接收 方法 装置 | ||
本发明实施例公开了一种基于虚拟机的数据包发送方法及装置,其中,所述包括:建立虚拟机与网卡之间的直通连接;检测所述虚拟机的驱动层发出的数据包;向与所述虚拟机对应的虚拟机监控器发送封装参数获取请求,接收所述虚拟机监控器返回的封装信息和封装参数;根据所述封装信息和所述封装参数将所述数据包封装,将所述封装后的数据包通过所述直通连接添加到所述网卡的硬件发送队列进行发送。此外,本发明实施例还公开了一种基于虚拟机的数据包接收方法及装置。采用本发明,可减少基于虚拟机的数据包收发对系统资源的占用。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于虚拟机的数据包发送和接收方法及装置。
背景技术
随着虚拟化技术的产生和发展,用户可以在一台物理服务器上(物理机可以作为两个或更多虚拟机的主机)模拟出一个或者多个虚拟机(Virtual Machine,简称VM),所谓虚拟机,即为通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。这些虚拟机系统完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。用户创建虚拟机后为使其能够如物理机一样收发数据,需建立虚拟网络并为其分配IP地址,以便根据该IP地址来发送数据或者接收数据。
因为虚拟机是在物理机上一个虚拟的模块,也就是说,其不存在实体的网卡或者网卡设备,其发送数据或者接收数据都需要经过相应的主机上的网卡设备。具体的,在主机侧安装后端驱动,在虚拟机侧安装前段驱动,主机的后端驱动直接与主机上的网卡的硬件交互,完成具体的收发数据包,而虚拟机的前段驱动不与网卡的硬件直接进行交互,而是与主机侧的后端驱动进行交互,从而间接完成与网卡的交互。也就是说,所有发送到虚拟机的数据包或者由虚拟机发送的数据包都会通过主机侧的后端驱动,然后在主机侧对虚拟机的网络通信进行数据包的封装/解封装等网络IP虚拟化的操作。
发明人经研究发现,在上述虚拟机对于数据包的发送和接收的过程中,所有的数据包的发送或接收都需要经过主机侧的后端驱动与虚拟机端的前段驱动之间的数据传输、主机侧的后端驱动对数据包的封装或者解封装等多个步骤,一个数据包的发送或接收的完成需要经过多个模块之间的数据的传输和数据的处理。这就导致了,在计算机的物理网卡处理能力较大、网络吞吐量较大时,基于虚拟机的数据包接收和发送的计算量会大幅的增加,从而导致了对物理机的CPU的消耗。也就是说,上述基于虚拟机的数据包的发送存在无法充分利用网卡的处理能力以及过度消耗CPU资源的问题,即对系统资源的有效利用率不足。
发明内容
基于此,为解决现有技术中基于虚拟机的数据包的发送存在的系统资源的有效利用率不足的技术问题,在本发明的第一发面,提出了一种基于虚拟机的数据包发送方法。
一种基于虚拟机的数据包发送方法,包括:
建立虚拟机与网卡之间的直通连接;
检测所述虚拟机的驱动层发出的数据包;
向与所述虚拟机对应的虚拟机监控器发送封装参数获取请求,接收所述虚拟机监控器返回的封装信息和封装参数;
根据所述封装信息和所述封装参数将所述数据包封装,将所述封装后的数据包通过所述直通连接添加到所述网卡的硬件发送队列进行发送。
可选的,在其中一个实施例中,所述封装信息包括封装格式,所述封装格式包括数据包封装层的封装协议。
可选的,在其中一个实施例中,所述封装参数包括数据包封装层的IP地址和/或MAC地址。
可选的,在其中一个实施例中,所述建立虚拟机与网卡之间的直通连接还包括:
在所述网卡对应的物理地址范围内为所述虚拟机分配与所述虚拟机对应的目标物理地址范围,并将所述目标物理地址范围映射给所述虚拟机的驱动层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611190729.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟机的监控方法以及装置
- 下一篇:虚拟网络功能的均衡部署方法及装置