报文分片传输方法和装置制造方法及图纸

技术编号:14417898 阅读:54 留言:0更新日期:2017-01-12 12:37
本发明专利技术揭示了一种报文分片传输方法和装置,所述方法包括以下步骤:获取报文的第一指示符并存储,第一指示符用于标识报文的报文头的存储位置;每次分片时,根据第一指示符读取报文头,并读取一个分片报文的有效载荷;将报文头和有效载荷组成分片报文后予以传输。本发明专利技术实施例所提供的一种报文分片传输方法,通过存储标识报文的报文头的存储位置的第一指示符,每次分片传输时根据第一指示符重复从主机内存读取报文头即可,无需存储报文头。由于第一指示符的长度远远小于报文头的长度,因此减小了对存储空间的占用,极大的节省了存储空间。由于存储的是第一指示符而非报文头,因此能够支持更长的报文头,即可以分片传输具有更长报文头的报文。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及到一种报文分片传输方法和装置
技术介绍
随着虚拟化服务器部署的不断增加,虚拟化技术不光在计算资源和内存资源上不断深入与变革,在I/O性能方面也不断进行着变革。在现阶段的虚拟化过程当中,处理器和内存的虚拟化更为彻底,I/O资源(主要是网络设备)逐渐变成新的瓶颈。当越来越多的不同性质的虚拟机跑在同一台物理服务器上时,各个虚拟机的进出数据全部跑在同一个网络通道上。如果没有网络设备虚拟化技术,安全隔离和服务质量保证就无从谈起。网络设备虚拟化技术主要有硬件实现和软件实现两种方式,对于不支持虚拟化的网络设备,只能采用软件实现的方式,但是软件实现的方式弊端很多。首先就是开销太大,普通万兆网络设备在现有的多虚拟机的环境下就已经耗费了很多资源,更不用说要高效、精确地模拟各个虚拟机的传输队列。而且软件实现效率不高。对于支持虚拟化的网络设备(主要是单根I/O虚拟化技术‐SRIOV),虚拟化网络设备在不破坏现有业务的前提下,为每个虚拟机提供了一个模拟真实的网络通道,这个模拟出来的虚拟通道不光是对虚拟机透明,而且还要给每个虚拟机提供非虚拟化环境下的一切网络特性。只有在这样的环境中,上层应用在向虚拟化的迁移过程当中,不需要针对网络环境的变更而做出改变。因此,硬件虚拟化已经是网络设备虚拟化的一个趋势。在实现网络设备虚拟化的过程中,如何使得各个虚拟机都能获得有保证的网络传输质量是一个关键。网络传输质量主要包括网络带宽以及网络延时,如果在传输处理层面以每个虚拟机需要传输的整个传输控制协议(TransmissionControlProtocol,TCP)报文来作为一个最小的处理单元,对于其它的虚拟机来说网络延时太大。为了解决上网络延时的问题,一般的设计都是把处理包的颗粒度缩小到一个分片报文的数据包大小,也就是说,将TCP报文有效载荷(TCPPayload)切片成至少两个分片,每次传输一个分片,从而实现对TCP报文的分片传输。具体的,网络设备首先从主机内存中获取TCP报文的报文头并存储于本地,然后每次进行分片传输时,从主机内存中读取一个分片报文的有效载荷,并将本地存储的报文头和读取的有效载荷组成一个分片报文,通过物理通道传输出去。由于一个报文头包括以太网层头、网络协议层头和传输控制协议层头,长度较大,因此需要很大的片上存储空间来存储各个队列的报文头。假设网络设备最大支持的报文头是1千字节,那么对于支持128个队列的网络设备来说,单是存储报文头就需要总共占用网络设备128千字节的片上存储资源。因此,现有的报文分片传输方案,在分片传输过程中占用的存储空间较大,造成了网络设备的存储资源紧张。
技术实现思路
本专利技术的主要目的为提供一种报文分片传输方法,旨在分片传输过程中减小存储空间的占用。为达以上目的,专利技术人经仔细研究发现,报文分片传输过程中,在报文全部传输完毕之前,报文的报文头和报文内容均一直存储在主机内存当中。有鉴于此,本专利技术主要采取以下专利技术构思:网络设备在进行报文分片传输时,通过不予存储报文的报文头,而是在每次分片时重复读取报文头的方式,来减少需要的芯片存储资源。一方面,本专利技术提出一种报文分片传输方法,所述方法包括以下步骤:获取报文的第一指示符并存储,所述第一指示符用于标识所述报文的报文头的存储位置;每次分片时,根据所述第一指示符读取所述报文头,并读取一个分片报文的有效载荷;将所述报文头和所述有效载荷组成分片报文后予以传输。进一步地,所述获取报文的第一指示符并存储的步骤包括:获取所述报文的指示符和所述报文头的长度,所述指示符包括第一指示符;根据所述报文头的长度从所述指示符中提取出第一指示符并存储。进一步地,所述读取一个分片报文的有效载荷的步骤包括:当首次进行分片时,根据所述报文头的长度和最大数据分段值读取一个分片报文的有效载荷,并记录所述有效载荷分片结束的位置;当后续进行分片时,根据所述报文头的长度和最大数据分段值,从所述有效载荷分片结束的位置开始读取一个分片报文的有效载荷,当所述报文尚未全部传输完毕时,更新所述有效载荷分片结束的位置。进一步地,所述根据所述第一指示符读取所述报文头的步骤包括:根据所述第一指示符获取所述报文头的存储位置,根据所述存储位置从主机内存中读取所述报文头。进一步地,所述方法还包括:当所述报文全部传输完毕时,删除所述第一指示符。另一方面,本专利技术同时一种报文分片传输装置,所述装置包括:获取模块,用于获取报文的第一指示符并存储,所述第一指示符用于标识所述报文的报文头的存储位置;读取模块,用于每次分片时,根据所述第一指示符读取所述报文头,并读取一个分片报文的有效载荷;传输模块,用于将所述报文头和所述有效载荷组成分片报文后予以传输。进一步地,所述获取模块用于:获取所述报文的指示符和所述报文头的长度,所述指示符包括第一指示符;根据所述报文头的长度从所述指示符中提取出第一指示符并存储。进一步地,所述读取模块用于:当首次进行分片时,根据所述报文头的长度和最大数据分段值读取一个分片报文的有效载荷,并记录所述有效载荷分片结束的位置;当后续进行分片时,根据所述报文头的长度和最大数据分段值,从所述有效载荷分片结束的位置开始读取一个分片报文的有效载荷,当所述报文尚未全部传输完毕时,更新所述有效载荷分片结束的位置。进一步地,所述读取模块用于:根据所述第一指示符获取所述报文头的存储位置,根据所述存储位置从主机内存中读取所述报文头。进一步地,还包括删除模块,所述删除模块用于:当所述报文全部传输完毕时,删除所述第一指示符。本专利技术实施例所提供的一种报文分片传输方法,通过存储标识报文的报文头的存储位置的第一指示符,每次分片传输时根据第一指示符重复从主机内存读取报文头即可,无需存储报文头。由于第一指示符的长度远远小于报文头的长度,因此减小了对存储空间的占用,极大的节省了存储空间。同时,由于存储的是第一指示符而非报文头,因此能够支持更长的报文头,即可以分片传输具有更长报文头的报文,扩大了应用范围。附图说明图1是本专利技术第一实施例的报文分片传输方法的流程图;图2是本专利技术实施例中对报文进行分片处理的原理示意图;图3是本专利技术第二实施例的报文分片传输方法的流程图;图4是是本专利技术第三实施例的报文分片传输装置的模块示意图;图5是本专利技术第四实施例的报文分片传输装置的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。本
技术人员可以理解,除非另外定义本文档来自技高网
...
报文分片传输方法和装置

