The invention relates to a virtual network optimization method, including the steps, package unpacking steps and shared page authorization steps, including: Pack steps, will have the same source and destination address of the packet link combination network packet, network packet generation; sharing authorization page step, receiving the combination of network packets, and the front end the combination of network packet copy to the virtual machine drive; unpacking steps, receiving the network packet from the combination of front drive, and according to the I/O response to determine the combination of network packets in small network packets, the combination of network packet split, and the split the small network packet be handled by the upper network protocol stack. The invention optimizes the overall performance of the network virtualization by receiving a packet and a shared authorization page.
【技术实现步骤摘要】
虚拟网络优化方法与系统
本专利技术涉及网络虚拟化领域,特别是涉及一种虚拟网络优化方法与系统。
技术介绍
虚拟化是云计算的基础技术,网络虚拟化则是虚拟化技术的重要支撑,其对云计算平台的整体效率有着至关重要的影响。网络虚拟化的性能优化十分具有挑战性,高速的网络设备要在很短的时间间隔内收发大量的网络包,而每个网络包的处理不可避免的伴随着额外的虚拟化开销。虚拟网络的发送过程可以利用下移、零拷贝以及Nagle算法优化等方法来优化,但是由于虚拟网络软件栈的特殊性,其接收过程可用的优化手段较少,导致接收性能受虚拟化影响更大。网络接收,尤其是网络小网络包(小包)的接收,是诸如LVS(LinuxVirtualServer)、Memcached等的网络服务的主要性能瓶颈。虚拟网络中的网络包处理将占用一定的CPU资源,且随着新一代的10GbE、40GbE高速以太网的应用与普及,大量的网络包处理将导致CPU饱和、网络性能的扩展性降低。网络虚拟化接收过程的开销一般分为两类:每字节(Per-Byte)开销和每包(Per-Packet)开销。每字节开销主要包括数据拷贝、校验计算等的开销,传统上是网络接收过程的主要开销;随着现代CPU体系结构的发展,特别是激进的预取策略以及缓存直接访问技术的发展,每字节开销得到了大幅优化。每包开销,例如协议处理和缓冲区管理,成为网络接收的主要开销;对于网络小网络包而言,由于需拷贝、校验的数据较少,包处理开销占比更是凸显。与物理环境相比,软件虚拟网络在处理路径上多出了软件网桥与防火墙、后端驱动、前端驱动等环节,引入了额外的协议栈处理、缓冲区拷贝、上下文切换 ...
【技术保护点】
一种虚拟网络优化方法,其特征在于,该方法,包括组包步骤、拆包步骤和共享授权页面步骤,其中:组包步骤,将拥有相同源和目的链路地址的包组成组合网络包,生成组合网络包;共享授权页面步骤,接收该组合网络包,并通过共用内存页面的方式将该组合网络包拷贝至虚拟机的前端驱动;拆包步骤,接收来自该前端驱动的该组合网络包,并根据I/O应答确定该组合网络包中的小网络包,对该组合网络包进行拆分,并将拆分后得到的小网络包交由上层网络协议栈进行处理。
【技术特征摘要】
1.一种虚拟网络优化方法,其特征在于,该方法,包括组包步骤、拆包步骤和共享授权页面步骤,其中:组包步骤,将拥有相同源和目的链路地址的包组成组合网络包,生成组合网络包;共享授权页面步骤,接收该组合网络包,并通过共用内存页面的方式将该组合网络包拷贝至虚拟机的前端驱动;拆包步骤,接收来自该前端驱动的该组合网络包,并根据I/O应答确定该组合网络包中的小网络包,对该组合网络包进行拆分,并将拆分后得到的小网络包交由上层网络协议栈进行处理。2.如权利要求1所述的虚拟网络优化方法,其特征在于,该组包步骤包括:步骤S201,将接收到的网络包放入每个CPU的接收队列,并从该接收队列读取该网络包;步骤S202,根据该网络包的目的地址,判断该目的地址是否为虚拟机,若不是,则直接执行步骤S206,若是,则继续执行步骤S203开始组包;步骤S203,从该网络包的套接字缓冲中获取其源链路层地址和目的链路层地址,并对该源链路层地址和该目的链路层地址进行哈希运算,生成哈希结果;步骤S204,根据该哈希结果将该网络包插入至相应的包队列,生成组合网络包;步骤S205,判断组包结束条件,若未满足条件,则继续执行步骤S202进行组包处理,若已满足条件,则执行步骤S206;步骤S206,将该组合网络包交由软件网桥与链路层防火墙进行处理;步骤S207,接收经由步骤S206软件网桥与链路层防火墙处理后的该组合网络包,后端驱动对该组合网络包设定特殊标志。3.如权利要求1所述的虚拟网络优化方法,其特征在于,该拆包步骤包括:步骤S208,前端驱动接收网络包,并读取该该网络包的I/O应答;步骤S209,根据该I/O应答判断该网络包是否为组合网络包,若不是组合网络包,则执行步骤S211,若是组合网络包,则执行步骤S210;步骤S210,根据该I/O应答将该组合网络包中的小网络包分别拷贝至独立的套接字缓冲中;步骤S211,由客户虚拟机上层网络协议栈进行后续处理。4.如权利要求1所述的虚拟网络优化方法,其特征在于,该共享授权页面步骤,包括:步骤S310,后端驱动接收到组合网络包时,该后端驱动遍历该组合网络包即以确定该组合网络包的大小;步骤S320,前端驱动检查页面重用缓存是否存在可用的授权页面及引用,若存在可用的页面,则执行步骤S321,直接选取可用的页面并将引用授权至后端驱动;若不存在可用页面,则执行步骤S322,重分配新的页面及引用授权至后端驱动;步骤S330,后端驱动获得该页面的授权,并通过该引用授权将该组合网络包拷贝至该页面;步骤S340,后端驱动根据该组合网络包的大小,判断授权页面剩余空间是否足够拷贝下一个组合网络包,若空间足够,则执行步骤S330继续拷贝数据,若空间足够,则执行步骤S350;步骤S350,通知前端驱动该组合网络包的到达。5.如权利要求2所述的虚拟网络优化方法,其特征在于,该组包结束条件具体为,判断该接收队列中是否有可组...
【专利技术属性】
技术研发人员:郭振兴,安仲奇,黎斐南,李豪,李强,霍志刚,
申请(专利权)人:中国科学院计算技术研究所,中国科学院国有资产经营有限责任公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。