System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 测速方法及测速系统技术方案_技高网

测速方法及测速系统技术方案

技术编号:40820796 阅读:2 留言:0更新日期:2024-04-01 14:40
本发明专利技术公开一种测速方法及测速系统。测速方法用于测试连网装置及服务器之间的数据传输速度,且包括:配置处理器以执行操作系统,其包括用户空间与内核空间;配置测速程序通过网络接口驱动程序控制网络接口,以与服务器建立TCP连接,并取得连接相关信息;配置测速程序以启动测速模块,使测速模块接管TCP连接,并执行接收发送处理程序。在发送处理程序中,测速模块接收多个封包,并判断测速数据流的当前封包为连续封包、不连续封包或重传封包。若当前封包为该连续封包,则配置测速模块更新当前序列号并统计流量,计算下载速率并回复给测速程序。

【技术实现步骤摘要】

本专利技术涉及一种测速方法及测速系统,特别是涉及一种可在低处理性能下实现的本地测速方法及本地测速系统。


技术介绍

1、随着电信营运商提供的带宽越来越大,常见的多线程客户端(诸如wget/axel等测速工具)逐渐无法满足测速要求,为了适应千兆及千兆以上带宽环境,必须开发新的测速机制以满足电信营运商需求。

2、以电信营运商提供的家庭被动式光纤网络(passive optical network,pon)网关为例,当作为客户端进行测速下载时,由于处理性能较差,若以一般的传输控制协议的协议栈来执行测速下载,将受到各种因素导致影响最终的网关的测速结果。

3、影响网关测速结果的因素主要有几个方面,例如,网关一般为系统单芯片(systemon chip,soc)架构,因此,其处理器的处理能力有限。再者,协议栈在下载处理过程中,协议栈中有许多软中断,其调度会消耗一定的时间。

4、此外,wget/axel等测速工具均是在用户空间中运行的软件,当封包由网络接口驱动程序接收,经过内核(kernel)的处理,再传递给用户空间时,需执行内存复制的动作,此交互程序也消耗了一定的处理时间。而当wget/axel收到封包进行储存时也须耗费时间。


技术实现思路

1、本专利技术所要解决的技术问题在于,针对现有技术的不足提供一种可在低处理性能下实现的本地测速方法及本地测速系统。

2、为了解决上述的技术问题,本专利技术所采用的其中一种技术方案是提供一种测速方法,用于测试连网装置及服务器之间的数据传输速度,该连网装置包括处理器、内存及网络接口,测速方法包括下列步骤:配置该处理器执行操作系统,该操作系统包括用户空间与内核空间;配置该用户空间中的测速程序通过该内核空间的网络接口驱动程序控制该网络接口,以与该服务器建立传输控制协议(transmission control protocol,tcp)连接,并取得与该tcp连接关联的连接相关信息;配置该测速程序启动该内核空间中的测速模块的测速功能,同时将该连接相关信息传送至该测速模块;响应于该测速功能启动,配置该测速模块接管该tcp连接,并执行接收发送处理程序,其中,该接收发送处理程序包括:通过该网络接口驱动程序接收来自该网络接口的多个封包;配置该测速模块判断所接收到的当前封包是否为测速数据流,若否,则将该当前封包传送至该内核空间的协议栈(protocol stack);若该当前封包为该测速数据流,记录该当前封包的序列号(sequence number)、确认号(acknowledgement number)及ip标识符,并与当前序列号进行比较,以判断该当前封包为连续封包、不连续封包或重传封包;若该当前封包为该连续封包,则更新该当前序列号并统计流量,计算下载速率并回复给该测速程序;若该当前封包为该不连续封包,则通知该服务器需要重传封包;若该当前封包为该重传封包,则通知该服务器已收到该重传封包。

3、为了解决上述的技术问题,本专利技术所采用的另外一种技术方案是提供一种测速系统,适用于测试连网装置及服务器之间的数据传输速度,该连网装置包括处理器、内存及网络接口,所述的测速系统包括操作系统、网络接口驱动程序、测速程序及测速模块。操作系统,由该处理器所执行,该操作系统包括用户空间与内核空间。网络接口驱动程序,该内核空间中运行,经配置以控制该网络接口。测速程序,于该用户空间中运行,经配置以通过该网络接口驱动程序控制该网络接口,以与该服务器建立tcp连接,并取得与该tcp连接关联的连接相关信息。测速模块,于该内核空间中运行,且经配置供该测速程序启动测速功能,并接收来自该测速程序的该连接相关信息。其中,响应于该测速功能启动,该测速模块经配置以接管该tcp连接,并执行接收发送处理程序,其中,该接收发送处理程序包括:通过该网络接口驱动程序接收来自该网络接口的多个封包;配置该测速模块判断所接收到的当前封包是否为测速数据流,若否,则将该当前封包传送至该内核空间的协议栈(protocolstack);若该当前封包为该测速数据流,记录该当前封包的序列号(sequence number)、确认号(acknowledgement number)及ip标识符,并与当前序列号进行比较,以判断该当前封包为连续封包、不连续封包或重传封包;若该当前封包为该连续封包,则更新该当前序列号并统计流量,计算下载速率并回复给该测速程序;若该当前封包为该不连续封包,则通知该服务器需要重传封包;若该当前封包为该重传封包,则通知该服务器已收到该重传封包。

4、本专利技术的有益效果在于,在本专利技术所提供的测速方法及测速系统中,开发了于内核空间运行的测速模块,直接取代用户进程,通过省去用户调度的步骤,直接对下载封包进行接收发送处理,且由于测速模块直接与网络接口驱动程序关联,除了可节省随机存取内存与高速缓存的资源外,还可避免受到用户空间与内核空间之间的交互程序影响,极大的提高了测速效能。

5、并且,本专利技术所提供的测速方法及测速系统还实现一个简易版的tcp协议栈架构,而不依赖标准linux的协议栈来完成网络接口下载的操作,同时还确保用户能够正常存取网络功能。再者,由于是在内核空间的驱动程序(driver)层面实现tcp协议,可满足营运商的测试规范要求。

6、为使能更进一步了解本专利技术的特征及
技术实现思路
,请参阅以下有关本专利技术的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本专利技术加以限制。

本文档来自技高网...

【技术保护点】

1.一种测速方法,用于测试连网装置及服务器之间的数据传输速度,其特征在于,所述连网装置包括处理器、内存及网络接口,所述测速方法包括下列步骤:

2.如权利要求1所述的测速方法,其特征在于,所述测速程序为wget或axel下载工具,且所述测速程序与所述服务器建立所述TCP连接的步骤包括执行三次握手程序,以作为客户端向所述服务器发起所述TCP连接,同时于协商过程中判断所述TCP连接是否支持选择性确认机制,并通过所述连接相关信息告知所述测速模块。

3.如权利要求2所述的测速方法,其特征在于,所述测速模块包括多个配置接口,包括:

4.如权利要求3所述的测速方法,其特征在于,所述连接相关信息包括所述TCP连接的五元组信息,以及所述TCP连接是否支持所述SACK机制的SACK支持信息。

5.如权利要求3所述的测速方法,其特征在于,判断所述当前封包为所述连续封包、所述不连续封包或所述重传封包的步骤包括:

6.如权利要求5所述的测速方法,其特征在于,若判断所述当前封包并非为所述首个封包,则将所述当前封包的所述序列号与所述当前序列号比较;以

7.如权利要求6所述的测速方法,其特征在于,若比较所述序列号与所述当前序列号后判断所述序列号与所述当前序列号具有重复关系,则判断所述当前封包为所述重传封包,并进一步判断所述TCP连接是否支持所述SACK机制;

8.如权利要求7所述的测速方法,其特征在于,若比较所述序列号与所述当前序列号后判断所述序列号与所述当前序列号具有不连续关系,则判断所述当前封包为所述不连续封包,进一步判断所述TCP连接是否支持所述SACK机制,若是,则通知所述服务器并依据所述序列号与所述当前序列号的所述不连续关系要求仅重传丢失的封包,若否,则通知所述服务器,同时依据所述序列号与所述当前序列号的所述不连续关系要求重传所述当前序列号后的所有数据。

9.如权利要求1所述的测速方法,其特征在于,若判断所述当前封包为所述连续封包,则进一步判断是否连续收到第二预定数量以上的多个所述连续封包,若是,则通知所述服务器已经收到所述些连续封包,若否,则经过预定延迟时间再通知所述服务器已收到所述些连续封包。

10.一种测速系统,适用于测试连网装置及服务器之间的数据传输速度,其特征在于,所述连网装置包括处理器、内存及网络接口,所述的测速系统包括:

...

【技术特征摘要】

1.一种测速方法,用于测试连网装置及服务器之间的数据传输速度,其特征在于,所述连网装置包括处理器、内存及网络接口,所述测速方法包括下列步骤:

2.如权利要求1所述的测速方法,其特征在于,所述测速程序为wget或axel下载工具,且所述测速程序与所述服务器建立所述tcp连接的步骤包括执行三次握手程序,以作为客户端向所述服务器发起所述tcp连接,同时于协商过程中判断所述tcp连接是否支持选择性确认机制,并通过所述连接相关信息告知所述测速模块。

3.如权利要求2所述的测速方法,其特征在于,所述测速模块包括多个配置接口,包括:

4.如权利要求3所述的测速方法,其特征在于,所述连接相关信息包括所述tcp连接的五元组信息,以及所述tcp连接是否支持所述sack机制的sack支持信息。

5.如权利要求3所述的测速方法,其特征在于,判断所述当前封包为所述连续封包、所述不连续封包或所述重传封包的步骤包括:

6.如权利要求5所述的测速方法,其特征在于,若判断所述当前封包并非为所述首个封包,则将所述当前封包的所述序列号与所述当前序列号比较;以及

7.如权利要求6所...

【专利技术属性】
技术研发人员:徐巧亮
申请(专利权)人:瑞昱半导体股份有限公司
类型:发明
国别省市:

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

1