[发明专利]一种基于OVS的实时虚拟网络的实现方法在审
申请号: | 201911193584.8 | 申请日: | 2019-11-28 |
公开(公告)号: | CN111211999A | 公开(公告)日: | 2020-05-29 |
发明(设计)人: | 李国兵;张哲;卫宁;周江福;陈卓;王晔;李琦;刘毅枫 | 申请(专利权)人: | 中国船舶工业系统工程研究院 |
主分类号: | H04L12/931 | 分类号: | H04L12/931;H04L29/08;G06F9/455 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 陈鹏 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ovs 实时 虚拟 网络 实现 方法 | ||
一种基于OVS的实时虚拟网络的实现方法,针对虚拟网络带宽与实际物理网络相同但转发效率低问题,通过DPDK插件快速处理数据包,解决了虚拟网络交换机工作时内存需要受操作系统的管理、容易受到操作系统中断及永和空间切换影响的问题,节省了CPU中断时间又省去了内存拷贝时间,极大提高了网络IO的吞吐量。
技术领域
本发明涉及一种基于OVS的实时虚拟网络的实现方法,属于虚拟化技术领域。
背景技术
经过多年的发展,云计算已经逐步成熟,在整个云数据中心中,网络是所有设备互联互通的关键所在,网络的性能可以影响整个数据中心的运行效率。在云计算中虚拟机通过OVS虚拟机交换机与外部通信,由于虚拟化本身有性能损耗,虽然虚拟机网络带宽与实际物理硬件相同,但是网络延时还是比物理硬件高,网络的实时性相对较差。在工业控制或军用领域,网络的实时性要求非常高,如何提高虚拟网络的实时性,已成为当前云计算推广的关键所在。
硬件交换机因为有专门的转发硬件,可以保证任意时间都有一定的资源用于转发。但是OVS在操作系统内核空间实现转发,本质上是通过操作系统内的几个进程来完成工作。操作系统会像对待其他进程一样,将CPU的部分时间片,而不是整个CPU分配给虚拟交换机,内存也需要受操作系统的管理,这就存在资源抢占的可能。所以,虚拟交换机并不能保证在需要转发网络数据的时候一定占有资源。另一方面,因为操作系统本身的设计,需要经过硬中断,软中断,内核空间和用户空间的切换来完成网络数据的传输,通过内核进行转发使得网络数据在操作系统内的路径也很长。所以基于内核实现的虚拟交换机 OVS,会对网络性能带来额外的损耗。
发明内容
本发明解决的技术问题是:针对目前现有技术中,虚拟网络交换机工作时内存需要受操作系统的管理、容易受到操作系统中断及永和空间切换影响的问题,提出了一种基于OVS的实时虚拟网络的实现方法。
本发明解决上述技术问题是通过如下技术方案予以实现的:
一种基于OVS的实时虚拟网络的实现方法,步骤如下:
(1)安装部署OVS虚拟交换机,于OVS虚拟交换机上安装DPDK插件,进行DPDK的优化配置;
(2)于物理网卡接收数据包,于Datapath中判断是否可以直接转发该数据包,若于Datapath缓存记录中找到接收记录,则将该数据包向外转发;若未找到接收记录,则对数据包目的端口进行确认,根据配置的流表策略获取目的端口的转发规则,并根据所得转发规则进行转发;
(3)于Linux系统中配置用于提高内存访问率的大页缓存,同时于系统中配置UIO,安装应用空间下所需驱动程序;
(4)将不同控制面线程、数据面线程绑定至不同CPU核,同时配置无锁环形缓存管理,同时使用收发包批处理功能处理数据;
(5)利用用户态轮询驱动实现虚拟机和主机零拷贝。
所述驱动程序为网卡驱动,于用户空间运行以减小报文在用户空间与应用空间的拷贝次数。
所述步骤(2)中,对数据包目的端口进行确认的具体步骤为:
若于Datapath缓存记录中未找到接收记录,直接通过DPDKlib将数据发送到用户空间的vswitchd,同时操作openflow流表,实现与ovsdb以及ovs-ofctl 交互,并通过vswitchd检查ovsdb数据库以查看数据包的目的端口。
所述步骤(2)中,根据数据包的目的端口获取数据转发规则的具体方法为:
通过OpenFlow协议向OVS交换机下发FlowTable流表,控制交换机的根据FlowTable进行转发,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶工业系统工程研究院,未经中国船舶工业系统工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911193584.8/2.html,转载请声明来源钻瓜专利网。