分组交换设备流量监测查询方法及线卡采集器的制作方法

文档序号:7592294阅读:161来源:国知局
专利名称:分组交换设备流量监测查询方法及线卡采集器的制作方法
技术领域
本发明涉及通信网络管理和控制领域,尤其涉及通信网络中分组交换设备流量监测及查询的方法和装置。
背景技术
众所周知,SNMP/RMON是IP网络广泛使用的管理监视机制,RMON是指为了网络管理,通过网络中的一个节点来监视整个网络。为了监视全网,需要在网络中每个节点设置监视器,网络运行中心NOC和各监视器通过轮询(polling)或事件报告(event reporting)将监视信息汇集在NOC。这种在每个节点设置监视器的方法虽然直观,但有个致命的缺陷是开销太大,监视器采集、存储信息时对所在节点处理器资源的耗费,会影响节点的处理速度或吞吐量,严重时使所在路由器吞吐量减少15%-20%,从而使节点成为新的网络瓶颈。在对网络数据进行统计和查询中会影响所在节点的转发性能。
基于软件的测量技术,先天条件决定了其测量速度很难适应测量高速网络环境下带宽的要求,而且,要占用所在路由器的处理器资源,甚至严重影响路由器吞吐量(例如,SNMP/RMON代理会影响所在路由器的吞吐量)。抽样测量、流量聚合也是监测技术的热点之一,如CISCO的Sampled NetFlow和Aggregated NetFlow,对节点处理速度的影响减少了一部分,但仍不能满足高速网络的实时监测和线速统计。在文献IEEE Communications Manazine,May2000,T.McGregor,H.-W.Braun,and J.Trown,″The NLANR Network AnalysisInfrastructure,″中所述,现有的基于硬件实现的技术需要专门的硬件(例如,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可以忽略,所以线卡采集器可以达到对探测包的线速处理。
因为高端路由器、交换机大多基于硬件转发,而且基本的包分类和流分类功能已经用硬件模块实现。在包分类或流分类硬件基础上,采用线卡采集器花很小的代价就能实现数据包流量的实时监测和统计,如果进一步将线卡采集器与其他模块集成设计,可以减少一级缓存,共用一些子模块,如关键字段的提取与判别模块,从而进一步减小电路规模,使功能更加灵活。线卡采集器的主要应用价值在于它可以独立于特定的测量模型,实现线速统计,实时探测包查询响应,对现有监测技术是有效的补充。
权利要求
1.一种用于分组交换设备流量监测和查询的方法,其特征在于,该方法包括以下步骤(1)对数据包进行分类并进行关键字段提取,首先对数据包的多个域进行分类关键字段提取,在此基础上增加数据包监测所需的额外关键字段;(2)针对所述提取的关键字段进行分组数及分组长度统计,对额外关键字段进行判别,首先判别探测包表征字段,如果判别为常规分组,则刷新数据包计数器,并且将数据包长度累加到数据包长度计数器;(3)针对数据包的分类结果进行流级别的统计;(4)针对数据包转发结果进行转发路径的统计,当数据包经过转发引擎后,根据转发端口号,监测模块进行转发路径情况统计;(5)如果代表探测包的分组到达,则将各统计结果填充到探测包相应位置、更新探测包报头信息、生成校验码、向下一级发送探测包;(6)将SMAC字段作为带外信息与填充更新完成的探测包传向下一级转发调度模块,利用分组交换设备将探测包返回其发送方,并输出统计信息。
2.根据权利要求1所述的方法,其特征在于所述关键字段包括源IP地址、目的IP地址、源端口号、目的端口号、协议类型、IP数据包的长度字段、探测包表征字段、以及SMAC地址字段。
3.根据权利要求1所述的方法,所述更新探测包报头信息的步骤包括探测包长度字段更新、探测包生存期更新、颠倒源IP地址和目的IP地址、计算头部校验和。
4.根据权利要求1所述的方法,其特征在于所述流级别的统计包括以下步骤判断输入数据格式;进行对象统计;输出统计结果;输出探测包填充命令;向上一级反馈丢弃命令。一种用于分组交换设备流量监测和查询的线卡采集器,其特征在于,线卡采集器采用基于硬件技术的FPGA实现,包括输入接口模块、中央处理器、采集统计模块、统计管理器系统接口模块、报文填充传输模块、数据库控制器接口模块、输出接口模块,输入接口模块完成对输入报文的缓存,并根据采集统计模块提供的丢弃命令,完成对某些数据包的丢弃操作;采集统计模块接收输入接口模块传来的数据,并根据参数设置进行相应动作;统计管理器系统接口模块包括统计参数存储管理部分和统计管理部分,连接中央处理器,负责统计参数的存储和输出,利用统计参数组合出相应命令,响应采集统计模块的查询,并提供统计命令;报文填充传输模块包括查询传输报文填充、统计报文传输,统计信息通过数据库控制器接口模块送入外部数据库,报文填充传输模块位于采集统计模块的后级,其输出连接输出接口模块、报文通过输出接口模块向下级转发。
5.根据权利要求5所述的线卡采集器,其特征在于,输入接口模块及输出接口模块均由计数器、读写地址产生模块连接控制一个双口RAM;统计管理器系统接口模块由命令译码器输出命令控制数据采样部分将数据存入寄存器组;采集统计模块由数据采集部分连接命令处理器和计数器、定时器,命令处理器提供控制参数寄存器和计数器、定时器;探测报文填充模块包括控制器控制输入数据计数器、数据采样器向长度更新部件、生命期更新部件、头部校验和部件、地址颠倒部件、SMAC寄存器提供采样数据、其输出与统计数据寄存器提供的统计值都输入探测报文组装寄存器;数据库接口模块包括由控制器控制的延时锁相环部分、地址锁存部分、数据通道、突发长度计数器、CAS延时计数器、ras-cas延时计数器。
全文摘要
本发明涉及通信网络中分组交换设备流量监测及查询,采用基于硬件技术的线卡采集器对网络中数据包的流量进行实时查询和线速统计,线卡采集器包括输入接口模块、中央处理器、采集统计模块、统计管理器系统接口模块、报文填充传输模块、DataBase控制器接口模块、输出接口模块。统计和查询包括步骤对数据包分类,并对数据包的多个域进行关键字提取;进行分组数及分组长度统计;进行流级别的统计;进行转发路径的统计;将各统计结果填充到探测包相应位置,并对探测包头部信息进行更新,填充更新完成的探测包传向下一级转发调度模块,从而完成对网络中数据包流量进行实时查询和统计。本发明可准确、及时地统计网络数据。
文档编号H04L12/26GK1601975SQ20041004080
公开日2005年3月30日 申请日期2004年9月29日 优先权日2004年9月29日
发明者唐红, 殷建儒, 赵国锋, 张毅 申请人:重庆邮电学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1