宽窄带综合接入设备的网络流量统计方法

文档序号:7972463阅读:358来源:国知局
专利名称:宽窄带综合接入设备的网络流量统计方法
技术领域
本发明涉及一种宽窄带综合接入设备的网络流量统计方法。尤其涉及通讯领域的以太网 中流量统计和监测,具体来说是一种用于对宽窄带综合接入设备中的各种报文速率统计。
背景技术
固定电话网络在近百年的时间里,也经历了以模拟交换为代表的第一代网络和以数字程 控交换为代表的第二代网络,目前伴随互联网和VoIP技术的发展,正在向以软交换技术的大 规模、全方位应用为特征的第三代固定网络全面转型。业界将第三代固定网络形象地称为固 网3G。在这种网络体系架构中将融合多种媒体的业务模型,宽窄带综合接入设备便是实现这 个网络体系架构中接入层网络设备。在宽窄带综合接入设备中是以IP网络为核心网,IP网络上新应用的不断出现对IP网络 的服务质量也提出了新的要求,例如VoIP (Voice over IP, IP语音),运营商需要面向不同 的用户类型和个性化业务提供合理的使用带宽资源,实现全业务综合接入,以使得资源利用 收益的最大化,而要对新的多媒体业务实现合理分配资源,有效管理资源,就需要一个对多 种媒体业务实现监控机制,宽窄带综合接入设备实现网宽带业务的核心器件是以太网交换芯 片,交换芯片在实现对网络上的监控,是基于互联网工程任务组(IETF)制定的远程监控 (RM0N)标准监控规范,RM0N以及RMONII标准一般实现数据包丢弃、数据包发送接收、广 播/组播/数据包、CRC错误、大小块、冲突等信息统计。帧范围从64 128、 128 256、 256 512、 512 1024以及1024 1518字节。标准见RFC 1757、 RFC 1213 RFC2233。在宽窄带综 合接入设备中对流量的统计需求已不仅限于标准监控规范,目前存在的问题标准监控规范 没有制定支持速率统计,所以交换芯片没有提供对各种包的速率统计。说明以下流的含义 即表示多媒体业务中的各种报文。发明内容针对现有技术存在的缺陷和不足,本发明提供一种能够对各种类型的流进行准确的网络 流量速率统计和监测的宽窄带综合接入设备的网络流量统计方法。为达到上述目的,本发明采用以下技术方案 一种宽窄带综合接入设备的网络流量统计方 法,包括如下步骤-步骤A,先将每个端口的统计数据从交换芯片的端口统计寄存器中全部读取出来,并存放 在内存中;步骤B,用一个轮循任务对端口的统计数据进行定时采集,将发送字节统计数据作为流的 流量统计的原始数据记录下来;步骤C,用交换芯片的流分类功能,定制对被统计的流匹配策略;步骤D,用流分类中镜像功能将被统计流镜像到一个端口,在此端口处统计发送字节的速 率,从而得到被统计流的速率。优选的在所述宽窄带综合接入设备的网络流量统计方法中,步骤A包括如下步骤步骤A1,为每个端口的统计信息分配内存空间,由上一次统计数据内存,总计统计数据 内存,更新的统计数据内存,速率统计数据内存组成;步骤A2,初始化一个定时轮循的端口数据统计任务,用于定时的信号量,和一个处理统 计数据的回调函数队列任务。优选的在所述宽窄带综合接入设备的网络流量统计方法中,步骤B包括如下步骤步骤B1,定时一段时间后执行获取当前的时间戳,并将端口数据统计的一次过程放入函 数调用队列中;步骤B2,回调函数队列任务将从队列中取出一个函数执行,此函数将对所有端口上的全 部统计元素信息进行一次统计;步骤B3,将每种统计元素信息的当前值和上一次保存在内存空间中的值,进行比较;步骤B4,如果相等则说明这种统计元素信息没有变化,如果不相等则计算两个值的差, 并存放在速率统计数据内存空间;步骤B5,更新上一次统计数据、总计统计数据,并更新上一次的时间戳。步骤B6,在获取端口每种统计速率函数中,如果当前的时间戳减去上一次的时间戳等于 设定的定时时间,那么统计速率就返回是速率统计数据内存的值,否则就用速率统计数据内 存的值除以间隔时间,得到在间隔时间内的速率值。优选的在所述宽窄带综合接入设备的网络流量统计方法中,步骤C包括如下步骤步骤C1,初始化一个流定时统计的任务, 一个镜像功能的互斥信号量,流速率统计队列 双向链表和交换芯片的流分类功能;步骤C2,当能够获取到镜像功能的互斥信号量后,就在流统计任务获取当前的镜像端口 发送字节速率值,镜像端口发送字节速率值是从端口数据统计中获取的;步骤C3,将需匹配的流进行流镜像处理,需要进行统计的流由用户动态在一个流统计队 列中添加和删除,新的匹配流特征从队列尾部加入。优选的在所述宽窄带综合接入设备的网络流量统计方法中,步骤D包括如下步骤- 步骤D1,流统计任务从队列的头部取出一个流的匹配特征,并交给交换芯片的流分类进 行处理,交换芯片能根据每个流指定的报文匹配字段进行准确匹配,然后将匹配成功的流镜 像到一个镜像端口;步骤D2,获取镜像端口变化后的发送字节速率值,这样前后两次获取镜像端口发送字节速率差值,就是流的统计值;步骤D3,取消对流的镜像和释放信号量,流统计任务继续从流统计队列中取下一个需统计的流匹配特征值,直到完成对流统计队列中的所有流统计。 本发明具有以下有益效果-1) 将标准统计数据用任务轮询的办法来获取速率,这样以前标准只能统计累计值,现在可以 通过此方法,统计出来单位时间变化的值。用任务轮询机制比中断机制,占用系统资源少。2) 使用交换芯片的流分类功能,并将被统计的流镜像到一个端口上进行统计速率,这样可以 做到对流按照字节来统计速率,因为标准上有规定实现端口发送字节统计。这样把交换芯 片的几个独立功能综合利用,结果最大发挥了资源利用,并且不同的芯片都有镜像流功能, 所以此方法具有比较好的通用性。3) 在进行流统计时候,无需外接其他设备再做对数据统计处理,即镜像端口无需外接计算机。4) 在进行流统计时候,无需由处理器做对流的采集和过滤,而由交换芯片来完成流分类处理, 这样占用系统资源少,不会影响处理器处理其他业务功能。


