虚拟网络的报文处理方法、电子设备及存储介质技术

技术编号:29206182 阅读:29 留言:0更新日期:2021-07-10 00:41
本申请实施例涉及通信技术领域,公开了一种虚拟网络的报文处理方法、电子设备及存储介质。本申请中,应用于报文发送端的虚拟网络的报文处理方法包括:在虚拟交换机上获取到待转发的UDP报文后,判断待转发的UDP报文是否需要进行分片;若待转发的UDP报文需要进行分片,则通过虚拟交换机上运行的数据平面开发套件在mbuf存储器缓存中对待转发的UDP报文进行分片处理;转发经过分片处理后的UDP报文。通过上述手段,在虚拟交换机上实现了包括VXLAN报文在内的UDP报文的分片问题,使得计算节点上的虚拟交换机能够支持UDP报文分片卸载功能,从而使得虚拟机能够开启UDP卸载,进而减少虚拟机的性能消耗。的性能消耗。的性能消耗。

【技术实现步骤摘要】
虚拟网络的报文处理方法、电子设备及存储介质


[0001]本申请实施例涉及通信
,特别涉及一种虚拟网络的报文处理方法、电子设备及存储介质。

技术介绍

[0002]随着互联网的高速发展,云产业快速崛起,为了支持多样化的网络功能,基础架构网络逐渐偏向基于通用计算平台或模块化计算平台的架构融合,也就是采用云计算平台来进行网络功能的虚拟化。目前在基于Openstack的云计算平台上,由于云计算的规模不断扩大,以往采用基于虚拟局域网(Virtual Local Area Network,VLAN)的租户隔离技术面临着越来越多的问题,其中包括VLAN数量的限制(只有4094个可用VLAN)、基于IP子网的区域划分局限了租户的二层网络只能在同一个区域内通信。因此目前的云计算平台上越来越多地采用基于虚拟扩展局域网(Virtual eXtensible Local Area Network,VXLAN)的租户隔离技术来代替旧的VLAN租户隔离。同时,现在云计算的网络数据转发一般由虚拟机交换机(OpenvSwitch,OVS)负责,内核态的OVS性能有限,而基于数据平面开发套件(DataPlaneDevelopmentKit,DPDK)的用户态OVS可以提高OVS的转发性能。尤其是在使用VXLAN网络的大规模数据中心中,转发流量越来越多,需要配合基于DPDK的用户态OVS来提高网络性能。
[0003]然而,专利技术人发现目前在OpenStack网络中基于DPDK的用户态OVS实现的VXLAN网络实施过程中,会遇到最大传输单元(Max Transmission Unit,MTU)问题,即租户网络的报文在OVS上封装VXLAN报文头或添加有UFO标识,报文的大小如果超过虚拟扩展局域网隧道端点(VXLANtunnelendpoint,Vtep)之间的基础网络的MTU后将会网卡被丢弃。在内核态OVS上,由于Vtep收发的报文经过内核协议栈,即便超过MTU后,也会被IP层分片处理。而在DPDK态OVS上,所有的报文都不经过内核协议栈,只在用户态OVS上处理,因此对于VXLAN报文只是简单地封装一个头部后发送,对于二层转发设备的OVS来说,不会进行报文的分片工作,导致部分报文被直接丢弃。

技术实现思路

