[发明专利]基于软件实现的双网口数据转发及速率控制方法无效
申请号: | 200610106948.0 | 申请日: | 2006-08-29 |
公开(公告)号: | CN101136840A | 公开(公告)日: | 2008-03-05 |
发明(设计)人: | 贾小波;王安健;惠作奎;严涛 | 申请(专利权)人: | 郑州威科姆技术开发有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04B7/005;H04B7/26;H04L29/06;H04L12/26 |
代理公司: | 郑州中原专利事务所有限公司 | 代理人: | 霍彦伟 |
地址: | 45001*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 软件 实现 双网口 数据 转发 速率 控制 方法 | ||
技术领域
本发明涉及一种网络数据技术,尤其是涉及一种基于软件实现的双网口数据转发及速率控制方法。
背景技术
目前,在设计网路测试仪的过程中,发现在实际的用户使用过程中,用户往往需要一个hub或交换机来配合网络测试仪完成网络的测试和诊断功能。但是往往在网络测试仪的使用现场没有hub或交换机,这样用户必须携带一个hub或交换机到现场来完成测试项目,给用户带来很大的不便。
另外在对网络进行测试的过程中,也需要对用户的终端产品对网络带宽的适应性进行测试,所以往往需要对终端产品到网络的的带宽进行限定,但是现在的网络往往只能提供一个分级的带宽限定,而不能提供一个很平滑的速率限定模式。
发明内容
本发明的目的就在于A:解决在网络测试仪使用过程中,用户需要携带hub或交换机来完成网络测试的问题。使网络测试仪直接能过进行数据转发,从而简化用户的测试方式。B:解决在网路测试过程中,不能很平滑的调整带宽的问题,是用户能过很快很方便的完成网络测试的工作。从而提供一种基于软件实现的双网口数据转发及速率控制方法。
本发明的目的可通过以下措施来实现:
本发明方法如下,本发明分别对网络的上行链路和下行链路分别进行控制,本发明主要分为两大部分:上行链路控制和下行链路控制;上行链路控制和下行链路控制实现方法完全相同,上行链路控制和下行链路控制均主要分为三大部分:数据接收、数据速率控制、数据发送;
数据接收部分:
数据接收主要是:设置网口的工作模式为混杂模式和对接收过来的数据进行处理,检出发往本CPU的数据,送到本地CPU进行处理,然后将数据送到速率控制模块中,在此使用一个数据缓冲区来存放接收过来的数据;
设置一个协议栈(vcom filter),并作为最高优先级的协议栈挂接在协议复用层mux上面,下一个优先级的协议栈就是ip协议栈;
数据速率控制部分:
数据速率控制的方法为设置一个速率控制的时间单位time,采用基本速率控制的时间单位time和以太网数据包按包转发的机制相结合的方法来完成对数据转发速率的控制;其方法如下:
首先根据用户设定的转发速率计算出时间单位time内所应转发的数据量,此数据量称为单位转发限定量;同时记录当前的系统时间,此时间称为单位转发的开始时间。
然后从内存缓冲区中读取一个以太网数据包进行转发,同时将此以太网数据包的长度进行累加,此长度成为单位转发数据量;同时将单位转发数据量与单位转发限定量进行比较,
如果单位转发数据量大于单位转发限定量,则取出当前时间,此称为单位转发的结束时间;
然后取单位转发的结束时间与单位转发的开始时间的时间差,如果此差值小于最基本的速率控制的时间单位time,则取二者的差值,暂停数据的转发,暂停时间即为二者的差值的时间;如果二者差值大于等于最基本的速率控制的时间单位,则不进行任何处理;到此一个基本的速率控制转发单位的处理完成,接下来即开始进行下一个基本的速率控制转发单位的处理;
数据发送部分:
数据发送采用协议复用层mux的数据发送函数进行数据发送,在数据发送模块中只是进行了调用协议复用层mux的数据发送函数,其它则有协议复用层mux来全部完成剩下的工作。
本发明的方法基于IBM405EP网络CPU实现。时间单位time为200ms。
本发明由于采用上述技术,从而具有以下优点:
1、使用软件实现数据转发,省掉了专用的以太网数据交换芯片,节省了成本。
2、在占用cpu较低情况下完成了数据的高速转发,最高可达50Mbps;
3、可以实现以太网数据交换芯片所不能实现的上下链路分别限速,限速力度为1Kbps;
采用小粒度的速率控制方式,保证了数据传输的稳定性,和较小的时延抖动。
附图说明
图1是本发明中数据接收的程序流程图;
图2是本发明中数据速率的程序流程图;
具体实施方式
本发明以下结合附图和实施例作以详细的描述:
实施例1
如图所示,本发明方法如下,本发明分别对网络的上行链路和下行链路分别进行控制,本发明主要分为两大部分:上行链路控制和下行链路控制;上行链路控制和下行链路控制实现方法完全相同,上行链路控制和下行链路控制均主要分为三大部分:数据接收、数据速率控制、数据发送;
数据接收部分:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州威科姆技术开发有限公司,未经郑州威科姆技术开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610106948.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带保护装置的交流电磁线圈
- 下一篇:实现发射功率控制的方法及装置