一种网络流量监控的系统和方法

文档序号:7960552阅读:225来源:国知局
专利名称:一种网络流量监控的系统和方法
技术领域
本发明涉及计算机通信领域,尤其涉及一种网络流量监控的系统和方法。
背景技术
随着因特网特别是因特网核心网传输能力的飞速提升,宽带实时多媒体业务得到快速的发展,用户对于网络提供宽带多媒体业务的需求也日益强烈。由于网络承载了传统的数据业务(如网页浏览、FTP下载等)和新兴的宽带多媒体业务,因此有必要在用户接入网内进行流量检测和控制,以保证不同用户、不同业务的服务质量。
现有的用户接入路由器一般采用基于IntServ结构的系统或基于DiffServ结构的系统来实现服务质量。
基于IntServ结构的流量监控系统分为数据层面和控制层面,如图1所示,数据层面包括分类器和调度器两个功能模块。分类器一般根据源IP地址、目的IP地址、源端口号、目的端口号、协议类型组成的五元组来对进入流量监控系统的数据包进行分类,并根据分类结果放入流队列中;调度器根据服务质量的要求决定数据包发送的先后顺序。控制层面用来设置数据层面的控制参数,包括三个功能模块和一个数据库资源预留协议模块,为每一条流预留足够的资源,并不断更新通信量控制数据库;接入控制模块,当一个新的流产生时,被调用到资源预留协议模块,判断是否有足够的资源供给新的流;管理模块,用来修改通信量控制数据库,并管理接入控制模块,包括设置接入控制策略。
基于DiffServ结构的流量监控系统在流量进入核心网以前,在边界路由器进行流量整形,核心路由器仅仅根据区分服务字段来对数据包进行区别对待,如图2所示,该系统包括分类器和通信量调节器。分类器根据数据包首部的某些字段对分组进行分类,然后将分组发送到通信量调节器。通信量调节器包括标记器、整形器和测定器。标志器根据分组的业务类别设置区分服务字段的值。整形器根据标记器和测定器反馈的结果,对突发的流量进行平滑,并丢弃违反服务协定的数据包。
由上述可见,现有技术的流量监控系统存在以下不足对于基于IntServ结构的流量监控系统来说,由于其分类的粒度过细,产生的数据流很多,例如OC-192链路上往往能由上百万条并发流,而系统需要维护每一条流的状态信息,导致维护成本很高。并且,如果要实现端到端的服务质量保证,网络中所有路由器都必须进行资源预留,进行基于IntServ结构的改造,而IntServ本身结构过于复杂,在一些低端的路由器上难以实现,因此该系统缺乏灵活性,不易于扩展。
对于基于DiffServ结构的流量监控系统来说,其只对流量的业务类型进行分类,虽然保证了业务之间的优先次序,却不能实现基于用户的资源预留。而根据与用户的服务协议,用户应当得到协议规定数量的缓存资源,否则是不公平的。显然基于DiffServ结构的流量监控系统难以保证用户之间的公平性。

发明内容
本发明解决的技术问题在于提供一种网络流量监控的系统和方法,达到以较低成本,保证网络流量中各个业务类型和用户类型服务质量的目的。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的一种网络流量监控的系统,该系统包括分类模块,用于对数据包进行用户分类和业务分类,形成数据流;测量模块,用于根据数据流的类型测量数据流的流量;整形分配模块,用于根据数据流类型和测量结果分配缓存队列上的缓存资源。
其中,所述分类模块、测量模块或整形分配模块由网络处理器、现场可编程门阵列或特定应用集成电路实现。
其中,整形分配模块还用于对数据流进行突发平滑;还用于选择丢包策略。
其中,该系统还包括调度模块,用于根据调度算法汇集每个用户的数据流,输出数据包。
其中,该系统应用于OC-192链路。
一种网络流量监控的方法,该方法包括以下步骤A、对输入的数据包进行用户分类和业务分类,形成数据流;B、根据数据流的类型测量数据流的流量;
C、根据数据流类型和测量结果分配缓存队列上的缓存资源。
其中,步骤A中进行用户分类具体为从每个到达的数据包中提取用户标志,以所述用户标记为关键字查找存储器,存储器返回用户标号消息,用于表示用户类型。
其中,步骤A中进行业务分类具体为读取动态存储器中的数据包,提取数据包包头的字段,判断所述字段是否含有实时传输协议RTP标识,如果是,则该数据包为流媒体业务,否则为传统数据业务。
其中,所述用户分类中查找的存储器为内容寻址存储器。
其中,所述业务分类中读取的动态存储器为Rambus动态存储器。
其中,步骤B具体为对流媒体业务的数据流的流量进行抽样测量,对传统数据业务的数据流的流量测量每一个数据包的大小并计算数据包的总数。
其中,所述抽样测量为按时间间隔抽样测量。
其中,所述按时间间隔抽样测量的时间间隔为 纳秒,其中,λ为流媒体业务占总流量的比例,ρ(0<ρ<1)为抽样比。
其中,在步骤B之后,还包括对数据流进行突发平滑的整形过程。
其中,在步骤C之后,还包括在缓存队列存满时,选择丢包策略丢弃数据包。
其中,所述选择丢包策略为根据加权早期随机丢弃算法进行选择。
其中,在步骤C之后,还包括汇集每个用户的数据流,输出数据包。
其中,所述汇集和输出为根据轮询调度算法进行汇集和输出。
以上技术方案可以看出,本发明具有以下优点1、本发明将用户业务分为流媒体业务和传统数据业务两类,被监控的流的粒度是每个用户的每类业务,因此数据流的总数适中,维护成本较低。同时,由于本系统相对比较简单,仅仅需要在接入路由器上进行资源预留,易于扩展。
2、在整形分配过程中,根据与用户的服务协议分配一定数量的缓存资源,在保证用户的缓存资源一定的时候,根据测量的结果,动态的分配用于缓存流媒体业务与传统数据业务的缓存资源,并对漏桶参数进行动态调整,保证了用户之间的公平性,同时还保证了各个业务类型的服务质量。
3、本发明在数据包分类的过程中采用内容寻址存储器和Rambus动态存储器,在抽样测量中采用静态存储器,能够满足OC-192链路线速处理的要求,应用范围广。


