CN102970246A - 一种以太网报文流量控制方法 - Google Patents

一种以太网报文流量控制方法 Download PDF

Info

Publication number
CN102970246A
CN102970246A CN2012104834427A CN201210483442A CN102970246A CN 102970246 A CN102970246 A CN 102970246A CN 2012104834427 A CN2012104834427 A CN 2012104834427A CN 201210483442 A CN201210483442 A CN 201210483442A CN 102970246 A CN102970246 A CN 102970246A
Authority
CN
China
Prior art keywords
message
time
byte
pass
auibytetable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012104834427A
Other languages
English (en)
Other versions
CN102970246B (zh
Inventor
钟华清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huanchuang Communication Technology Co Ltd
Original Assignee
Shanghai Huanchuang Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Huanchuang Communication Technology Co Ltd filed Critical Shanghai Huanchuang Communication Technology Co Ltd
Priority to CN201210483442.7A priority Critical patent/CN102970246B/zh
Publication of CN102970246A publication Critical patent/CN102970246A/zh
Application granted granted Critical
Publication of CN102970246B publication Critical patent/CN102970246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种以太网报文流量控制方法,该方法首先设定一个字节时间表,当报文进入时,以当前时间标尺为索引,通过查表方式获取该时间标尺内可通过的字节数,然后根据缓存区中报文的状态,判断报文的处理方式;通过、存入缓存区或者被丢弃。与现有技术相比,本发明具有高精度、使报文保持有序等优点。

Description

一种以太网报文流量控制方法
技术领域
本发明涉及一种网络控制方法,尤其是涉及一种以太网报文流量控制方法。
背景技术
在网络通信设备中,需要对接入用户的收发速率进行控制,使整个网络正常合理地运行。传统的设计中,将准备通过的报文长度换算成需要花费的时间,然后通过查看时间标尺令牌桶,确定报文是否能够通过。这种设计的精度受CPU系统时钟频率的影响较大。
传统的设计中,流量控制将超过当前速率的报文存入缓存区中,缓冲区报文由定时器发送,那么后期到来的报文有可能在缓存区报文之前发送,这样会导致报文乱序。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种高精度、使报文保持有序的以太网报文流量控制方法。
本发明的目的可以通过以下技术方案来实现:
一种以太网报文流量控制方法,该方法首先设定一个字节时间表,当报文进入时,以当前时间标尺为索引,通过查表方式获取该时间标尺内可通过的字节数,然后根据缓存区中报文的状态,判断报文的处理方式:通过、存入缓存区或者被丢弃。
该方法具体包括以下步骤:
a.报文进入后,根据上次报文到来时间点和当前的时间点,计算出时间标尺uiTickDiff;
b.以时间标尺uiTickDiff作为索引,从字节时间表auiByteTable中,获取当前时间标尺内可通过的字节数uiByteAvail;
c.将uiByteAvail累加到可通过的总字节数g_uiByteAvail中;
d.判断g_uiByteAvail的长度是否大于或等于当前报文的总长度,若是,则进行步骤e,若否,则进入步骤f;
e.判断缓存区中是否存在报文,若是,则进入步骤f,若否,则从g_uiByteAvail中减去报文的长度,并且允许报文通过,报文处理结束;
f.判断缓冲区是否已满,若是,则丢弃报文,报文处理结束,若否,则将报文存入缓存区,报文处理结束。
所述的步骤f中将报文存入缓存区后,启动系统定时器,按照当前设置的传输速率来发送缓存区中的报文。
所述的字节时间表auiByteTable为数组形式,其索引为时间标尺,每个单元的数值表示对应时间标尺内可通过的字节数。
所述的字节时间表中每个单元的数值的计算方式如下:
对于字节时间表中的第一个单元auiByteTable[1]:
auiByteTable[1]=((S*1024)/8)/N,表示单位时间标尺内可通过的字节数,S为当前设置的传输速率,N为字节时间表的单元数目;
对于字节时间表中的第i个单元,i=[2,N]:
auiByteTable[i]=i*auiByteTable[1]。
与现有技术相比,本发明具有以下优点:
1)拥有更高精度的流量控制功能,且受CPU系统时钟频率影响较小;
2)本发明提供报文保序机制,确保流量控制前后报文的顺序一致。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种以太网报文流量控制方法,该方法首先设定一个字节时间表,当报文进入时,以当前时间标尺为索引,通过查表方式获取该时间标尺内可通过的字节数,然后根据缓存区中报文的状态,判断报文的处理方式:通过、存入缓存区或者被丢弃。
该方法具体包括以下步骤:
在步骤a中,报文进入后,根据上次报文到来时间点和当前的时间点,计算出时间标尺uiTickDiff;
在步骤b中,以时间标尺uiTickDiff作为索引,从字节时间表auiByteTable中,获取当前时间标尺内可通过的字节数uiByteAvail;
在步骤c中,将uiByteAvail累加到可通过的总字节数g_uiByteAvail中:
在步骤d中,判断g_uiByteAvail的长度是否大于或等于当前报文的总长度,若是,则进行步骤e,若否,则进入步骤f;
在步骤e中,判断缓存区中是否存在报文,若是,则进入步骤f,若否,则从g_uiByteAvail中减去报文的长度uiPktLen,并且允许报文通过,报文处理结束;
在步骤f中,判断缓冲区是否已满,若是,则丢弃报文,报文处理结束,若否,则将报文存入缓存区,报文处理结束。
所述的步骤f中将报文存入缓存区后,启动系统定时器,按照当前设置的传输速率来发送缓存区中的报文。
所述的字节时间表auiByteTable为数组形式,其索引为时间标尺,每个单元的数值表示对应时间标尺内可通过的字节数。
本实施例中时间标尺的单位为毫秒(ms),字节时间表包含的单元数目为1000,当前设置的传输速率为S kbps,则所述的字节时间表中每个单元的数值的计算方式如下:
对于字节时间表中的第一个单元auiByteTable[1](第0个单元auiByteTable[0]不使用):
auiByteTable[1]=((S*1024)/8)/1000,表示单位时间标尺(即每一毫秒)内可通过的字节数;
对于字节时间表中的第i个单元,i=[2,999]:
auiByteTable[i]-i*auiByteTable[1]。
本实施例中时间标尺单位、字节时间表的大小等参数为本发明方案的一个优先实施例,对其进行的修改应当属于本发明方案的保护范围。

Claims (5)

1.一种以太网报文流量控制方法,其特征在于,该方法首先设定一个字节时间表,当报文进入时,以当前时间标尺为索引,通过查表方式获取该时间标尺内可通过的字节数,然后根据缓存区中报文的状态,判断报文的处理方式:通过、存入缓存区或者被丢弃。
2.根据权利要求1所述的一种以太网报文流量控制方法,其特征在于,该方法具体包括以下步骤:
a.报文进入后,根据上次报文到来时间点和当前的时间点,计算出时间标尺uiTickDiff;
b.以时间标尺uiTickDiff作为索引,从字节时间表auiByteTable中,获取当前时间标尺内可通过的字节数uiByteAvail;
c.将uiByteAvail累加到可通过的总字节数g_uiByteAvail中;
d.判断g_uiByteAvail的长度是否大于或等于当前报文的总长度,若是,则进行步骤e,若否,则进入步骤f;
e.判断缓存区中是否存在报文,若是,则进入步骤f,若否,则从g_uiByteAvail中减去报文的长度,并且允许报文通过,报文处理结束;
f.判断缓冲区是否已满,若是,则丢弃报文,报文处理结束,若否,则将报文存入缓存区,报文处理结束。
3.根据权利要求2所述的一种以太网报文流量控制方法,其特征在于,所述的步骤f中将报文存入缓存区后,启动系统定时器,按照当前设置的传输速率来发送缓存区中的报文。
4.根据权利要求2所述的一种以太网报文流量控制方法,其特征在于,所述的字节时间表auiByteTable为数组形式,其索引为时间标尺,每个单元的数值表示对应时间标尺内可通过的字节数。
5.根据权利要求4所述的一种以太网报文流量控制方法,其特征在于,所述的字节时间表中每个单元的数值的计算方式如下:
对于字节时间表中的第一个单元auiByteTable[1]:
auiByteTable[1]=((S*1024)/8)/N,表示单位时间标尺内可通过的字节数,S为当前设置的传输速率,N为字节时间表的单元数目;
对于字节时间表中的第i个单元,i=[2,N]:
auiByteTable[i]=i*auiByteTable[1]。
CN201210483442.7A 2012-11-23 2012-11-23 一种以太网报文流量控制方法 Active CN102970246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210483442.7A CN102970246B (zh) 2012-11-23 2012-11-23 一种以太网报文流量控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210483442.7A CN102970246B (zh) 2012-11-23 2012-11-23 一种以太网报文流量控制方法

Publications (2)

Publication Number Publication Date
CN102970246A true CN102970246A (zh) 2013-03-13
CN102970246B CN102970246B (zh) 2017-12-22

Family

ID=47800133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210483442.7A Active CN102970246B (zh) 2012-11-23 2012-11-23 一种以太网报文流量控制方法

Country Status (1)

