CN100499516C - 分组交换设备流量监测查询方法及线卡采集器 - Google Patents
分组交换设备流量监测查询方法及线卡采集器 Download PDFInfo
- Publication number
- CN100499516C CN100499516C CNB2004100408021A CN200410040802A CN100499516C CN 100499516 C CN100499516 C CN 100499516C CN B2004100408021 A CNB2004100408021 A CN B2004100408021A CN 200410040802 A CN200410040802 A CN 200410040802A CN 100499516 C CN100499516 C CN 100499516C
- Authority
- CN
- China
- Prior art keywords
- statistics
- packet
- interface module
- module
- detection packet
- 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
Images
Abstract
本发明涉及通信网络中分组交换设备流量监测及查询,采用基于硬件技术的线卡采集器对网络中数据包的流量进行实时查询和线速统计,线卡采集器包括:输入接口模块、中央处理器、采集统计模块、统计管理器系统接口模块、报文填充传输模块、DataBase控制器接口模块、输出接口模块。统计和查询包括步骤:对数据包分类,并对数据包的多个域进行关键字提取;进行分组数及分组长度统计;进行流级别的统计;进行转发路径的统计;将各统计结果填充到探测包相应位置,并对探测包头部信息进行更新,填充更新完成的探测包传向下一级转发调度模块,从而完成对网络中数据包流量进行实时查询和统计。本发明可准确、及时地统计网络数据。
Description
技术领域
本发明涉及通信网络管理和控制领域,尤其涉及通信网络中分组交换设备流量监测及查询的方法和装置。
背景技术
众所周知,SNMP/RMON是IP网络广泛使用的管理监视机制,RMON是指为了网络管理,通过网络中的一个节点来监视整个网络。为了监视全网,需要在网络中每个节点设置监视器,网络运行中心NOC和各监视器通过轮询(polling)或事件报告(event reporting)将监视信息汇集在NOC。这种在每个节点设置监视器的方法虽然直观,但有个致命的缺陷是开销太大,监视器采集、存储信息时对所在节点处理器资源的耗费,会影响节点的处理速度或吞吐量,严重时使所在路由器吞吐量减少15%-20%,从而使节点成为新的网络瓶颈。在对网络数据进行统计和查询中会影响所在节点的转发性能。
基于软件的测量技术,先天条件决定了其测量速度很难适应测量高速网络环境下带宽的要求,而且,要占用所在路由器的处理器资源,甚至严重影响路由器吞吐量(例如,SNMP/RMON代理会影响所在路由器的吞吐量)。抽样测量、流量聚合也是监测技术的热点之一,如CISC0的Sampled NetFlow和Aggregated NetFlow,对节点处理速度的影响减少了一部分,但仍不能满足高速网络的实时监测和线速统计。在文献IEEE Communications Manazine,May 2000,T.McGregor,H.-W.Braun,and J.Trown,″The NLANR NetworkAnalysis Infrastructure,″中所述,现有的基于硬件实现的技术需要专门的硬件(例如,DAG卡、GPS天线、分光器)和独立监测工作站,通常用来离线式(off-line)的Internet流量特征分析和建模,由于不利于在全网广泛布置和维护这些高成本的设备,因而难以达到及时收集全网参数的目的。
发明内容
针对现有网络监测技术在高速网络环境下,处理器资源耗费严重,影响节点处理速度和吞吐量,不能进行线速统计、无法满足对统计结果的实时查询等问题,本发明要解决的技术问题是:提供一种能对经过分组交换设备的分组进行线速统计和实时查询的方法。本发明采用线卡采集技术对网管任务或应用中所需的最普遍、最基本的那些统计任务采用FPGA(现场可编程门阵列)实现,在分组交换设备数据包分类功能以及转发功能的基础上实现数据包的监测。通过设置于网络节点接口上的线卡采集器实时监测并统计链路上的流量,由预先设置好的线卡采集代理点集合发来的探测包将统计信息带回代理点,各代理点将汇总后的结果向网络监测中心(NOC)报告,由NOC进一步得到全网监测结果。
采用线卡采集器对网络数据包进行实时监测和线速统计包括以下步骤:
1.对数据包分类,并且对数据包的多个域进行关键字段提取,在此基础上增加数据包监测所需的额外关键字段;
2.针对上面的关键字段进行分组数及分组长度统计,对额外关键字段中的探测包表征字段进行判别,如果判别为常规分组,则刷新数据包计数器,并且将数据包长度累加到数据包长度计数器;
3.针对数据包的分类结果进行流级别的统计;
4.当数据包经过转发引擎后,根据转发端口号,监测模块进行转发路径的统计;
5.如果代表探测包的分组到达,则将各统计结果填充到探测包数据区域相应位置,并对探测包头部信息进行更新。
6.将额外关键字段中的SMAC地址字段作为带外信息与填充更新完成的探测包传向下一级转发调度模块,利用分组交换设备将探测包返回其发送方,并输出统计信息。
本发明基于FPGA设计了一种用于分组交换设备流量监测和查询的线卡采集器,包括:输入缓存接口模块、中央处理器、采集统计模块、统计管理器系统接口模块、报文填充传输模块、DataBase控制器接口模块、输出接口模块,输入缓存接口模块完成对输入报文的缓存,并根据采集统计模块提供的丢弃命令,在数据包进行分类的基础上完成对某些分组的丢弃操作,提取关键字段;采集统计模块:接收输入接口模块传来的数据,并根据参数设置进行相应动作,即判断输入数据格式,进行对象统计,输出统计结果;中央处理器:控制统计管理器系统接口模块访问采集统计模块,控制和查询采集统计模块工作状态;统计管理器系统接口模块:包括统计参数存储管理部分和统计管理部分,连接中央处理器,负责统计参数的存储和输出,利用统计参数组合出相应命令,响应采集统计模块的查询,并提供统计命令;报文填充传输模块:包括查询传输报文填充、统计报文传输,该模块接收上一级命令和数据,发送统计数据到下一级,进行探测包内容填充,探测包报头改写,生成新的探测包头部校验码,将探测包及带外信息发往输出缓存;报文填充传输模块通过DataBase控制器接口模块连接数据库,位于采集统计模块的后级,其输出连接输出接口模块,统计和监测信息输出到外部数据库,报文信息向下级转发。
本发明基于FPGA实现,代价小,易于现场升级,增加了采集功能的灵活性。可快速、准确、及时地统计网络数据,并且不会对数据包转发性能造成任何负面影响。
附图说明
图1所示为线卡采集器原理框图
图2所示为采用线卡采集器进行流量监测流程图
图3所示为输入缓存接口模块FIFO原理框图
图4所示为统计管理器系统接口模块原理框图
图5所示为采集统计模块原理框图
图6所示为采集统计工作流程图
图7所示为报文填充传输模块原理框图
图8所示为报文填充传输模块工作流程图
图9所示为DataBase控制器接口模块原理框图
图10所示为采用线卡采集器后探测包总延迟示意图
具体实施方式
线卡采集器对经过线卡的数据包或具有流标记的数据包进行实时监测统计,并响应探测包查询,可作为现有路由器流量统计方法的补充机制。典型应用环境是高端IP路由器、交换机或基于数据包转发业务的传送平台,这些节点通常具备线速ASIC转发引擎,还具备硬件实现的packets/flows分类功能。
如图1所示为线卡采集器功能框图,可分解为六个子模块:输入缓存接口模块FIFO(IN)、统计管理器系统接口模块、转发输出接口模块FIFO(OUT)、DataBase控制器接口模块、采集统计模块、报文填充传输模块。其工作原理如下:
中央处理器CPU控制统计管理器系统接口a访问采集统计模块,通过对采集统计模块内部寄存器的读写,控制和查询采集器的工作状态,完成对采集器配置、对某类数据包的统计策略和参数的设置和修改等。线卡采集器的输入接口b与路由器的分类器连接,分类器通过该接口将“数据包+带外信息”写入输入缓冲器中,完成数据包的分类和关键字段的提取,由采集器完成对对象的实时监视、对数据包按类别进行流级别统计,监测模块进行转发路径情况统计。统计结果暂时存入报文填充模块中,根据命令进行探测包内容填充及报头改写,生成新的探测包头部校验码,统计数据通过DaTaBase控制器接口d送入外部数据库SDRAM存储,排队器通过输出接口c输出数据包到发送缓冲存储器。
如图2所示为采用线卡采集器进行流量监测的功能示意图。
1.数据包的分类,关键字段的提取:一般数据包分类需要提取的关键字段是一个5元组,包括:源IP地址、目的IP地址、源端口号、目的端口号、协议类型等。也可根据不同的分类目标确定不同的关键字段,本发明需要的关键字段,在本身数据包分类关键字段的基础上,额外需要IP数据包的长度字段、SMAC地址字段以及能够表征探测包特征的表征字段。探测包表征字段可以根据实际情况确定,本实施例针对IPv4数据包将其定为TOS字段。
2.流量监测:针对关键字提取模块传送的关键字信息进行适当的操作,首先是判别探测包表征字段,如果判别为常规分组,则刷新数据包计数器,并且利用数据包长度字段将数据包长度累加到数据包长度计数器。
3.在分组交换设备原有的分类功能基础上,可对数据包按类别进行流级别统计。
4.当数据包经过转发引擎后,转发引擎需要向流量监测模块发送转发端口号,监测模块据此进行转发路径情况统计。
5.将全部统计结果或者要求的统计结果填入探测包数据区域相应的位置,并且更新探测包报头信息,包括以下内容:探测包长度字段更新,探测包生存期(TTL)更新,颠倒源IP地址和目的IP地址,计算头部校验和。最后将SMAC字段作为带外信息与填充更新完成的探测包传向下一级转发调度模块,利用分组交换设备本身的转发调度功能将探测包返回其发送方。
以下分别对各功能模块进行说明:
如图3所示为输入缓存接口模块FIFO,包括一个双口RAM、一个计数器以及读写地址产生器。双口RAM用于数据的缓存,计数器的数值表示当前FIFO读写指针(地址)的偏移量,也就是当前FIFO的空余容量。写地址产生器根据时钟和写允许信号循环产生写地址以及判断FIFO是否差不多满(alfull),读地址产生器根据时钟和读允许信号循环产生读地址以及判断FIFO是否为空(empty)。
FIFO一旦接收到drop信号,它内部的计数器数值按分组长度增加,读地址指针向后偏移,偏移量等于当前分组长度(packet_len),丢弃该分组。
该模块的主要功能是在数据包进行分类的基础上完成对输入分组的缓存和对某些分组的丢弃操作,提取关键字段。
转发输出接口模块FIFO的设计与输入缓存接口模块FIFO的结构框图相似,所要完成的功能是将探测和统计到的数据包进行转发。
如图4所示为统计管理器系统接口模块,系统接口模块分两个主要功能部分,一部分是统计参数存储管理,另一部分是统计管理。统计参数存储管理主要负责统计参数的输入存储与输出,利用统计参数组合出相应命令,由命令译码器译码后提供给统计管理部分,响应提供给采集统计模块对采样数据的查询,并提供统计命令。
如图5为采集统计模块功能框图,该模块位于统计传输器的前端,由输入数据采集部分接收上级模块传来的数据,存入寄存器组中,并根据参数存储中的参数设置,由命令处理器控制进行相应动作。
如图6所示为采集统计流程图,包括如下步骤:
·接收上级模块传来的数据
·判断输入数据格式
·根据参数进行对象统计
·输出统计数据
·向下一级输出探测包填充命令
·向上一级反馈丢弃命令
如图7所示为报文填充传输模块原理框图。由输入数据计数器为控制器提供计数控制,控制器控制数据采样部分接收探测包,并进行相应的处理。当模块接收到本节点的探测包后需要将长度字段值修改为探测包的总字节长度,生命期重新设置为默认值,头部校验和(header checksum)仅用来校验头部。当数据到达时,地址颠倒单元将头部所有数据累加起来,采用求补运算,再取其结果的补码。然后对SIP和DIP交换位置,最后将统计值添加到探测报文组装寄存器。输出时需要将SMAC作为带外信息传递给下级模块,作为链路层转发地址。
如图8所示为报文填充传输模块工作流程图。
·暂存上一级统计结果
·接收上一级命令和数据输入,进行命令译码,根据命令向本地数据库发送请求、并发送统计数据到下级
·根据命令进行探测包内容填充、探测包报头改写、生成新的探测包头部校验码
·将探测包及带外信息发往输出缓存,准备接受端口内转发
如图9所示为DataBase接口模块原理框图。DataBase接口模块控制器主要包括:延时锁相环子模块,地址锁存子模块,数据通道子模块,控制器,突发长度计数器,CAS延时计数器,ras-cas延时计数器。
其中延时锁相环子模块使用了两个片内数字锁相环来降低FPGA和外部数据库DDR SDRAM的时钟偏移。地址锁存子模块从控制器得到控制信号,生成访问DDR SDRAM的行、列和组地址,同时也产生给突发长度计数器和CAS延时计数器使用的burst_max、cas_lat_max值。对数据通道来说,在写周期,通过clk2x将u_data_i上的32位数据复用到DDR SDRAM的16位的数据总线上。在读周期,DDR SDRAM的16位ddr_dq信号锁存在IOB中,由clk2x汇集成32位数据输出,数据被送入外部数据库。
经过对线卡采集器进行仿真测试,图10所示为探测包从第一比特到达开始至第一比特输出的延迟,为140ns,这140ns包括了探测包本身的传输时间120ns,所以实际上线卡采集器对探测包的处理时间是20ns,实际应用中20ns可以忽略,所以线卡采集器可以达到对探测包的线速处理。
因为高端路由器、交换机大多基于硬件转发,而且基本的包分类和流分类功能已经用硬件模块实现。在包分类或流分类硬件基础上,采用线卡采集器花很小的代价就能实现数据包流量的实时监测和统计,如果进一步将线卡采集器与其他模块集成设计,可以减少一级缓存,共用一些子模块,如关键字段的提取与判别模块,从而进一步减小电路规模,使功能更加灵活。线卡采集器的主要应用价值在于:它可以独立于特定的测量模型,实现线速统计,实时探测包查询响应,对现有监测技术是有效的补充。
Claims (7)
1、一种用于分组交换设备流量监测和查询的方法,其特征在于,该方法包括以下步骤:
(1)对数据包进行分类,并对数据包的多个域进行分类关键字段提取,在此基础上增加数据包监测所需的额外关键字段;
(2)针对所述提取的关键字段进行分组数及分组长度统计,对额外关键字段中的探测包表征字段进行判别,如果判别为常规分组,则刷新数据包计数器,并且将数据包长度累加到数据包长度计数器;
(3)针对数据包的分类结果进行流级别的统计;
(4)当数据包经过转发引擎后,根据转发端口号,进行转发路径情况统计;
(5)将全部统计结果填充到探测包数据区域,更新探测包报头信息;
(6)将额外关键字段中的SMAC地址字段作为带外信息与填充更新完成的探测包传向下一级转发调度模块,利用分组交换设备将探测包返回其发送方,并输出统计信息。
2、根据权利要求1所述的方法,其特征在于:所述分类关键字段包括:源IP地址、目的IP地址、源端口号、目的端口号以及协议类型,所述额外关键字段包括:IP数据包的长度字段、探测包表征字段以及SMAC地址字段。
3、根据权利要求1所述的方法,其特征在于:所述更新探测包报头信息的步骤包括:探测包长度字段更新;探测包生存期更新;颠倒源IP地址和目的IP地址;计算头部校验和。
4、根据权利要求1所述的方法,其特征在于:所述流级别的统计包括以下步骤:判断输入数据格式;进行对象统计;输出统计结果;输出探测包填充命令;向上一级反馈丢弃命令。
5、一种用于分组交换设备流量监测和查询的线卡采集器,其特征在于,线卡采集器采用基于FPGA实现,包括:输入缓存接口模块、中央处理器、采集统计模块、统计管理器系统接口模块、报文填充传输模块、数据库控制器接口模块、输出接口模块,输入缓存接口模块完成对输入报文的缓存,对数据包分类并提取关键字段;采集统计模块:接收输入缓存接口模块传来的数据,判断输入数据格式,进行对象统计;中央处理器:控制统计管理器系统接口模块访问采集统计模块,控制和查询采集统计模块工作状态;统计管理器系统接口模块:连接中央处理器,负责统计参数的存储和输出,响应采集统计模块的查询,并提供统计命令;报文填充传输模块:接收上一级命令和数据,发送统计数据到下一级,进行探测包内容填充,探测包报头改写,将探测包及带外信息发往输出缓存;数据库控制器接口模块:控制统计数据送入外部数据库;输出接口模块:对数据包进行转发。
6、根据权利要求5所述的线卡采集器,其特征在于,统计管理器系统接口模块包括:统计参数存储管理部分和统计管理部分。
7、根据权利要求5所述的线卡采集器,其特征在于,数据库控制器接口模块中的延时锁相环子模块使用片内数字锁相环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100408021A CN100499516C (zh) | 2004-09-29 | 2004-09-29 | 分组交换设备流量监测查询方法及线卡采集器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100408021A CN100499516C (zh) | 2004-09-29 | 2004-09-29 | 分组交换设备流量监测查询方法及线卡采集器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1601975A CN1601975A (zh) | 2005-03-30 |
CN100499516C true CN100499516C (zh) | 2009-06-10 |
Family
ID=34664794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100408021A Expired - Fee Related CN100499516C (zh) | 2004-09-29 | 2004-09-29 | 分组交换设备流量监测查询方法及线卡采集器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499516C (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007073620A1 (fr) * | 2005-12-28 | 2007-07-05 | Zte Corporation | Systeme et procede de traitement de message |
US8572382B2 (en) * | 2006-05-15 | 2013-10-29 | Telecom Italia S.P.A. | Out-of band authentication method and system for communication over a data network |
CN101114911B (zh) * | 2006-07-26 | 2010-05-12 | 北京南山之桥信息技术有限公司 | 一种实现网络内容特征搜索、分流及访问控制的处理装置 |
CN100433659C (zh) * | 2006-08-11 | 2008-11-12 | 杭州华三通信技术有限公司 | 一种流量统计方法及流量采集器 |
CN101437032B (zh) * | 2008-12-19 | 2011-11-16 | 重庆邮电大学 | 基于sip协议的voip语音质量监测系统及检测方法 |
CN101567817B (zh) * | 2009-06-03 | 2012-07-04 | 重庆重邮东电通信技术有限公司 | 一种网络监测数据的统计方法及系统 |
CN102404222B (zh) * | 2011-11-28 | 2014-07-23 | 曙光信息产业(北京)有限公司 | 一种支持多端口的网络数据报文统计系统 |
CN104579804A (zh) * | 2013-10-10 | 2015-04-29 | 宁夏先锋软件有限公司 | 一种网络数据监测统计系统 |
CN106031094B (zh) * | 2014-01-02 | 2020-01-21 | 马维尔国际贸易有限公司 | 分布式计数器的准确测量 |
US9942631B2 (en) * | 2015-09-25 | 2018-04-10 | Intel Corporation | Out-of-band platform tuning and configuration |
CN111884885A (zh) * | 2020-07-31 | 2020-11-03 | 中国工商银行股份有限公司 | 访问信息确定方法、装置、系统、电子设备和介质 |
-
2004
- 2004-09-29 CN CNB2004100408021A patent/CN100499516C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1601975A (zh) | 2005-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9313115B2 (en) | Traffic generator with priority flow control | |
CN1710888B (zh) | 生成监视数据报的方法 | |
Carneiro et al. | Flowmonitor: a network monitoring framework for the network simulator 3 (ns-3) | |
US7110362B2 (en) | Network management system | |
CN1312892C (zh) | 用于监控网络流量的方法和设备 | |
CN100369423C (zh) | 网络仿真测试系统及方法 | |
US8520529B2 (en) | Reordering network traffic | |
CN101192951B (zh) | IPv6网络链路利用率测量方法、测量装置及IPv6网络路由器 | |
US9426083B2 (en) | Consistency checking for credit-based control of data communications | |
CN100499516C (zh) | 分组交换设备流量监测查询方法及线卡采集器 | |
CN100372317C (zh) | 10g网络性能测试仪流量接收、抓取和统计电路组件 | |
US20040085901A1 (en) | Flow control in a network environment | |
JPH04263536A (ja) | ネットワークモニタ装置及びシステム | |
JP2000503828A (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
CN101964727B (zh) | 一种利用混合报文测量可用带宽的方法和装置 | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
CN100405786C (zh) | 支持多队列的共享缓存动态门限早期丢弃装置 | |
CN108667898A (zh) | 使用外出镜像提供网元中的缓冲器内容的快照 | |
CN101826999B (zh) | 一种在线报文流量监测及带宽补偿的方法和装置 | |
CN102104502A (zh) | 一种基于Linux系统的以太网网络设备性能测试平台 | |
CN113328902A (zh) | 网络性能检测方法、装置及网络设备 | |
CN106027397B (zh) | 一种星型拓展的分布式测量设备网络通信方法 | |
CN103825833A (zh) | 一种基于数据包偏转统计的网络流量控制方法 | |
CN100531123C (zh) | 一种实现数据包模式到信元帧模式转换的装置及其方法 | |
CN101471817B (zh) | 一种在无连接ip网络中的流量监测方法、系统及设备 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090610 Termination date: 20130929 |