图1为现有技术基于IntServ结构的流量监控系统结构图。
图2为现有技术基于DiffServ结构的流量监控系统结构图。
图3为本发明中网络流量监控系统的物理实现框图。
图4为本发明中网络流量监控系统的系统结构图。
图5为本发明中网络流量监控方法实施例一的流程图。
图6为本发明中网络流量监控方法实施例二的流程图。
具体实施例方式
实现本发明的基本思路是将数据包进行用户分类和业务分类,形成粒度为每个用户的每类业务类型的数据流,经过测量后,对数据流进行整形,根据用户类型和业务类型为其分配缓存资源,确保用户的总带宽和各业务类型数据流的带宽。
本发明中网络流量监控系统的物理实现框图如图3所示。系统基于网络处理器100(NP,Network Processor)实现数据包分类、数据流流量测量、数据流整形分配的功能。系统还可以由现场可编程门阵列或特定应用集成电路实现这些功能。另外,NP外接的内容寻址存储器(CAM,Content Access Memory)200以及CAM的静态存储器201(SRAM,Static Random Access Memory)用于NP实现数据包用户分类功能;NP100外接的SRAM300用于缓存流状态、数据包描述符等等需经常访问的重要的数据结构,辅助NP实现数据流流量的测量功能和整形分配功能;NP100外接的动态随机存储器400(DRAM,Dynamic Random Access Memory)用于缓存数据包,辅助NP实现业务类型分配功能和整形分配功能。
本发明中网络流量监控系统的逻辑结构框图如图4所示,主要包括分类模块500、测量模块600和整形分配模块700,还包括调度模块800。
分类模块500,用于对进入系统的数据包进行用户分类和业务分类,以区分该数据包属于哪个用户类型,以及业务类型是流媒体业务还是传统数据业务,形成粒度为每个用户的每个业务类型的数据流。与用户标志对应的用户标号存储在CAM中,分类模块500从每个到达的数据包中提取用户标志,以此为关键字查找CAM,返回结果为用户标号,用于表示用户类型。当线路速率为OC-192时,设线路上满速率传输最小包为40字节,则传输一个数据包需要32纳秒。CAM的工作时钟频率为200MHz,则进行一次72位的查表操作需要10纳秒,能够达到OC-192链路线速处理的要求。用户分类还可以在NP上以软件的方式实现。
另外,分类模块500根据应用层的实时传输协议(RTP,Realtime TransportProtocol)来区分流媒体业务和传统数据业务。分类器提取数据包头的字段的标记,如果含有RTP标记则该数据包属于流媒体业务,如果没有则属于传统数据业务。由于数据包缓存于存储器上,进行业务分类需要读一次动态存储器,而实现中采用的Rambus动态存储器(RDRAM)的连续访问间隔远小于32纳秒,能够达到OC-192链路线速处理的要求。当然,业务分类中也可以采用其他满足访问间隔要求的动态存储器。在分类模块500中,用户分类和业务分类可以并行进行。
测量模块600,包括抽样测量单元601和逐包计数单元602,用于对流媒体业务的数据流的流量进行抽样测量,对传统数据业务的数据流的流量进行逐包计数测量。
对流媒体业务的采用抽样测量,以得到数据流的大小,可以采取按时间间隔抽样测量,抽样比为ρ(0<ρ<1)。假设流媒体业务占总流量的比例为λ,为了实现OC-192链路上的线速统计处理,如果不采用抽样测量,则流量统计模块的访存间隔为16纳秒(数据包的到达间隔为32纳秒,每到达一个数据包,需要一读一写两次访存操作);采用抽样测量,访存间隔为 设计中保守的假设λ=0.1,取ρ=0.01,则抽样测量的访存间隔约为18纳秒。
流量计数器置于静态存储器中,由于静态存储器的访问间隔远小于18纳秒,因此测量模块600可以实现OC-192链路上的线速流量统计。其中,流量计数器还可以置于动态存储器中。
对于流媒体业务的抽样测量,还可以采取数据包抽样测量,具体为从一定数量的数据包中抽取一个数据包进行测量。
对传统数据业务进行逐包计数测量,具体为测量每一个数据包的大小和数据包的总个数。
整形分配模块700,包括漏桶整形器701和缓存队列702,用于根据测量结果对数据流进行突发平滑的整形过程,还用于根据数据流类型和测量结果分配缓存队列上的缓存资源。
整形过程在漏桶整形器上进行。
整形分配模块700的分配过程具体为整形分配模块700根据与用户的服务协定分配给用户协议规定数量的缓存资源,保证用户之间的公平性。同时,在分配过程中,整形分配模块700根据测量模块600测得的数据流的流量大小,在保证用户的缓存资源一定的前提下,动态的分配用于缓存流媒体业务和传统数据业务数据流的缓存资源,并进行漏桶参数的动态调整,以便能更灵活的保证各个用户类型和业务类型的服务质量。
在整形分配模块700中,整形和分配缓存资源的过程不分先后顺序,可以先进行整形再分配缓存资源,也可以先分配缓存资源再整形。
上述分配缓存资源是在缓存队列上为数据流分配缓存资源,随着缓存资源的分配,缓存队列将接近于存满状态。整形分配模块700还用于在缓存队列存满时,根据丢弃算法选择合适的丢包策略。其中,丢弃算法可以是加权早期随机丢弃算法(WRED,Weighted Random Early Drop)或者其他丢弃算法。
网络流量监控系统还包括调度模块800,用于根据调度算法汇集用户的各个业务类型的数据流,输出数据包,保证用户的带宽。其中调度算法可以采用轮询调度算法(DRR,Deficit Round Robin)或其他调度算法。
本发明还提供了一种网络流量监控的方法,如图5所示,该方法的第一个其中,进行用户分类的具体过程为从每个到达的数据包中提取用户标志;以所述用户标记为关键字查找CAM;CAM返回用户标号消息,用于表示用户类型。
特别地,当线路速率为OC-192时,设线路上满速率传输最小包为40字节,则传输一个数据包需要32纳秒。CAM的工作时钟频率为200MHz,则进行一次72位的查表操作需要10纳秒,能够达到OC-192链路线速处理的要求。用户分类还可以在NP上以软件的方式实现。
其中,进行业务分类的过程为读取动态存储器中的数据包,提取数据包包头的字段;判断所述字段是否含有RTP标识,如果是,则该数据包为流媒体业务,否则为传统数据业务。
特别地,当线路速率为OC-192时,实现中采用的RDRAM的连续访问间隔远小于32纳秒,能够达到OC-192链路线速处理的要求。当然,业务分类中也可以采用其他满足访问间隔要求的动态存储器。
其中,用户分类过程和业务分类过程可以并行进行。
步骤S502、对流媒体业务的数据流的流量进行抽样测量,对传统数据业务的数据流的流量进行逐包计数测量。
对流媒体业务的数据流的流量进行抽样测量可以采取按时间间隔抽样测量和数据包抽样测量。特别地,对于OC-192链路,按时间间隔抽样测量具体为测量的时间间隔为 其中,λ为流媒体业务占总流量的比例,保守的假设λ=0.1;ρ(0<ρ<1)为抽样比,一般取值为ρ=0.01,这样测量的时间间隔一般为18纳秒。
流量计数器置于静态存储器中,由于静态存储器的访问间隔远小于18纳秒,因此测量模块600可以实现OC-192链路上的线速流量统计。其中,流量计数器还可以置于动态存储器中。
数据包抽样测量具体为从一定数量的数据包中抽取一个数据包进行测量。
对传统数据业务进行逐包计数测量,具体为测量每一个数据包的大小和数据包的总个数。
步骤S503、根据测量结果对数据流进行突发平滑的整形过程。整形过程具体为整形在漏桶整形器上进行。
步骤S504、根据数据流类型和上述测量结果分配缓存队列上的缓存资源。分配缓存资源的过程具体包括根据与用户的服务协定分配给协议规定数量的缓存资源,以保证用户之间的公平性;根据测量模块600测得的数据流的流量大小,在保证用户的缓存资源一定的前提下,动态的分配用于缓存流媒体业务和传统数据业务数据流的缓存资源,并进行漏桶参数的动态调整,以便能更灵活的保证各个用户类型和业务类型的服务质量。
进一步,在缓存队列存满时,根据丢弃算法选择合适的丢包策略。上述分配缓存资源是在缓存队列上为数据流分配缓存资源,随着缓存资源的分配,缓存队列将接近于存满状态,所以有必要进行一些数据包的丢弃。其中,丢弃算法可以是加权早期随机丢弃算法(WRED,Weighted Random Early Drop)或者其他丢弃算法。
步骤S505、根据调度算法汇集用户的各个业务类型的数据流,输出数据包。其中调度算法可以采用轮询调度算法(DRR,Deficit Round Robin)或其他调度算法。
需要说明的是整形和分配缓存资源的过程不分先后顺序,可以先进行整形再分配缓存资源,也可以先分配缓存资源再整形。
当先进行分配缓存资源再进行整形时,本方法的第二个实施例包括以下步骤步骤S601、对输入的数据包进行用户分类和业务分类,以区分该数据包属于哪个用户类型,以及业务类型是流媒体业务还是传统数据业务,形成粒度为每个用户的每个业务类型的数据流。
其中,进行用户分类的具体过程为从每个到达的数据包中提取用户标志;以所述用户标记为关键字查找CAM;CAM返回用户标号消息,用于表示用户类型。
特别地,当线路速率为OC-192时,设线路上满速率传输最小包为40字节,则传输一个数据包需要32纳秒。CAM的工作时钟频率为200MHz,则进行一次72位的查表操作需要10纳秒,能够达到OC-192链路线速处理的要求。用户分类还可以在NP上以软件的方式实现。
其中,进行业务分类的过程为读取动态存储器中的数据包,提取数据包包头的字段;判断所述字段是否含有RTP标识,如果是,则该数据包为流媒体业务,否则为传统数据业务。
特别地,当线路速率为OC-192时,实现中采用的RDRAM的连续访问间隔远小于32纳秒,能够达到OC-192链路线速处理的要求。当然,业务分类中也可以采用其他满足访问间隔要求的动态存储器。
其中,用户分类过程和业务分类过程可以并行进行。
步骤S602、对流媒体业务的数据流的流量进行抽样测量,对传统数据业务的数据流的流量进行逐包计数测量。
对流媒体业务的数据流的流量进行抽样测量可以采取按时间间隔抽样测量和数据包抽样测量。特别地,对于OC-192链路,按时间间隔抽样测量具体为测量的时间间隔为 其中,λ为流媒体业务占总流量的比例,保守的假设λ=0.1;ρ(0<ρ<1)为抽样比,一般取值为ρ=0.01,这样测量的时间间隔一般为18纳秒。
流量计数器置于静态存储器中,由于静态存储器的访问间隔远小于18纳秒,因此测量模块600可以实现OC-192链路上的线速流量统计。其中,流量计数器还可以置于动态存储器中。
数据包抽样测量具体为从一定数量的数据包中抽取一个数据包进行测量。
对传统数据业务进行逐包计数测量,具体为测量每一个数据包的大小和数据包的总个数。
步骤S603、根据数据流类型和上述测量结果分配缓存队列上的缓存资源。分配缓存资源的过程具体包括根据与用户的服务协定分配给协议规定数量的缓存资源,以保证用户之间的公平性;根据测量模块600测得的数据流的流量大小,在保证用户的缓存资源一定的前提下,动态的分配用于缓存流媒体业务和传统数据业务数据流的缓存资源,并进行漏桶参数的动态调整,以便能更灵活的保证各个用户类型和业务类型的服务质量。
进一步,在缓存队列存满时,根据丢弃算法选择合适的丢包策略。上述分配缓存资源是在缓存队列上为数据流分配缓存资源,随着缓存资源的分配,缓存队列将接近于存满状态,所以有必要进行一些数据包的丢弃。其中,丢弃算法可以是加权早期随机丢弃算法或者其他丢弃算法。
步骤S604、根据测量结果对数据流进行突发平滑的整形过程。整形过程具体为整形在漏桶整形器上进行。
步骤S605、根据调度算法汇集用户的各个业务类型的数据流,输出数据包。其中调度算法可以采用轮询调度算法或其他调度算法。
上述的数据包分类、数据流流量测量、数据流整形分配的过程在网络处理器100上进行,还可以在现场可编程门阵列或特定应用集成电路上进行。
以上对本发明所提供的一种网络流量监控的系统和方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种网络流量监控的系统,其特征在于,该系统包括分类模块,用于对数据包进行用户分类和业务分类,形成数据流;测量模块,用于根据数据流的类型测量数据流的流量;整形分配模块,用于根据数据流类型和测量结果分配缓存队列上的缓存资源。
2.如权利要求1所述的网络流量监控的系统,其特征在于所述分类模块、测量模块或整形分配模块由网络处理器、现场可编程门阵列或特定应用集成电路实现。
3.如权利要求1所述的网络流量监控的系统,其特征在于整形分配模块还用于对数据流进行突发平滑;还用于选择丢包策略。
4.如权利要求1所述的网络流量监控的系统,其特征在于该系统还包括调度模块,用于根据调度算法汇集每个用户的数据流,输出数据包。
5.如权利要求1所述的网络流量监控的系统,其特征在于该系统应用于OC-192链路。
6.一种网络流量监控的方法,其特征在于,该方法包括以下步骤A、对输入的数据包进行用户分类和业务分类,形成数据流;B、根据数据流的类型测量数据流的流量;C、根据数据流类型和测量结果分配缓存队列上的缓存资源。
7.如权利要求6所述的网络流量监控的方法,其特征在于,步骤A中进行用户分类具体为从每个到达的数据包中提取用户标志,以所述用户标记为关键字查找存储器,存储器返回用户标号消息,用于表示用户类型。
8.如权利要求6所述的网络流量监控的方法,其特征在于,步骤A中进行业务分类具体为读取动态存储器中的数据包,提取数据包包头的字段,判断所述字段是否含有实时传输协议RTP标识,如果是,则该数据包为流媒体业务,否则为传统数据业务。
9.如权利要求7所述的网络流量监控的方法,其特征在于所述用户分类中查找的存储器为内容寻址存储器。
10.如权利要求8所述的网络流量监控的方法,其特征在于所述业务分类中读取的动态存储器为Rambus动态存储器。
11.如权利要求6所述的网络流量监控的方法,其特征在于,步骤B具体为对流媒体业务的数据流的流量进行抽样测量,对传统数据业务的数据流的流量测量每一个数据包的大小并计算数据包的总数。
12.如权利要求11所述的网络流量监控的方法,其特征在于,所述抽样测量为按时间间隔抽样测量。
13.如权利要求12所述的网络流量监控的方法,其特征在于,所述按时间间隔抽样测量的时间间隔为 纳秒,其中,λ是流媒体业务占总流量的比例,ρ是抽样比,ρ取值的范围是大于零且小于一。
14.如权利要求6所述的网络流量监控的方法,其特征在于,在步骤B之后,还包括对数据流进行突发平滑的整形过程。
15.如权利要求6所述的网络流量监控的方法,其特征在于,在步骤C之后,还包括在缓存队列存满时,选择丢包策略丢弃数据包。
16.如权利要求15所述的网络流量监控的方法,其特征在于,所述选择丢包策略为根据加权早期随机丢弃算法进行选择。
17.如权利要求6所述的网络流量监控的方法,其特征在于,在步骤C之后,还包括汇集用户的数据流,输出数据包。
18.如权利要求17所述的网络流量监控的方法,其特征在于,所述汇集和输出为根据轮询调度算法进行汇集和输出。
全文摘要
本发明公开了一种网络流量控制的系统和方法,所述系统包括分类模块,用于对数据包进行用户分类和业务分类,形成数据流;测量模块,用于根据数据流的类型测量数据流的流量;整形分配模块,用于根据数据流类型和测量结果分配缓存队列上的缓存资源。所述方法包括步骤A.对输入的数据包进行用户分类和业务分类,形成数据流;B.根据数据流的类型测量数据流的流量;C.根据数据流类型和测量结果分配缓存队列上的缓存资源。本发明对数据包分类的粒度适中,在保证各用户类型和各业务类型的服务质量的同时,成本较低,还易于推广。
文档编号H04L12/24GK1881899SQ20061007803
公开日2006年12月20日 申请日期2006年4月30日 优先权日2006年4月30日
发明者张兴明, 张进, 刘勤让, 张校辉, 智英建 申请人:国家数字交换系统工程技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1