Country Link
CN (1) CN102970246B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539477A (zh) * 2014-12-15 2015-04-22 国家计算机网络与信息安全管理中心 一种对多条以太线路报文信息采集的方法
CN106411778A (zh) * 2016-10-27 2017-02-15 东软集团股份有限公司 数据转发的方法及装置
CN106712908A (zh) * 2015-11-13 2017-05-24 富士通株式会社 数据传输方法、装置和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449156A (zh) * 2003-04-14 2003-10-15 北京港湾网络有限公司 数据传输的流量控制方法
CN1787483A (zh) * 2004-12-10 2006-06-14 华为技术有限公司 一种流量控制方法
CN101159700A (zh) * 2007-11-27 2008-04-09 杭州华三通信技术有限公司 一种流量控制方法和控制设备
CN101516109A (zh) * 2008-02-21 2009-08-26 大唐移动通信设备有限公司 一种流量控制方法、系统及装置
CN101647278A (zh) * 2006-12-12 2010-02-10 梵提克斯公司 用于视频编码标准的改进的视频速率控制
CN102025694A (zh) * 2009-09-11 2011-04-20 中兴通讯股份有限公司 基于dsp阵列实现以太网数据发送的装置及方法
CN102377631A (zh) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 一种基于流量控制的数据传输方法及通信系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449156A (zh) * 2003-04-14 2003-10-15 北京港湾网络有限公司 数据传输的流量控制方法
CN1787483A (zh) * 2004-12-10 2006-06-14 华为技术有限公司 一种流量控制方法
CN101647278A (zh) * 2006-12-12 2010-02-10 梵提克斯公司 用于视频编码标准的改进的视频速率控制
CN101159700A (zh) * 2007-11-27 2008-04-09 杭州华三通信技术有限公司 一种流量控制方法和控制设备
CN101516109A (zh) * 2008-02-21 2009-08-26 大唐移动通信设备有限公司 一种流量控制方法、系统及装置
CN102025694A (zh) * 2009-09-11 2011-04-20 中兴通讯股份有限公司 基于dsp阵列实现以太网数据发送的装置及方法
CN102377631A (zh) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 一种基于流量控制的数据传输方法及通信系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539477A (zh) * 2014-12-15 2015-04-22 国家计算机网络与信息安全管理中心 一种对多条以太线路报文信息采集的方法
CN104539477B (zh) * 2014-12-15 2017-10-27 国家计算机网络与信息安全管理中心 一种对多条以太线路报文信息采集的方法
CN106712908A (zh) * 2015-11-13 2017-05-24 富士通株式会社 数据传输方法、装置和系统
CN106712908B (zh) * 2015-11-13 2020-01-14 富士通株式会社 数据传输方法、装置和系统
CN106411778A (zh) * 2016-10-27 2017-02-15 东软集团股份有限公司 数据转发的方法及装置
CN106411778B (zh) * 2016-10-27 2019-07-19 东软集团股份有限公司 数据转发的方法及装置

Also Published As

Publication number Publication date
CN102970246B (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
CN109039936B (zh) 传输速率控制方法、装置、发送设备和接收设备
WO2015149488A1 (zh) 一种令牌桶限速方法、装置及计算机存储介质
CN104301248B (zh) 报文限速方法和装置
CN202870808U (zh) 一种spi串口模块的fpga实现装置
CN102098216B (zh) 一种基于共享存储的航空全双工交换式以太网afdx协议交换引擎
CN104461972B (zh) 一种数据信号采样的方法和设备
CN105099938B (zh) 网络中拥塞窗口的确定方法和装置
CN103209137B (zh) 可配置高精度时间间隔帧发布以太网接口控制系统
CN105763478A (zh) 基于令牌桶算法的卫星数据地面传输网络流量控制系统
GB2450068A (en) Network based data traffic detection and control
CN105978821B (zh) 网络拥塞避免的方法及装置
CN102970246A (zh) 一种以太网报文流量控制方法
CN105656800A (zh) 一种传输报文的方法及装置
CN104852863B (zh) 一种共享缓存交换机中的动态阈值管理方法及装置
CN104730983B (zh) 一种高精度时间程控方法
CN105094743A (zh) 一种先进先出数据缓存器及其进行时延控制的方法
CN110019386A (zh) 一种流数据处理方法及设备
CN102571561B (zh) 一种pwe3装置及其在抖动缓存读写数据的方法
CN108259374B (zh) 一种多核处理器及报文处理方法
CN104580008A (zh) 基于硬件提高多队列随机丢弃报文精度的方法及装置
CN103701721B (zh) 报文传输方法及装置
CN100366005C (zh) Ip设备吞吐量的测试方法
CN112838904A (zh) Tsn网络延迟抖动测量装置及方法
CN103763063B (zh) 不改变数据传输波特率而减少数据位宽的变速箱电路及工作方法
CN101094188B (zh) 随机先期检测装置及其硬件实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant