[发明专利]一种利用虚拟交换机转发数据包的方法及设备在审
申请号: | 201910067497.1 | 申请日: | 2019-01-24 |
公开(公告)号: | CN109803016A | 公开(公告)日: | 2019-05-24 |
发明(设计)人: | 赵瑞东;王则陆;刘毅枫;徐永强 | 申请(专利权)人: | 山东超越数控电子股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/455 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 250104 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 虚拟交换机 缓存 转发规则 转发 数据包发送 目的端口 用户空间 实时性 虚拟机 检测 网卡 记录 搜索 响应 | ||
本发明公开了一种利用虚拟交换机转发数据包的方法,包括步骤:利用网卡接收所述数据包,并上传到Datapath;通过所述Datapath在缓存中检测所述数据包的相关记录;响应于所述Datapath在缓存中没有检测到相关记录,利用DPDK将所述数据包发送至所述虚拟交换机的用户空间的vswitchd;所述vswitchd搜索所述数据包的目的端口并获取所述数据包的转发规则,以将所述数据包按照所述转发规则转发至相应虚拟机。本发明公开的方法可以提升虚拟交换机的实时性。
技术领域
本发明涉及计算机网络领域,具体涉及一种利用虚拟交换机转发数据包的方法及设备。
背景技术
经过多年的发展,云计算已经逐步成熟,在整个云数据中心中,网络是所有设备互联互通的关键所在,网络的性能可以影响整个数据中心的运行效率。在云计算中虚拟机通过OVS虚拟机交换机与外部通信,由于虚拟化本身有性能损耗,虽然虚拟机网络带宽与实际物理硬件相同,但是网络延时还是比物理硬件高,网络的实时性相对较差。在工业控制或军用领域,网络的实时性要求非常高,如何提高虚拟网络的实时性,已成为当前云计算推广的关键所在。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种利用虚拟交换机转发数据包的方法,包括步骤:
利用网卡接收所述数据包,并上传到Datapath;
通过所述Datapath在缓存中检测所述数据包的相关记录;
响应于所述Datapath在缓存中没有检测到相关记录,利用DPDK将所述数据包发送至所述虚拟交换机的用户空间的vswitchd;
所述vswitchd搜索所述数据包的目的端口并获取所述数据包的转发规则,以将所述数据包按照所述转发规则转发至相应虚拟机。
在一些实施例中,利用DPDK将所述数据包发送至所述虚拟交换机的用户空间的vswitchd包括:所述DPDK在用户空间利用轮询模式处理数据包。
在一些实施例中,将所述数据包按照所述转发规则进行转发包括:
利用vhost-user将所述数据包转发所述虚拟机的内核空间。
在一些实施例中,所述方法还包括步骤:
所述虚拟机利用虚拟网卡接收所述数据包,并转发至虚拟机的内核空间。
在一些实施例中,所述方法还包括步骤:
所述虚拟机利用物理网卡接收所述数据包;
所述物理网卡通过Linux Bridge以及Tap将所述数据包转发至virtio虚拟网卡;
所述virtio虚拟网卡将所述数据包转发至虚拟机的内核空间。
在一些实施例中,,所述搜索所述数据包的目的端口并获取所述数据包的转发规则包括:
利用openflow流表,实现所述主要模块与ovsdb以及ovs-ofctl交互,以使所述vswitchd搜索所述数据包的目的端口并获取所述数据包的转发规则。
在一些实施例中,所述方法还包括步骤:
在所述虚拟机中,将控制面线程和各个数据面线程绑定不同的CPU。
在一些实施例中,所述方法还包括步骤:
利用收发包批处理功能,将多个所述数据包集中到一个cache line。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子股份有限公司,未经山东超越数控电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910067497.1/2.html,转载请声明来源钻瓜专利网。