图1为端口数据统计流程图; 图2为流的速率统计流程图。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述在实际需求中用户是希望能够获取端口的带宽数据,带宽利用率,目的是能够合理的安 排资源。由原始需求可以详细描述为对交换芯片端口的各种包速率进行统计,包括广播/ 组播/单播包的发送、接收速率,端口总的发送、接收字节速率统计,广播/组播/单播包的发 送、接收字节速率统计等,这个功能对用户应该是有价值的,可以通过这些数据直观了解系 统负荷情况,从而给管理者决策资源利用提供数据说明。图1是端口数据统计流程图。在这个流程中主要完成两个任务, 一个是釆集端口标准提供的所有统计元素的数据,特 别是每秒接收、发送字节统计数据将作为流的流量统计的原始数据;第二需要统计出单位时 间内统计值的变化,从而获得速率数据。首先,初始化过程为每个端口的统计信息分配内存空间,由上一次统计数据内存,总计 统计数据内存,更新的统计数据内存,速率统计数据内存组成。初始化一个定时轮循的端口 数据统计任务,以及用于定时的信号量,和一个处理统计数据的回调函数队列任务。在定时轮循的端口数据统计任务中,定时一段时间后执行获取当前的时间戳,然后将端 口数据统计的一次过程放入函数调用队列中,回调函数队列任务将从队列中取出一个函数执 行,此函数将对所有端口上的全部统计元素信息进行一次统计,将每种统计元素信息的当前 值和上一次值保存在预先初始化的内存空间中,比较这两个值,如果相等则说明这种统计元 素信息没有变化,如果不相等则计算两个值的差并存放在速率统计数据内存空间,最后更新 上一次统计数据、总计统计数据。并更新上一次的时间戳。在获取端口每种统计速率函数中,如果当前的时间戳减去上一次的时间戳等于设定的定时时间,那么统计速率就返回是速率统计数据内存的值,否则就用速率统计数据内存的值除 以间隔时间,从而得到在间隔时间内的速率值。图2是流的速率统计流程图。在这个流程中主要完成1)实现一个对多种流速率统计的添加、删除按照先进先出原则 的队列算法,2)将需进行速率统计的流特征项交给交换芯片的流分类功能进行过滤处理,交 换芯片将匹配的流镜像到一个镜像端口。 3) —个流统计任务负责控制完成对流速率统计的功 能。首先,初始化一个流定时统计的任务, 一个镜像功能的互斥信号量和流速率统计队列双 向链表。以及交换芯片的流分类功能初始化,如果镜像端口没有link up,还需将端口设置 为强制link up。在流统计任务中,先判断是否能获取镜像功能的互斥信号量,如果有镜像功能在使用, 就会获取不到信号量,流统计任务就只能处于等待中,当能够获取到信号量后,就在流统计 任务获取当前的镜像端口发送字节速率值,镜像端口发送字节速率值是从端口数据统计中获 取的。然后将需匹配的流进行流镜像处理,需要进行统计的流由用户动态在一个流统计队列 中添加和删除,新的匹配流特征从队列尾部加入,此队列是按照双向链表算法操作。流统计 任务从队列的头部取出一个流的匹配特征,并交给交换芯片的流分类进行处理,交换芯片能 根据每个流指定的报文匹配字段进行准确匹配,然后将匹配成功的流镜像到一个镜像端口, 为了获取速率变化,此时需要等几秒钟后,再获取镜像端口变化后的发送字节速率值,这样 前后两次获取镜像端口发送字节速率差值,就是流的统计值,当然如果在镜像端口上之前有 发送流量话,就将镜像后的流量减去之前的流量,增量便得到统计速率值。然后取消对流的 镜像和释放信号量,流统计任务继续从流统计队列中取下一个需统计的流匹配特征值。直到完成对流统计队列中的所有流统计。如此要对每个端口/报文做轮询,如需统计一个端口广播 /组播/单播的发送和接收字节速率,就至少需轮询四次,两次广播发送和接收字节速率统计, 两次组播发送和接收字节速率统计,单播速率的统计可以用总的字节速率来减去广播和组播 速率求出来。有些情况统计出来的数据会比实际大些,在统计端口入向速率时候,如果端口 是带标签而镜像端口是带标签的,这样从镜像端口出来的包会是带标签的,这样就多了四个 字节。解决办法可以用四乘包数得到多的字节,减去这部分可以得到真实数据。
权利要求
1、一种宽窄带综合接入设备的网络流量统计方法,包括如下步骤步骤A,先将每个端口的统计数据从交换芯片的端口统计寄存器中全部读取出来,并存放在内存中;步骤B,用一个轮循任务对端口的统计数据进行定时采集,将发送字节统计数据作为流的流量统计的原始数据记录下来;步骤C,用交换芯片的流分类功能,定制对被统计的流匹配策略;步骤D,用流分类中镜像功能将被统计流镜像到一个端口,在此端口处统计发送字节的速率,从而得到被统计流的速率。
2、 根据权利要求l所述的宽窄带综合接入设备的网络流量统计方法,其特征在于步骤A 包括如下步骤步骤A1,为每个端口的统计信息分配内存空间,由上一次统计数据内存,总计统计数据 内存,更新的统计数据内存,速率统计数据内存组成;步骤A2,初始化一个定时轮循的端口数据统计任务,用于定时的信号量,和一个处理统 计数据的回调函数队列任务。
3、 根据权利要求l所述的宽窄带综合接入设备的网络流量统计方法,其特征在于步骤B包括如下步骤步骤B1,定时一段时间后执行获取当前的时间戳,并将端口数据统计的一次过程放入函 数调用队列中;步骤B2,回调函数队列任务将从队列中取出一个函数执行,此函数将对所有端口上的全部统计元素信息进行一次统计;步骤B3,将每种统计元素信息的当前值和上一次保存在内存空间中的值,进行比较; 步骤B4,如果相等则说明这种统计元素信息没有变化,如果不相等则计算两个值的差,并存放在速率统计数据内存空间;步骤B5,更新上一次统计数据、总计统计数据,并更新上一次的时间戳。步骤B6,在获取端口每种统计速率函数中,如果当前的时间戳减去上一次的时间戳等于设定的定时时间,那么统计速率就返回是速率统计数据内存的值,否则就用速率统计数据内存的值除以间隔时间,得到在间隔时间内的速率值。
4、 根据权利要求l所述的宽窄带综合接入设备的网络流量统计方法,其特征在于步骤C 包括如下步骤步骤C1,初始化一个流定时统计的任务, 一个镜像功能的互斥信号量,流速率统计队列 双向链表和交换芯片的流分类功能;步骤C2,当能够获取到镜像功能的互斥信号量后,就在流统计任务获取当前的镜像端口 发送字节速率值,镜像端口发送字节速率值是从端口数据统计中获取的;步骤C3,将需匹配的流进行流镜像处理,需要进行统计的流由用户动态在一个流统计队 列中添加和删除,新的匹配流特征从队列尾部加入。
5、根据权利要求1所述的宽窄带综合接入设备的网络流量统计方法,其特征在于步骤D 包括如下步骤步骤D1,流统计任务从队列的头部取出一个流的匹配特征,并交给交换芯片的流分类进 行处理,交换芯片能根据每个流指定的报文匹配字段进行准确匹配,然后将匹配成功的流镜 像到一个镜像端口;步骤D2,获取镜像端口变化后的发送字节速率值,这样前后两次获取镜像端口发送字节 速率差值,就是流的统计值;步骤D3,取消对流的镜像和释放信号量,流统计任务继续从流统计队列中取下一个需统 计的流匹配特征值,直到完成对流统计队列中的所有流统计。
全文摘要
本发明公开了一种宽窄带综合接入设备的网络流量统计方法,解决了现有交换芯片没有提供对各种包进行速率统计的问题。先将每个端口的统计数据从交换芯片的端口统计寄存器中全部读取出来,并存放在内存中;用一个轮循任务对端口的统计数据进行定时采集,将发送字节统计数据作为流的流量统计的原始数据记录下来;定制对被统计的流匹配策略;将被统计流镜像到一个端口,统计发送字节的速率,得到被统计流的速率。使用交换芯片的流分类功能,并将被统计的流镜像到一个端口上进行统计速率,做到对流按照字节来统计速率。这样把交换芯片的几个独立功能综合利用,最大发挥了资源利用,并且不同的芯片都有镜像流功能,所以此方法具有比较好的通用性。
文档编号H04L12/26GK101155086SQ20061015273
公开日2008年4月2日 申请日期2006年9月26日 优先权日2006年9月26日
发明者睿 吴 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1