【技术保护点】
一种报文分片传输方法,其特征在于,包括以下步骤:获取报文的第一指示符并存储,所述第一指示符用于标识所述报文的报文头的存储位置;每次分片时,根据所述第一指示符读取所述报文头,并读取一个分片报文的有效载荷;将所述报文头和所述有效载荷组成分片报文后予以传输。

【技术特征摘要】
1.一种报文分片传输方法,其特征在于,包括以下步骤:获取报文的第一指示符并存储,所述第一指示符用于标识所述报文的报文头的存储位置;每次分片时,根据所述第一指示符读取所述报文头,并读取一个分片报文的有效载荷;将所述报文头和所述有效载荷组成分片报文后予以传输。2.根据权利要求1所述的报文分片传输方法,其特征在于,所述获取报文的第一指示符并存储的步骤包括:获取所述报文的指示符和所述报文头的长度,所述指示符包括第一指示符;根据所述报文头的长度从所述指示符中提取出第一指示符并存储。3.根据权利要求1所述的报文分片传输方法,其特征在于,所述读取一个分片报文的有效载荷的步骤包括:当首次进行分片时,根据所述报文头的长度和最大数据分段值读取一个分片报文的有效载荷,并记录所述有效载荷分片结束的位置;当后续进行分片时,根据所述报文头的长度和最大数据分段值,从所述有效载荷分片结束的位置开始读取一个分片报文的有效载荷,当所述报文尚未全部传输完毕时,更新所述有效载荷分片结束的位置。4.根据权利要求1所述的报文分片传输方法,其特征在于,所述根据所述第一指示符读取所述报文头的步骤包括:根据所述第一指示符获取所述报文头的存储位置,根据所述存储位置从主机内存中读取所述报文头。5.根据权利要求1‐4任一项所述的报文分片传输方法,其特征在于,所述方法还包括:当所述报文全部传输完毕时,删除所述...

【专利技术属性】
技术研发人员:钱利国张宇弘王界兵
申请(专利权)人:北京网迅科技有限公司杭州分公司
类型:发明
国别省市:浙江;33

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

1