CN101826999B - 一种在线报文流量监测及带宽补偿的方法和装置 - Google Patents
一种在线报文流量监测及带宽补偿的方法和装置 Download PDFInfo
- Publication number
- CN101826999B CN101826999B CN2010101607738A CN201010160773A CN101826999B CN 101826999 B CN101826999 B CN 101826999B CN 2010101607738 A CN2010101607738 A CN 2010101607738A CN 201010160773 A CN201010160773 A CN 201010160773A CN 101826999 B CN101826999 B CN 101826999B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- bandwidth
- service
- compensation
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种在线报文流量监测及带宽补偿装置,包括报文识别模块102、报文存储模块103、报文调度模块104、带宽测量模块105和插入报文生成模块107。本发明还公开了一种在线报文流量监测及带宽补偿方法。本发明方案在业务报文发送的路径上,实时确定需要补偿的业务报文,并且实时测量业务报文的带宽,并根据测量结果决定是否插入补偿报文。该方案可以实现大带宽测试报文流量的补偿/插入工作;可以进行长时间、大数量的报文补偿工作;可以实时监测感兴趣的业务报文流的带宽值,并据此完成可设定门限的带宽差值流量补偿功能。
Description
技术领域
本发明涉及以太网技术领域,特别涉及一种在线报文流量监测及带宽补偿的方法和装置。
背景技术
近年来,随着以太网技术在城域网领域的迅猛发展,运营商对以太网设备可管理(Manageable),可运维(Operation-able)的诉求越来越多。为满足所述诉求,不影响用户正常业务的在线监测技术应运而生。
在线的含义,就是业务报文流不受影响,包括不需要暂停用户流量的转发,也不会造成业务报文流丢包,不打乱业务报文的顺序。监测,则要求在报文流中插入测试流,通过对测试流进行测量实现监测的目的。插入测试流的配置要求一般包括:带宽,报文个数,报文长度,测试报文间隔,丢包率,对流量进行补偿等。所谓报文流,就是指具有相同特征(关键字)的报文集合。这里所述特征一般指:MAC地址,虚拟局域网标识(VLAN ID),以太网类型(EthernetType)等报文中的敏感字段。
因此,作为在线监测技术的核心,如何在不影响线路上众多用户业务的前提下,按照配置要求插入测试报文就成为了问题的关键。不影响用户业务,其内涵包括不改变业务报文的转发路径,以及不对业务报文流的速率,报文间隙,延迟,报文总个数等传输参数进行改变。
目前,已有的不影响用户业务的在线测试技术一般是基于OAM报文的,Ethernet OAM类协议Y.1731就提供类似的在线测试技术。一般来说,这些OAM类测试报文都是由CPU产生并直接插入线路中。
现有技术的这种做法具有如下弊端:
1.每构造并发送一个测试报文都需要占用CPU一定的处理资源。限于目前CPU处理能力的限制,“瞬时”内CPU无法发送比较大数目的测试报文,测试报文流的带宽无法做到很大,因此也就无法实现吞吐量等与带宽息息相关的测试。
2.长时间连续测试,需要负责发送报文的软件进程不停地占用CPU有限的处理资源,这会直接影响CPU对其他任务的响应和处理能力。所以,目前基于软件方式实现的测试方案均无法完成连续长时间的链路测试
3.CPU并不直接处于转发的通道之上,无法实时掌握每个业务流的带宽占用情况,也就意味着,CPU发送测试报文流无法做到对业务报文流进行带宽补偿的功能。如果用户需要知道某条路径的转发能力(带宽)到底有多大,而实际网络上的业务流量带宽并不是一个恒定值,往往与路径的最大转发能力间有个随时变化的差值。带宽补偿功能就是通过插入补偿报文的方式,将这个实际业务流量带宽与最大带宽之间的“差值”补齐。
现有技术中,RFC2544测试协议提供了一种可以实现带宽测试的方案。该测试协议可以完成吞吐量,丢包率等于带宽,转发能力相关的各种测试项。但是RFC2544测试的一个极为苛刻前提就是:整个RFC2544测试过程必须基于一个“完全干净”的链路环境。也就是说,在测试进程中,在链路上除了测试协议报文外,不能有任何其他的业务报文。这就意味着RFC2544测试方案无法实现在线的不影响用户业务的测试。
发明内容
有鉴于此,本发明提出了一种在线报文流量监测及带宽补偿的方法和装置,可以实现长时间连续地在线链路测试以及带宽补偿。
本发明实施例提出了一种在线报文流量监测及带宽补偿装置,包括报文识别模块102、报文存储模块103、报文调度模块104、带宽测量模块105和插入报文生成模块107;
所述报文识别模块102用于接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符,并将所有已添加和未添加第一标识符的业务报文发送至报文存储模块103;
所述报文存储模块103将所收到的所有业务报文存入缓存;当接到来自报文调度模块104的报文发送要求时,将已缓存的业务报文从缓存中读取出来并发送至报文调度模块104;
所述报文调度模块104用于根据来自带宽测量模块105的调度指示,向报文存储模块103发送报文提取请求,或从插入报文生成模块107提取补偿报文;然后将来自报文存储模块103的业务报文或来自插入报文生成模块107的补偿报文发送至带宽测量模块105;
所述带宽测量模块105用于实时测量流经该模块的每个包含有第一标识符的业务报文所属的报文流的实时带宽值,根据实时带宽值的测量结果向报文调度模块104发送调度指示;
所述插入报文生成模块107:用于根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,当报文调度模块104需要提取补偿报文时,将所生成的补偿报文发送至报文调度模块104。
较佳地,所述装置进一步包括:
配置模块106,用于将来自装置外部的CPU的包含第一报文特征信息集的配置信息发送至所述报文识别模块102,以及将来自装置外部的CPU的包含第二报文特征信息集的配置信息发送至所述插入报文生成模块107。
所述配置模块106用于接收并存储来自装置外部的CPU的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;
配置模块106用于接收来自装置外部的CPU的包含字段代码以及模块代码的配置信息,若所述模块代码表示报文识别模块102,则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集作为第一报文特征信息集更新指示,并将所述第一报文特征信息集更新指示发送至报文识别模块102;若所述模块代码表示插入报文生成模块107,则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集作为第二报文特征信息集更新指示,并将所述第二报文特征信息集更新指示发送至插入报文生成模块107。
较佳地,所述各个模块包含在一个现场可编程门阵列FPGA中。
较佳地,所述报文存储模块103将所收到的所有业务报文存入缓存中的缓存包括:报文存储模块103的内部缓存和/或位于所述装置外部的外部存储器101。
较佳地,所述缓存为先入先出缓存。
所述带宽测量模块105根据实时带宽值的测量结果向报文调度模块104发送调度指示为:
带宽测量模块105向报文调度模块104发送实时带宽值的测量结果;
所述报文调度模块104用于根据来自带宽测量模块105的调度指示,向报文存储模块103发送报文提取请求,或从插入报文生成模块107提取补偿报文为:
报文调度模块104用于判断来自带宽测量模块105实时带宽值的测量结果是否低于预先设置的带宽门限值,若是,从插入报文生成模块107提取补偿报文;否则,向报文存储模块103发送报文提取请求。
较佳地,所述带宽测量模块105根据实时带宽值的测量结果向报文调度模块104发送调度指示为:
报文测量模块105判断所述实时带宽值的测量结果是否低于预先设置的带宽门限值,若是,向报文调度模块104发送第二调度指示;否则,向报文调度模块104发送第一调度指示;
报文调度模块104收到第一调度指示,则向报文存储模块103发送报文提取请求;报文调度模块104收到第二调度指示,则从插入报文生成模块107提取补偿报文。
较佳地,所述报文存储模块103进一步包括:第一计数单元,用于实时记录已缓存的业务报文数量,并将所记录的业务报文数量发送至报文调度模块104;所述配置模块106进一步将来自外部的CPU的包含业务报文数量上限值的配置信息发送至报文调度模块104;
所述报文调度模块104判断来自带宽测量模块105实时带宽值的测量结果是否低于预先设置的带宽门限值的判断结果为否时,查询报文存储模块103给出的已缓存的报文数量;如果已缓存的报文数量不为0,则向报文存储模块103发出报文提取请求;如果已缓存的报文数量为0,则从插入报文生成模块107提取补偿报文;
以及
所述报文调度模块104判断来自带宽测量模块105实时带宽值的测量结果是否低于预先设置的带宽门限值的判断结果为是时,查询报文存储模块103给出的已缓存的业务报文数量,如果已缓存的业务报文数量小于配置信息中的业务报文数量上限值,则从插入报文生成模块107提取补偿报文;如果已缓存的报文数量大于配置信息中的业务报文数量上限值,则向报文存储模块103发出报文提取请求。
较佳地,所述第一报文特征信息集包括如下关键字之一或其任意组合:
MAC地址、虚拟局域网标识、端口号、以太网类型、应用服务等级CoS,IP以及多协议标签交换标签。
较佳地,所述报文识别模块102在挑选出的业务报文中添加第一标识符为:所述报文识别模块102在挑选出的业务报文的尾部添加第一标识符。
较佳地,所述第一标识符长度为8比特。
较佳地,所述第二报文特征信息集包括如下特征值之一或其任意组合:
报文流编号、报文长度、报文类型、MAC地址、虚拟局域网标识、CoS、IP、报文净荷以及私有字段。
较佳地,所述带宽测量模块105中包括:第二计数单元,用于对计时时长内,带宽测量模块105已发送的任一报文流的总字节数进行统计;
所述带宽测量模块105实时测量流经该模块的每个报文流的实时带宽值为:当所述第二计数单元达到计时时长时,将已统计的总字节数除以计时时长得到实时带宽值。
较佳地,所述计时时长为100毫秒。
本发明实施例还提出一种在线报文流量监测及带宽补偿的方法,包括如下步骤:
A、接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符;
B、将所有已添加和未添加第一标识符的业务报文存入缓存;
C、根据已测量的业务报文流的实时带宽值生成调度指示,若所述调度指示为第一调度指示,则从缓存中提取业务报文;若所述调度指示为第二调度指示,则根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,并在包含有第一标识符的业务报文组成的报文流中插入补偿报文;
D、测量每个包含有第一标识符的业务报文所属的报文流的实时带宽值;并返回步骤A。
较佳地,所述步骤A之前进一步包括:
接收并存储来自装置外部的CPU的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;接收来自外部包含字段代码以及模块代码的配置信息,根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集,根据所述模块代码将所找到的报文特征信息集对已配置的第一报文特征信息集或第二报文特征信息集进行更新。
较佳地,步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值,若是,生成第二调度指示;否则,生成第一调度指示。
较佳地,所述步骤B进一步包括:实时记录已缓存的业务报文数量;
步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值;
若是,查询已缓存的业务报文数量,如果已缓存的业务报文数量小于预先配置的业务报文数量上限值,则生成第二调度指示;如果已缓存的报文数量大于预先配置的业务报文数量上限值,则生成第一调度指示;
否则,查询已缓存的报文数量;如果已缓存的报文数量不为0,生成第一调度指示;如果已缓存的报文数量为0,则生成第二调度指示。
从以上技术方案可以看出,本发明方案是在业务报文发送的路径上,实时确定需要补偿的业务报文,并且实时测量业务报文的带宽,并根据测量结果决定是否插入补偿报文以及插入的补偿报文的数目。该方案可以实现大带宽测试报文流量的补偿/插入工作;可以进行长时间、大数量的报文补偿工作;可以实时监测感兴趣的业务报文流的带宽值,并据此完成可设定门限的带宽差值流量补偿功能。
附图说明
图1为本发明实施例提出的一种在线报文流量监测及带宽补偿的装置的结构示意图。
具体实施方式
本发明的主要目的就是提供一种实用的在线报文流量监测及带宽补偿的方案,该方案依托于现场可编程门阵列(FPGA,Field Programmable Gate Array)实现,CPU只需要负责简单的辅助配置工作,报文的缓存、构造、发送以及业务报文带宽的实时测量工作完全由FPGA来完成。因此,本发明方案可以实现大带宽测试报文流量的补偿/插入工作;可以进行长时间、大数量的报文补偿工作;可以实时监测感兴趣的业务报文流的带宽值,并据此完成可设定门限的带宽差值流量补偿功能;用于流量补偿的报文的长度、内容、帧间隙、burst(突发报文流)数量等均可以由CPU进行配置和实时修改。
为使本发明的目的、技术方案和优点更加清楚,以下通过具体实施例对本发明方案进行详细阐述。
图1所示为本发明实施例一提出的一种在线报文流量监测及带宽补偿的装置,所述装置110由6个模块组成,图1中,粗实线箭头表示报文传输路径,细实线箭头表示配置信息传输路径,虚线箭头表示模块间指示信息的传输路径。这6个模块的主要功能描述如下:
所述报文识别模块102用于接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符,并将所有已添加和未添加第一标识符的业务报文发送至报文存储模块103;
所述报文存储模块103将所收到的所有业务报文存入缓存;当接到来自报文调度模块104的报文发送要求时,将已缓存的业务报文从缓存中读取出来并发送至报文调度模块104;
所述报文调度模块104用于根据来自带宽测量模块105的调度指示,向报文存储模块103发送报文提取请求,或从插入报文生成模块107提取补偿报文;然后将来自报文存储模块103的业务报文或来自插入报文生成模块107的补偿报文发送至带宽测量模块105;
所述带宽测量模块105用于实时测量流经该模块的每个包含有第一标识符的业务报文所属的报文流的实时带宽值,根据实时带宽值的测量结果向报文调度模块104发送调度指示;
所述插入报文生成模块107:用于根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,当报文调度模块104需要提取补偿报文时,将所生成的补偿报文发送至报文调度模块104。
配置模块106,用于将来自装置外部的CPU的包含第一报文特征信息集的配置信息发送至所述报文识别模块102,以及将来自装置外部的CPU的包含第二报文特征信息集的配置信息发送至所述插入报文生成模块107。
本发明实施例二对所述在线报文流量监测及带宽补偿的装置中各个模块的工作机理进行进一步地详细说明。
(1)报文识别模块102
由于进入装置110内的报文可能属于很多不同的报文流,并不是每个报文流都需要补偿,或者不同的报文流需要补偿不同的报文,所以对不同的报文流进行鉴别就显得非常重要了。报文识别模块102就是负责完成这一工作的。
报文流的特征值多种多样,常用的有:MAC地址、VLAN ID、端口号、Ethernet Type,应用服务等级(CoS),IP,多协议标签交换标签(MPLS Label)等。CPU将目标报文流的第一报文特征信息集通过配置模块106下发给报文识别模块102,报文识别模块102用配置信息中的第一特征信息集和每个报文中的特征信息进行比对。对于与第一特征信息集相匹配的报文,报文识别模块102在该报文中添加一个“需补偿业务报文标识符”(或简称为第一标识符),较佳地,添加的位置可以是报文的末尾,当然也可以是其他可行的位置。后续模块(报文调度模块104、带宽测量模块105)可以根据所述第一标识符来判断这个报文是否属于需要补偿的业务报文。
较佳地,所述“需补偿业务报文标识符”占用8比特,共有256个计数值(0至255),每个数值可以用于表示一种需要补偿的报文流(当然表示内容也可以为空),以应对同时有多个报文流需要补偿的情况。“需补偿业务报文标识符”占用的比特数也可以根据实际需要设置为其他值。
添加完“需补偿业务报文标识符”的报文以及不符合需要补偿要求的报文均被发送至下一级的报文存储模块103进行下一步处理。
(2)报文存储模块103
补偿报文的插入及发送需要占用一定的时间,当补偿报文长度比较大或者需要插入的补偿报文数目较大时,补偿报文的插入及发送所占的时间就不可忽略了。如果正在发送补偿报文时,恰好有新的业务报文进入装置110需要被发送出去,这时为了防止新的业务报文被丢弃,必须将业务报文缓存起来,等补偿报文发送完毕后再发送这个新的业务报文。为了简化处理流量,可以不必考虑当前是否有补偿报文正在发送,而是统一将所有的业务报文都先存入缓存;如没有补偿报文发送时,再从缓存中提取用户的业务报文发送。报文存储模块103就是用来完成这一功能的。
当报文存储模块103接收到来自报文识别模块102的业务报文时,连同报文中的“需补偿业务报文标识符”(如果有的话)一并存入缓存中,所述缓存包括内部的缓存单元和/或外部存储器101。较佳地,可以优先存入内部缓存单元,若存储空间已满则将后续收到的业务报文存入外部存储器101中。
报文存储模块103中还可以包括一计数单元,用于实时记录已缓存的报文数量。并将所记录的报文数量发送至报文调度模块104。
当后级的报文调度模块104裁定需要发送用户的业务报文,并通知报文存储模块103提取业务报文时,报文存储模块103将业务报文内部的缓存单元或外部存储器101中读取出来并发送至后级的报文调度模块104。
业务报文在缓存中按照报文进入装置110的先后顺序排列,先进入的报文先缓存,同样也优先被提取出来发送至后级的报文调度模块104。也就是说,所述缓存为先入先出(FIFO)缓存。报文顺序属于报文流的重要特性,这样的机制可以保证不打乱报文间的先后顺序,进而满足不影响用户业务的要求。
(3)报文调度模块104
报文调度模块104的作用主要是根据配置信息以及当前链路状态,选择提取缓存中的业务报文还是提取带宽补偿报文进行发送。
当报文调度模块104接收到来自带宽测量模块105的下一个业务报文的请求时,查询报文存储模块103给出的已缓存的报文数量;如果已缓存的报文数量不为0,则向报文存储模块103发出报文提取请求,并将来自报文存储模块的业务报文发送至后级的带宽测量模块105。
当报文调度模块104接收到来自带宽测量模块105的可以发送某个特定报文流的带宽补偿报文的通知时,同样首先查询报文存储模块103给出的已缓存的报文数量,如果已缓存的报文数量没有大于配置信息中的业务报文数量上限值,则向插入报文生成模块107提出发送对应报文流的补偿报文的请求,并将来自插入报文生成模块107的补偿报文发送至带宽测量模块105。如果已缓存的报文数量大于业务报文数量上限值,则忽略该次补偿报文的发送请求,向报文存储模块103发出报文提取请求,并将报文存储模块103从缓存中取出的业务报文发送至后级的带宽测量模块105。所述业务报文数量上限值可由CPU根据内部缓存单元和/或外部存储器的大小设定,也可以结合允许的报文最大延时、丢包率等因素设定。
(4)插入报文生成模块107
插入用户业务流中的补偿报文并不是固定不变的,而是需要根据来自CPU108配置信息中的第二特征信息集的不同,生成与配置信息相应的补偿报文。CPU 108通过配置模块106将补偿报文的配置信息下发给插入报文生成模块107,配置信息中的第二特征信息集中的报文特征值包括但不限于:报文流编号、报文长度、报文类型、MAC地址、VLAN ID、CoS、IP、报文净荷、私有字段等等。为了简化CPU的配置过程,防止在配置过程中给CPU 108造成过大的负担,CPU 108可以直接下发一个配置信息模板给装置110,将不长变化的字段代码均固化在配置信息模板里,每次更改配置时,只需要将变化部分的字段代码配置给装置110即可。
例如,所述配置模块106接收并存储来自装置外部的CPU 108的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;每一个特征信息都有其对应的字段代码。
配置模块106接收来自CPU 108的包含字段代码以及模块代码的配置信息,若所述模块代码表示报文识别模块102,则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集。如果此次配置需要对第一报文特征信息集的全部内容进行更新,则所找到的报文特征信息集就是第一报文特征信息集;但在更多情况下,只需要对第一报文特征信息集中的部分内容进行更新,则所找到的报文特征信息集就是第一报文特征信息集中变化部分对应的字段代码,因此可以将所找到的报文特征信息集看作第一报文特征信息集更新指示。配置模块106将所述第一报文特征信息集更新指示发送至报文识别模块102,报文识别模块102据此更新已配置的第一报文特征信息集。
同理,若所述模块代码表示插入报文生成模块107,则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集作为第二报文特征信息集更新指示,并将所述第二报文特征信息集更新指示发送至插入报文生成模块107,插入报文生成模块107据此更新已配置的第二报文特征信息集。
对于其他各个模块的配置信息也可以按照信息模板的形式进行处理,此处不再一一举例。
插入报文生成模块107根据这些信息为每个需要插入补偿报文的报文流生成不同的补偿报文。当报文调度模块104向插入报文生成模块107提出发送某个报文流的补偿报文的请求时,插入报文生成模块107将已生成的对应补偿报文发送至报文调度模块104。由其代为发送。
(5)带宽测量模块105
为了达到补偿带宽门限差值的要求,实时测量每个需要补偿的报文流的带宽值就显得尤为重要了。这个工作交予带宽测量模块105来完成。
其中,判断哪个报文流是需要补偿的,是根据报文中是否包含第一标识符(即“需补偿业务报文标识符”)来实现的,包含第一标识符的业务报文所属的报文流即为需要补偿的报文流。
以下给出一个简单示例,用于说明带宽测量模块105完成带宽实时测量的方法:以某一个需要补偿的报文流为例,在带宽测量模块105中设置有一个用于对计时时长内已发送报文总字节数进行统计的计数器,该统计计数器最好为一个高精度的计时器(最小计时间隔约为8纳秒(ns)或更小)。计算实时带宽时,只需要用总字节数除以计时器值就可以得到实时带宽。但考虑到具体实现的便利,缩小总字节数计数器和计时器的位宽,可以限制计时器的计时时长,如以100毫秒(ms)为一个统计循环,这样计时器总的计时器范围只需要达到100ms即可,总字节数统计计数器只需要统计100ms内的报文流的总字节数就可以了。由装置110内部产生的补偿报文也属于报文流总字节数的统计范围。
该示例仅用于为了便于理解本发明方案而进行的说明,不用于对本发明方案的范围进行限定。带宽测量模块105也可以采用本技术领域其他测量带宽的可行方式。
当属于某个报文流的一个完整报文发送完毕时,带宽测量模块105判断这个报文流的实时带宽值是否低于CPU设置的带宽门限值,带宽测量模块105会向报文调度模块104发送提取带宽补偿报文的调度指示。否则,认为所有报文流都不需要发送带宽补偿报文,带宽测量模块105会向报文调度模块104发送下一个业务报文的调度指示。
该判断也可以在报文调度模块104中进行,即报文调度模块104判断来自带宽测量模块105实时带宽值的测量结果是否低于预先设置的带宽门限值,若是,从插入报文生成模块107提取补偿报文;否则,向报文存储模块103发送报文提取请求。
(6)配置模块106
配置模块106的主要功能就是将CPU 108下发的各种配置信息转发送至装置110内部其他的各个模块。在CPU106与装置110的其他模块间起到一个桥梁的作用。
本发明实施例三提出一种在线报文流量监测及带宽补偿的方法,包括如下步骤:
A、接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符;
B、将所有已添加和未添加第一标识符的业务报文存入缓存;
C、根据已测量的业务报文流的实时带宽值生成调度指示,若所述调度指示为第一调度指示,则从缓存中提取业务报文;若所述调度指示为第二调度指示,则根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,并在包含有第一标识符的业务报文组成的报文流中插入补偿报文;
D、测量每个包含有第一标识符的业务报文所属的报文流的实时带宽值;并返回步骤A。
较佳地,所述步骤A之前进一步包括:
接收并存储来自装置外部的CPU的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;接收来自外部包含字段代码以及模块代码的配置信息,根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集,根据所述模块代码将所找到的报文特征信息集对已配置的第一报文特征信息集或第二报文特征信息集进行更新。
较佳地,步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值,若是,生成第二调度指示;否则,生成第一调度指示。
较佳地,所述步骤B进一步包括:实时记录已缓存的业务报文数量;
步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值;
若是,查询已缓存的业务报文数量,如果已缓存的业务报文数量小于预先配置的业务报文数量上限值,则生成第二调度指示;如果已缓存的报文数量大于预先配置的业务报文数量上限值,则生成第一调度指示;
否则,查询已缓存的报文数量;如果已缓存的报文数量不为0,生成第一调度指示;如果已缓存的报文数量为0,则生成第二调度指示。
本发明方案提供了一种不影响正常业务的流量补偿机制,该方案已在ALTERA的EP2C8 FPGA芯片实现。只需要CPU辅助配置测试报文的长度,MAC地址,VLAN ID以及测试门限带宽等很少的信息就可以完成所有的测试功能。彻底摆脱了CPU对测试功能实现的瓶颈限制。基于EP2C8FPGA实现的测试方案可以提供8Kbps至1Gbps的测试报文带宽补偿功能,对吞吐量进行精度误差不大于0.15%的测试,且整个测试过程中用户的业务报文转发没有受到影响。该FPGA还可以提供长达24小时连续不间断测试,测试期间CPU只需要负责简单的测试结果读取储存工作,对CPU的负荷影响很小。
相对于现有技术中常用的由CPU直接产生测试报文并插入链路的方案,本发明所述的方案在以下几点上优势明显:
1.对CPU的性能依赖很小,在整个测试过程中对CPU的负荷影响不大。可以实现吞吐量测试等以往由CPU很难实现的测试功能,且在整个测试过程中用户业务不会受到影响;
2.可以实现精度很高的实时带宽补偿功能,测试报文构造和发送完全在FPGA内完成,不依赖于CPU;
3.可以完成长时间的连续测试;
4.可以实现完全不影响用户业务转发的在线流量监测和带宽吞吐量测试。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种在线报文流量监测及带宽补偿装置,其特征在于,包括报文识别模块(102)、报文存储模块(103)、报文调度模块(104)、带宽测量模块(105)和插入报文生成模块(107);
所述报文识别模块(102)用于接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符,并将所有已添加和未添加第一标识符的业务报文发送至报文存储模块(103);所述第一报文特征信息集包括如下关键字之一或其任意组合:MAC地址、虚拟局域网标识、端口号、以太网类型、应用服务等级CoS,IP以及多协议标签交换标签;
所述报文存储模块(103)将所收到的所有业务报文存入缓存;当接到来自报文调度模块(104)的报文发送要求时,将已缓存的业务报文从缓存中读取出来并发送至报文调度模块(104);
所述报文调度模块(104)用于根据来自带宽测量模块(105)的调度指示,向报文存储模块(103)发送报文提取请求,或从插入报文生成模块(107)提取补偿报文;然后将来自报文存储模块(103)的业务报文或来自插入报文生成模块(107)的补偿报文发送至带宽测量模块(105);
所述带宽测量模块(105)用于实时测量流经该模块的每个包含有第一标识符的业务报文所属的报文流的实时带宽值,根据实时带宽值的测量结果向报文调度模块(104)发送调度指示;
所述插入报文生成模块(107):用于根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,当报文调度模块(104)需要提取补偿报文时,将所生成的补偿报文发送至报文调度模块(104),所述第二报文特征信息集包括如下特征值之一或其任意组合:报文流编号、报文长度、报文类型、MAC地址、虚拟局域网标识、CoS、IP、报文净荷以及私有字段。
2.根据权利要求1所述的装置,其特征在于,所述装置进一步包括:
配置模块(106),用于将来自装置外部的CPU的包含第一报文特征信息集的配置信息发送至所述报文识别模块(102),以及将来自装置外部的CPU的包含第二报文特征信息集的配置信息发送至所述插入报文生成模块(107)。
3.根据权利要求2所述的装置,其特征在于,所述配置模块(106)用于接收并存储来自装置外部的CPU的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;
配置模块(106)用于接收来自装置外部的CPU的包含字段代码以及模块代码的配置信息,若所述模块代码表示报文识别模块(102),则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集作为第一报文特征信息集更新指示,并将所述第一报文特征信息集更新指示发送至报文识别模块(102);若所述模块代码表示插入报文生成模块(107),则根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集作为第二报文特征信息集更新指示,并将所述第二报文特征信息集更新指示发送至插入报文生成模块(107)。
4.根据权利要求2所述的装置,其特征在于,所述各个模块包含在一个现场可编程门阵列FPGA中。
5.根据权利要求4所述的装置,其特征在于,所述报文存储模块(103)将所收到的所有业务报文存入缓存中的缓存包括:报文存储模块(103)的内部缓存和/或位于所述装置外部的外部存储器(101)。
6.根据权利要求5所述的装置,其特征在于,所述缓存为先入先出缓存。
7.根据权利要求1至6任一项所述的装置,其特征在于,所述带宽测量模块(105)根据实时带宽值的测量结果向报文调度模块(104)发送调度指示为:
带宽测量模块(105)向报文调度模块(104)发送实时带宽值的测量结果;
所述报文调度模块(104)用于根据来自带宽测量模块(105)的调度指示,向报文存储模块(103)发送报文提取请求,或从插入报文生成模块(107)提取补偿报文为:
报文调度模块(104)用于判断来自带宽测量模块(105)实时带宽值的测量结果是否低于预先设置的带宽门限值,若是,从插入报文生成模块(107)提取补偿报文;否则,向报文存储模块(103)发送报文提取请求。
8.根据权利要求1至6任一项所述的装置,其特征在于,所述带宽测量模块(105)根据实时带宽值的测量结果向报文调度模块(104)发送调度指示为:
报文测量模块(105)判断所述实时带宽值的测量结果是否低于预先设置的带宽门限值,若是,向报文调度模块(104)发送第二调度指示;否则,向报文调度模块(104)发送第一调度指示;
报文调度模块(104)收到第一调度指示,则向报文存储模块(103)发送报文提取请求;报文调度模块(104)收到第二调度指示,则从插入报文生成模块(107)提取补偿报文。
9.根据权利要求7所述的装置,其特征在于,所述报文存储模块(103)进一步包括:第一计数单元,用于实时记录已缓存的业务报文数量,并将所记录的业务报文数量发送至报文调度模块(104);所述配置模块(106)进一步将来自外部的CPU的包含业务报文数量上限值的配置信息发送至报文调度模块(104);
所述报文调度模块(104)判断来自带宽测量模块(105)实时带宽值的测量结果是否低于预先设置的带宽门限值的判断结果为否时,查询报文存储模块(103)给出的已缓存的报文数量;如果已缓存的报文数量不为0,则向报文存储模块(103)发出报文提取请求;如果已缓存的报文数量为0,则从插入报文生成模块(107)提取补偿报文;
以及
所述报文调度模块(104)判断来自带宽测量模块(105)实时带宽值的测量结果是否低于预先设置的带宽门限值的判断结果为是时,查询报文存储模块(103)给出的已缓存的业务报文数量,如果已缓存的业务报文数量小于配置信息中的业务报文数量上限值,则从插入报文生成模块(107)提取补偿报文;如果已缓存的报文数量大于配置信息中的业务报文数量上限值,则向报文存储模块(103)发出报文提取请求。
10.根据权利要求1所述的装置,其特征在于,所述报文识别模块(102)在挑选出的业务报文中添加第一标识符为:所述报文识别模块(102)在挑选出的业务报文的尾部添加第一标识符。
11.根据权利要求1或10所述的装置,其特征在于,所述第一标识符长度为8比特。
12.根据权利要求1至6任一项所述的装置,其特征在于,所述带宽测量模块(105)中包括:第二计数单元,用于对计时时长内,带宽测量模块(105)已发送的任一报文流的总字节数进行统计;
所述带宽测量模块(105)实时测量流经该模块的每个报文流的实时带宽值为:当所述第二计数单元达到计时时长时,将已统计的总字节数除以计时时长得到实时带宽值。
13.根据权利要求10所述的装置,其特征在于,所述计时时长为100毫秒。
14.一种在线报文流量监测及带宽补偿的方法,其特征在于,包括如下步骤:
A、接收来自外部的至少一个业务报文流,根据预先配置的第一报文特征信息集,将需要进行带宽补偿的业务报文从所述业务报文流中挑选出来,在挑选出的业务报文中添加第一标识符;所述第一报文特征信息集包括如下关键字之一或其任意组合:MAC地址、虚拟局域网标识、端口号、以太网类型、应用服务等级CoS,IP以及多协议标签交换标签;
B、将所有已添加和未添加第一标识符的业务报文存入缓存;
C、根据已测量的业务报文流的实时带宽值生成调度指示,若所述调度指示为第一调度指示,则从缓存中提取业务报文;若所述调度指示为第二调度指示,则根据预先配置的第二报文特征信息集,生成用于实现业务报文带宽补偿的补偿报文,并在包含有第一标识符的业务报文组成的报文流中插入补偿报文;所述第二报文特征信息集包括如下特征值之一或其任意组合:报文流编号、报文长度、报文类型、MAC地址、虚拟局域网标识、CoS、IP、报文净荷以及私有字段;
D、测量每个包含有第一标识符的业务报文所属的报文流的实时带宽值;并返回步骤A。
15.根据权利要求14所述的方法,其特征在于,所述步骤A之前进一步包括:
接收并存储来自装置外部的CPU的配置信息模板,所述配置信息模块中包含报文特征信息及其对应的字段代码;接收来自外部包含字段代码以及模块代码的配置信息,根据所述配置信息中的字段代码在已保存的配置信息模板中查找到对应的报文特征信息集,根据所述模块代码将所找到的报文特征信息集对已配置的第一报文特征信息集或第二报文特征信息集进行更新。
16.根据权利要求14或15所述的方法,其特征在于,步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值,若是,生成第二调度指示;否则,生成第一调度指示。
17.根据权利要求14所述的方法,其特征在于,所述步骤B进一步包括:实时记录已缓存的业务报文数量;
步骤C所述根据已测量的业务报文流的实时带宽值生成调度指示包括:
判断所述已测量的业务报文流的实时带宽值是否低于预先设置的带宽门限值;
若是,查询已缓存的业务报文数量,如果已缓存的业务报文数量小于预先配置的业务报文数量上限值,则生成第二调度指示;如果已缓存的报文数量大于预先配置的业务报文数量上限值,则生成第一调度指示;
否则,查询已缓存的报文数量;如果已缓存的报文数量不为0,生成第一调度指示;如果已缓存的报文数量为0,则生成第二调度指示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101607738A CN101826999B (zh) | 2010-04-26 | 2010-04-26 | 一种在线报文流量监测及带宽补偿的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101607738A CN101826999B (zh) | 2010-04-26 | 2010-04-26 | 一种在线报文流量监测及带宽补偿的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101826999A CN101826999A (zh) | 2010-09-08 |
CN101826999B true CN101826999B (zh) | 2012-03-28 |
Family
ID=42690717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101607738A Expired - Fee Related CN101826999B (zh) | 2010-04-26 | 2010-04-26 | 一种在线报文流量监测及带宽补偿的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101826999B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989937B (zh) * | 2010-11-15 | 2015-10-28 | 中兴通讯股份有限公司 | 一种发送数据流的方法、装置及系统 |
CN102231697A (zh) * | 2011-06-17 | 2011-11-02 | 瑞斯康达科技发展股份有限公司 | 一种报文队列的带宽调度方法、报文上报方法及其装置 |
EP2725749B1 (en) | 2011-07-14 | 2017-11-15 | Huawei Technologies Co., Ltd. | Method, apparatus and system for processing service flow |
CN105072048B (zh) * | 2015-09-24 | 2018-04-10 | 浪潮(北京)电子信息产业有限公司 | 一种报文存储调度方法及装置 |
CN106708761A (zh) * | 2015-11-12 | 2017-05-24 | 杭州华为数字技术有限公司 | 一种业务报文的处理方法及装置 |
CN111176911B (zh) * | 2019-11-18 | 2023-08-08 | 北京时代民芯科技有限公司 | 一种新型的大存储量高速fpga辅助配置系统 |
CN111835589B (zh) * | 2020-06-30 | 2022-07-12 | 新华三信息安全技术有限公司 | 链路质量探测方法、路径选择方法及其装置 |
CN112217819B (zh) * | 2020-10-12 | 2021-04-27 | 珠海市鸿瑞信息技术股份有限公司 | 基于双因子认证体系的工业控制报文语意解析审计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359884B1 (en) * | 1998-06-26 | 2002-03-19 | Nortel Networks Limited | Modular scalable packet scheduler with rate based shaping and virtual port scheduler |
CN1941733A (zh) * | 2005-09-30 | 2007-04-04 | 中兴通讯股份有限公司 | 一种集群通信中的报文群发方法 |
CN101094181A (zh) * | 2007-07-25 | 2007-12-26 | 华为技术有限公司 | 报文入队和出队调度的装置及方法 |
-
2010
- 2010-04-26 CN CN2010101607738A patent/CN101826999B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359884B1 (en) * | 1998-06-26 | 2002-03-19 | Nortel Networks Limited | Modular scalable packet scheduler with rate based shaping and virtual port scheduler |
CN1941733A (zh) * | 2005-09-30 | 2007-04-04 | 中兴通讯股份有限公司 | 一种集群通信中的报文群发方法 |
CN101094181A (zh) * | 2007-07-25 | 2007-12-26 | 华为技术有限公司 | 报文入队和出队调度的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101826999A (zh) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101826999B (zh) | 一种在线报文流量监测及带宽补偿的方法和装置 | |
EP2429128B1 (en) | Flow statistics aggregation | |
CN101714943B (zh) | 包中继装置 | |
CN101192951B (zh) | IPv6网络链路利用率测量方法、测量装置及IPv6网络路由器 | |
CN101056215B (zh) | 一种网络性能测量方法及系统 | |
CN101800679B (zh) | 一种报文丢包检测方法及系统 | |
CN108965171A (zh) | 工业无线wia-pa网络与时间敏感网络转换方法及装置 | |
CN100559775C (zh) | 网络交换设备的并行数据链路层控制器 | |
CN102308525B (zh) | 通信网络中的数据丢失的测量 | |
CN102792658B (zh) | 在通信网络中进行时间测量 | |
CN102045222B (zh) | 网络系统实时整体测试的方法 | |
CN106059830B (zh) | 一种ptn环网流量性能的自动分析方法 | |
CN106130796A (zh) | Sdn网络拓扑流量可视化监控方法及控制终端 | |
CN110572280B (zh) | 一种网络监测方法及系统 | |
CN111130928B (zh) | 广域网中基于带内探测的网络测量方法 | |
CN110011915A (zh) | Sdn网络架构、基于sdn的流量转发控制方法及装置 | |
CN113141279B (zh) | 一种交换机网状测试系统及方法 | |
CN108809771A (zh) | Sdn网络数据流监控方法、sdn控制器、交换设备及系统 | |
CN104718734A (zh) | 网络中的拥塞通知 | |
CN104869077A (zh) | 基于令牌的传输控制方法及系统 | |
CN106559283A (zh) | 一种网络监测方法、装置及系统 | |
CN101385292B (zh) | 质量恶化部分估计装置、方法及程序 | |
CN103095525B (zh) | 基于智能交换过程层网络虚拟二次回路监测方法及系统 | |
CN116055373B (zh) | 一种工业终端及网络通信质量测试评估系统 | |
CN107612764A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |