[发明专利]基于Linux内核提高网络设备测试性能的方法在审
申请号: | 201711276264.X | 申请日: | 2017-12-06 |
公开(公告)号: | CN108011781A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 张定理;操靖哲 | 申请(专利权)人: | 上海市共进通信技术有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 上海智信专利代理有限公司 31002 | 代理人: | 王洁;郑暄 |
地址: | 200235 上海市徐*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 linux 内核 提高 网络设备 测试 性能 方法 | ||
本发明涉及一种基于Linux内核提高网络设备测试性能的方法,该方法为利用钩子函数直接在驱动层响应TCP报文。采用了该发明中的基于Linux内核提高网络设备测试性能的方法,能够在不提升CPU性能的情况下,优化CPU对TCP下载报文的处理速度,提升TCP下载测速性能,降低网络设备的成本,延长网络设备的生命周期。
技术领域
本发明涉及计算机技术领域,尤其涉及网络设备的测试领域,具体是指一种基于Linux内核提高网络设备测试性能的方法。
背景技术
在家庭网关等网络设备中,为了获取链路的传输速率,往往通过让网络设备进行HTTP/FTP等TCP下载的方式来进行测试,但由于网络设备CPU的运算能力有限,实际测试出来的链路速度很难达到真实的链路速率,为了解决这个问题,一般都需要升级网络设备的CPU,增加了额外的成本。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够降低成本的基于Linux内核提高网络设备测试性能的方法。
为了实现上述目的,本发明的基于Linux内核提高网络设备测试性能的方法具有如下构成:
该基于Linux内核提高网络设备测试性能的方法,其主要特点是,所述的方法包括以下步骤:
(1)在所述的Linux内核中加载测速模块,并通过所述测速模块的参数指定下载服务器的IP地址和TCP端口号;
(2)一测速钩子函数判断接收的报文的IP地址和TCP端口号是否和所述下载服务器的IP地址和TCP端口号相匹配,如匹配,则所述的报文为TCP下载报文并进入步骤(3),否则按正常的流程进行处理;
(3)解析所述的TCP下载报文的IP头和TCP头,并计算出所述的TCP下载报文的TCP数据长度;
(4)根据所述的TCP下载报文的TCP数据长度计算出ACK报文的序列号和ACK序列号;
(5)根据所述的TCP下载报文和ACK序列号,填充ACK报文并发送。
该基于Linux内核提高网络设备测试性能的方法的步骤(1)还包括:
所述的测速模块挂载测速钩子函数。
该基于Linux内核提高网络设备测试性能的方法的测速模块在网络驱动层和IP层之间挂载所述的测速钩子函数。
该基于Linux内核提高网络设备测试性能的方法的挂载所述的测速钩子函数具体为:
在内核函数netif_receive_skb()中添加一个对测速钩子函数的调用,如果钩子函数返回成功,则直接返回,否则按所述的正常流程进行处理。
该基于Linux内核提高网络设备测试性能的方法的步骤(2)中,所述的测试钩子函数通过监听网卡驱动接收的报文来判断所述的报文的IP地址和TCP端口号是否和所述下载服务器的IP地址和TCP端口号相匹配。
该基于Linux内核提高网络设备测试性能的方法的步骤(3)中,若所述的报文为TCP三次握手的下载报文,则对该报文按所述的正常的流程进行处理。
该基于Linux内核提高网络设备测试性能的方法的步骤(3)中,通过获取IP报文总长度、IP头长度和TCP头长度,来计算所述的TCP下载报文的TCP数据长度。
该基于Linux内核提高网络设备测试性能的方法的步骤(4)具体为:
解析所述的TCP下载报文的TCP头,获取TCP的序列号和ACK序列号,并结合TCP下载报文的TCP数据长度计算出ACK报文的序列号和ACK序列号。
该基于Linux内核提高网络设备测试性能的方法的TCP下载报文的TCP数据长度的计算过程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海市共进通信技术有限公司,未经上海市共进通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711276264.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型、实用的架空线路标志牌安装支架
- 下一篇:滑轨调平式立体旋转车库