[0004]本申请实施例的目的在于提供一种虚拟网络的报文处理方法、电子设备及存储介质,使得虚拟节点上的OVS能够接收携带有UFO标识的报文或超过MTU的分片报文,以及能够对超过MTU的UDP报文进行分片,即计算节点上的虚拟交换机能够支持UDP报文分片卸载功能UFO,从而使得虚拟机能够开启UDP卸载,进而减少虚拟机的性能消耗。
[0005]为解决上述技术问题,本申请的实施例提供了一种虚拟网络的报文处理方法,应用在报文发送端,包括:在虚拟交换机OVS上获取到待转发的UDP报文后,判断待转发的UDP报文是否需要进行分片;若待转发的UDP报文需要进行分片,则通过OVS上运行的数据平面开发套件DPDK在mbuf存储器缓存中对待转发的UDP报文进行分片处理;转发经过分片处理后的UDP报文。
[0006]本申请的实施例还提供了一种虚拟网络的报文处理方法,应用在报文接收端,包括:若在虚拟交换机OVS上接收到的报文为UDP分片报文,则通过DPDK在mbuf存储器缓存中对UDP分片报文进行组包处理;判断经过组包处理的UDP报文是否为VXLAN报文;若UDP报文不是VXLAN报文,则对UDP报文进行再次分片处理;向下一节点转发经过组包处理的VXLAN报文和/或经过再次分片处理的VXLAN报文。
[0007]本实施例还提供了一种电子设备,包括:与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述应用在报文接收端的虚拟网络报文处理方法,或,应用在报文发送端的虚拟网络报文处理方法。
[0008]本实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述应用在报文接收端的虚拟网络报文处理方法,或,应用在报文发送端的虚拟网络报文处理方法。
[0009]本申请实施例相对于现有技术而言,在基于DPDK实现的OVS中,在网络层通过软件方法来实现对UDP报文的分片,使的虚拟节点能够在OVS上接收携带有UFO标识的UDP报文以及超过MTU的UDP报文,并对超过MTU的报文进行分片处理,提高虚拟网络中处理UDP报文的效率,同时降低OVS所在节点上的虚拟机的性能负载。
[0010]另外,本实施例中通过OVS上运行的数据平面开发套件DPDK对待转发的UDP报文进行分片处理,包括:复制并保存待转发的UDP报文的链路层头部字段;调用DPDK的分片函数在mbuf中对待转发的UDP报文进行分片,得到所有UDP报文分片;在所有UDP报文分片mbuf中添加保存的的链路层头部字段。通过上述技术手段,采用DPDK的分片函数进行分片处理,直接在mbuf中进行分片相关的修改操作以及报文头的添加,减少了对报文的数据处理操作,也就减少了节点上的I/O数据输入与输出的占用,降低了报文分片处理对节点资源的占用。
[0011]另外,本实施例中在判断待转发的UDP报文是否需要进行分片之前,还包括:若待转发的UDP报文为虚拟扩展局域网VXLAN报文,则在对待转发的UDP报文进行VXLAN封装时添加网络层标识。通过上述技术手段,对分片后的VXLAN报文进行标识,使得后续接收分片VXLAN报文的节点能够正常识别VXLAN报文。
[0012]另外,本实施例中在向下一节点转发经过组包处理的VXLAN报文或经过再次分片处理的非VXLAN报文之前,还包括:若UDP报文为非VXLAN报文,则对非VXLAN报文进行网络层的校验计算并根据校验计算的结果在所述非VXLAN报文中修改校验值字段;修改各报文分片mbuf中报文的包长字段和数据长度字段。通过上述技术手段,对非VXLAN报文的UDP分片报文进行校验,保证UDP报文的完整性与正确性。
[0013]另外,本实施例中对经过组包处理得到的UDP报文进行再次分片处理,包括:修改UDP报文首个报文分片缓存中的分片偏移字段;其中,修改后的分片偏移字段表示首个报文分片mbuf中的报文分片为首个报文分片;将除首个报文分片mbuf以外的剩余报文分片mbuf指针修改为指向UDP报文的链路层信息;修改所述剩余报文分片mbuf中的包长度字段和数据长度字段。通过上述技术手段,在缓存中修改报文分片的偏移字段,从而实现在报文接收端进行报文复原的零拷贝分片处理,降低OVS所在节点上的虚拟机的性能负载。
附图说明
[0014]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
[0015]图1是根据本申请第一实施例中网络拓扑的结构示意图;
[0016]图2是根据本申请第一实施例中虚拟网络的报文处理方法的流程图;
[0017]图3是根据本申请第二实施例中虚拟网络的报本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟网络的报文处理方法,应用于报文发送端,包括:在虚拟交换机上获取到待转发的UDP报文后,判断所述待转发的UDP报文是否需要进行分片;若所述待转发的UDP报文需要进行分片,则通过虚拟交换机上运行的数据平面开发套件在存储器缓存中对所述待转发的UDP报文进行分片处理;转发经过所述分片处理后的UDP报文。2.根据权利要求1所述的虚拟网络的报文处理方法,其特征在于,所述通过虚拟交换机上运行的数据平面开发套件在存储器缓存中对所述待转发的UDP报文进行分片处理,包括:复制并保存所述待转发的UDP报文的链路层头部字段;调用数据平面开发套件的分片函数对所述待转发的UDP报文在存储器缓存中进行分片,得到所有UDP报文分片;在所述所有UDP报文分片的所述存储器缓存中添加保存的所述链路层头部字段。3.根据权利要求1所述的虚拟网络的报文处理方法,其特征在于,在所述判断所述待转发的UDP报文是否需要进行分片之前,还包括:若所述待转发的UDP报文为虚拟扩展局域网VXLAN报文,则在所述待转发的UDP报文进行VXLAN封装时添加网络层标识。4.根据权利要求3所述的虚拟网络的报文处理方法,其特征在于,所述待转发的UDP报文携带有UFO标识;在所述通过基于数据平面开发套件实现的虚拟交换机对所述待转发的UDP报文进行分片处理之前,还包括:调用网卡设备对所述待转发的UDP报文进行校验计算,在所述待转发的UDP报文中修改校验值字段。5.根据权利要求1所述的虚拟网络的报文处理方法,其特征在于,还包括:若在作为报文接收端的虚拟交换机上接收到的报文为UDP分片报文,则通过数据平面开发套件在存储器缓存中对所述UDP分片报文进行组包处理;报文接收端判断经过组包处理得到的UDP报文是否为VXLAN报文;若所述UDP报文是非VXLAN报文,则报文接收端对所述经过组包处理得到的UDP报文进行再次分片处理;报文接收端向下一节点转发经过组包处理的VXLAN报文或所述经过再次分片处理的非VXLAN报文。6.根据权...

【专利技术属性】
技术研发人员:谢明清
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

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

1