CN105745870A - 从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作 - Google Patents

从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作 Download PDF

Info

Publication number
CN105745870A
CN105745870A CN201480050833.7A CN201480050833A CN105745870A CN 105745870 A CN105745870 A CN 105745870A CN 201480050833 A CN201480050833 A CN 201480050833A CN 105745870 A CN105745870 A CN 105745870A
Authority
CN
China
Prior art keywords
filter module
enumerator
module
packet
flow
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.)
Granted
Application number
CN201480050833.7A
Other languages
English (en)
Other versions
CN105745870B (zh
Inventor
A.比什特
P.阿南德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN105745870A publication Critical patent/CN105745870A/zh
Application granted granted Critical
Publication of CN105745870B publication Critical patent/CN105745870B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种检测大流量的网络装置包括接收流量的分组的卡。装置包括大流量检测模块,大流量检测模块包括串行多级过滤器模块,多级过滤器模块包括串联过滤器模块,串联过滤器模块包括头部过滤器模块和尾部过滤器模块。每个过滤器模块包括计数器。串行过滤器模块将串行递增计数器以反映流量,并且仅在对应于所有以前过滤器模块的流量的所有计数器已串行递增至最大值后才将递增对应于随后过滤器模块的流量的计数器。串行过滤器模块将对应于已递增至最大值的尾部过滤器模块的计数器的流量检测为大流量。大流量检测模块包括头部过滤器去除模块以从串联的开始处去除头部过滤器模块。

Description

从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作
技术领域
本发明的实施例涉及连网领域,并且更具体地说,涉及检测网络中的大流量。
背景技术
在许多网络中,情况经常是小部分的大流量使用不成比例的大部分的总体带宽和其它网络资源。这些大流量有时称为大象流量或重量级流量(heavyhitterflow)。类似地,大部分的小型流量经常只使用小部分的总体带宽和其它网络资源。这些小的流量有时称为小流量(miceflow)。例如,在一些网络中,最大10%的流量可使用超过80%的带宽和其它网络资源。
人们经常希望能够识别或检测此类大流量,以便可以与小型流量不同的方式处理它们,或者实现与网络监视、网络管理或其它目的相关联的各种其它目的。作为一个示例,识别的大流量可用于开单和/或记帐(例如,可以与小型流量不同的方式向大流量计费)。作为另一示例,识别的大流量可用于带宽管理和/或业务工程(例如,重新路由业务,升级链路等)。作为又一示例,识别的大流量可用于管理拥塞和/或服务质量(例如,通过放弃大流量的分组,取消大流量的优先级,应用速率限制策略或惩罚大流量)。作为仍有的另一示例,识别的大流量可用于帮助检测或分析拒绝服务(DoS)攻击。还有的又一示例可涉及使用识别的大流量以实现服务流量卸载(例如,其中对大流量的分组绕过深度分组检查、安全性或其它量大处理)。这些只是几个说明性示例。
尝试检测或识别此类重量级流量、大象流量或其它大流量的各种不同方案在技术领域已为人所知。在这些方案中,计数器经常用于统计流量的分组或采样的分组。
在一个方案中,为每个不同流量提供不同计数器。每次收到用于对应流量的分组时,递增计数器。递增计数器基本上统计收到的用于对应流量的分组的数量。然而,不同流量的数量经常可较大。因此,此类方案有关的一个可能缺陷是包括用于每个不同流量的计数器可在实现较大数量的计数器需要的存储器和存储器访问带宽资源量方面是过高的。
各种其它方案尝试使用更详尽的机制检测大流量,以便降低存储器和其它资源量。在由CristianEstan等人所著,在2002年8月在ProceedingsofACMSIGCOMM,pp.323-326中发表的论文“业务测量和记帐的新方向”(NEWDIRECTIONSINTRAFFICMEASUREMENTANDACCOUNTING)中描述了一种方案。此文献描述用于识别大流量,涉及采样保持和多级过滤器的方案。采样保持以某个概率对分组进行采样。如果采样分组,并且当前未跟踪它所属的流量(例如,尚不具有计数器),则在流量监视存储器中创建新条目以跟踪该流量。在为流量创建条目后,为流量的每个随后分组而不是只为该流量的采样的分组更新计数器。并行多级过滤器并联操作。通过不同哈希函数对分组流量标识符进行哈希处理以识别并联布置的不同过滤器级的每个级中的计数器,并且更新不同并行过滤器级的每个级中的不同计数器以计及分组。也有串行多级过滤器的提议。
然而,与本文献中并行多级过滤器讨论有关的一个可能缺陷是,随着时间的过去,并行多级过滤器检测大流量的能力往往会下降。所有计数器可达到其阈值或最大值,并且不再递增。文献描述可不时擦除或重置流量存储器和计数器。然而,计数器的此擦除或重置往往造成大流量检测的不连续,并且对大流量检测增加另外的迟滞。使用并行多级过滤器以实现连续操作而不存在大流量检测的中断和无需定期擦除或重置计数器的方式未提供。
发明内容
一方面,一种网络装置用于部署在网络中以接收不同流量的分组并且用于检测分组的大流量。网络装置包括用于接收来自网络的不同流量的分组的至少一个卡。网络装置包括大流量检测模块。大流量检测模块包括串行多级过滤器模块,串行多级过滤器模块包括串联耦合在一起的多个过滤器模块。过滤器模块包括在串联的开始处的头部过滤器模块和在串联的结尾处的尾部过滤器模块。每个过滤器模块包括多个计数器。串行多级过滤器模块用于串行(serially)递增每个过滤器模块的计数器以反映不同流量的分组。串行多级过滤器模块用于仅在对应于串联中所有以前过滤器模块的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后过滤器模块的流量的分组的计数器。串行多级过滤器模块用于将对应于已递增至对应最大值的尾部过滤器模块的计数器的分组流量检测为大分组流量。大流量检测模块也包括与串行多级过滤器模块耦合的头部过滤器去除模块。头部过滤器去除模块用于从串联的开始处去除头部过滤器模块。网络装置的一个可能优点是能够随着时间的过去清除用于流量的记帐,这可用于避免大流量检测的中断,并且选择性地允许连续操作。
另一方面,一种方法由部署在网络中并且接收不同流量的分组以检测大分组流量的网络装置执行。方法包括在网络装置的一个或更多个卡接收来自网络的不同流量的分组的步骤。方法也包括串行递增在计数器级的串联的每个级的计数器以反映不同流量的分组的步骤。这在串联的开始处的头部计数器级和在串联的结尾处的尾部计数器级进行。串行递增计数器包括仅在对应于串联中所有以前计数器级的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后计数器级的流量的分组的计数器。方法还包括将大分组流量检测为对应于已达到对应最大值的尾部计数器级的计数器的分组流量的步骤。方法另外包括从计数器级的串联的开始处去除头部计数器级的步骤。方法的一个可能优点是能够随着时间的过去清除用于流量的记帐,这可用于避免大流量检测的中断,并且选择性地允许连续操作。
在仍有的一方面,一种边缘路由器装置用于部署在OpenFlow网络的边缘以接收不同流量的分组并且用于检测分组的大流量。边缘路由器装置包括用于接收来自OpenFlow网络的不同流量的分组的至少一个卡。边缘路由器装置包括大流量检测模块。大流量检测模块包括串行多级过滤器模块,串行多级过滤器模块包括串联耦合在一起的多个过滤器模块。过滤器模块包括在串联的开始处的头部过滤器模块和在串联的结尾处的尾部过滤器模块。每个过滤器模块包括多个计数器。串行多级过滤器模块用于串行递增过滤器模块的计数器以实质上反映在线且在链路速度的不同流量的所有分组。串行多级过滤器模块用于仅在对应于串联中所有以前过滤器模块的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后过滤器模块的流量的分组的计数器。串行多级过滤器模块用于将对应于已递增至对应最大值的尾部过滤器模块的计数器的分组流量检测为大分组流量。大流量检测模块也包括与串行多级过滤器模块耦合的头部过滤器去除模块。头部过滤器去除模块用于在多个过滤器模块的至少另一过滤器模块的操作期间从串联的开始处去除头部过滤器模块。大流量检测模块也选择性地包括与串行多级过滤器模块耦合的尾部过滤器添加模块。尾部过滤器添加模块用于在多个过滤器模块的至少另一过滤器模块的操作期间从串联的结尾处添加新尾部过滤器模块。边缘路由器装置的一个可能优点是能够随着时间的过去清除用于流量的记帐,这可用于避免大流量检测的中断,并且选择性地允许连续操作。
在还有的又一方面,一种方法由部署在OpenFlow网络的边缘,并且接收不同流量的分组的边缘路由器装置执行。方法是检测大型分组流量的方法之一。方法包括在网络装置的一个或更多个卡接收来自OpenFlow网络的不同流量的分组的步骤。方法包括串行递增在计数器级的串联的每个级的计数器以实质上反映在线且在链路速度的不同流量的所有分组的步骤,包括在串联的开始处的头部计数器级和在串联的结尾处的尾部计数器级。串行递增计数器包括仅在对应于串联中所有以前计数器级的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后计数器级的流量的分组的计数器。方法包括将大分组流量检测为对应于已达到对应最大值的尾部计数器级的计数器的分组流量的步骤。方法包括在计数器级的串联的至少另一计数器级的操作期间从计数器级的串联的开始处去除头部计数器级的步骤。方法包括在计数器级的串联的至少另一计数器级的操作期间在计数器级的串联的结尾处添加新尾部计数器级的步骤。
附图说明
通过参照下面的说明和用于示出本发明实施例的附图,可最好地理解本发明。在图中:
图1是用于检测大分组流量和去除过滤器以清除用于流量的记帐的网络装置的一实施例的框图。
图2是检测大分组流量和去除计数器以清除用于流量的记帐的方法的一实施例的流程框图。
图3是串行多级过滤器模块的一详细示例实施例的框图。
图4是计数器的阵列的一详细示例实施例的框图。
图5是串行递增串行多级过滤器的计数器以反映流量的分组的方法的一详细示例实施例的流程框图。
图6A/B是在过滤器模块的去除和添加之前和之后的串行三级过滤器模块的详细示例的框图。
图7A/B是在过滤器模块的去除和添加之前和之后的串行耦合结构的示例的框图。
图8是基于确定已达到最大值的头部过滤器模块的计数器的阵列的数量或比例已达到阈值,用于去除头部过滤器模块的头部过滤器去除模块的一实施例的框图。
图9是包括与第二、不同类型的过滤器模块组合的串行多级过滤器模块的大流量检测模块的一实施例的框图。
具体实施方式
本文中描述的是从串行多级过滤器去除头部过滤器以便清除流量的记录/记帐并且有助于允许延长的大流量检测而不中断的方法和设备。在下面的描述中,陈述了许多特定细节。例如,陈述了特定的串行多级过滤器、过滤器、计数器的阵列、操作顺序、逻辑分区/集成选择及诸如此类。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。
图1是网络装置100的一实施例的框图。在本文中使用时,网络装置(例如,路由器、交换器、桥接器)是以通信方式与网络上的其它设备(例如,其它网络装置、终端站)互连的一件连网设备,包括硬件和软件。一些网络装置是“多服务网络装置”,其为多个联网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端便携式媒体播放器、GPS单元、游戏***、机顶盒(STB))访问通过因特网提供的内容/服务和/或在因特网上重叠(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务一般由属于参与对等服务的服务或内容提供商或终端站的一个或更多个终端站(例如,服务器终端站)提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户场所设备)到边缘网络装置,所述边缘网络切点耦合(例如通过到其它边缘网络装置的一个或更多个核心网络装置)到其它终端站(例如,服务器终端站)。
网络装置通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。如果网络装置是路由器(或者在实现路由功能性),则控制平面一般确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的外出端口),以及数据平面负责转发该数据。例如,控制平面一般包括一个或更多个路由协议(例如,边界网关协议(BGP)、内部网关协议(IGP)(开放式最短路径优先(OSPF)、路由信息协议(RIP)、中间***到中间***(IS-IS))、标签分布协议(LDP)、资源保留协议(RSVP)),这些协议与其它网络装置进行通信以交换路由,并基于一个或更多个路由选择度量选择那些路由。
路由和邻接存储在控制平面上的一个或更多个路由选择结构中(例如,路由信息库(RIB)、标签信息库(LIB)、一个或更多个邻接结构)。控制平面通过基于路由选择结构的信息(例如,邻接和路由信息)为数据平面编程。例如,控制平面将邻接和路由信息编程到数据平面上的一个或更多个转发结构(例如,转发信息库(FIB)、标签转发信息库(LFIB)和一个或更多个邻接结构)中。在转发业务时,数据平面使用这些转发和邻接结构。
基于某个路由度量(度量能够对不同的路由选择协议不同),每个路由选择协议将路由条目下载到主RIB。每个路由选择协议能够在本地RIB(例如,OSPF本地RIB)中存储路由条目,包括未下载到主RIB中的路由条目。管理主RIB的RIB模块从通过路由选择协议下载的路由中选择路由(基于度量集),并且将那些选定路由(有时称为活跃路由条目)下载到数据平面。RIB模块也能够促使路由在路由选择协议之间再次分布。对于第2层转发,网络装置能够存储用于基于在该数据中的第2层信息转发数据的一个或更多个桥接表。
一般情况下,网络装置包括至少一个卡。该一个或更多个卡可包括以任何已知组合在技术领域中熟知的网络装置中使用的控制卡、线路卡、服务卡、资源卡或诸如此类。这些卡一般通过一个或更多个机制耦合在一起(例如,耦合线路卡的第一全网格和耦合所有卡的第二全网格)。线路卡集构成数据平面,而控制卡集提供控制平面并且通过线路卡与外部网络装置交换分组。服务卡或资源卡集能够提供专业化处理(例如,第4层到第7层服务(例如,防火墙、IPsec、IDS、P2P)、VoIP会话边界控制器、移动无线网关(GGSN、演进分组***(EPS)网关))。
现在参照图1,网络装置用于部署在网络102中并且与其耦合。网络装置包括用于通过一个或更多个链路106与网络耦合的至少一个卡104。在一些实施例中,该至少一个卡可包括多个线路卡、服务卡、资源卡或其各种组合至少之一。该至少一个卡104用于通过链路106接收来自网络的不同流量108的分组。仅举几个说明性示例,适合网络的示例包括但不限于OpenFlow网络、软件定义的网络(SDN)、基于流量的***(4G)因特网协议(IP)网络、其它IP网络、遇到大象流量的任何其它网络及诸如此类。
网络可利用业务流量、网络流量或其它分组流量。分组流量可表示指示哪些分组要作为流量的一部分一起被监视的模式和流量标识符(例如,分组报头字段集的值)。例如,通过使用前缀而不是基于使用路由表的映射的地址,流量标识符也可选择性地随分组报头字段值变化。分组流量经常可表示从来源装置发送到目的地的分组的序列。例如,目的地可以是目的地或主机装置、单播目的地、多播群组、广播域、任播域等。在一些情况下,分组流量可包括在特定传输连接或媒体流中的所有分组。备选,不要求流量具有与传输连接或媒体流的一一映射。例如,可基于来源和目的地IP地址、来源和目的地端口和协议(例如,TCP、UDP、ICMP、另一第4层协议等),通过流量标识符在某个时间期内独特地识别TCP/IP流量的分组。备选,分组流量可表示希望在逻辑上被视为属于流量、流或特定业务的分组的其它序列。
网络装置可用于检测分组108的哪些不同流量是较大的分组流量(例如,大象流量、重量级流量等)。网络装置包括大流量检测模块110。在一些实施例中,大流量检测模块可在至少一个卡104上实现。在各种实施例中,大流量检测模块可包括硬件(例如,电路)、固件、软件或其组合。在一些实施例中,大流量检测模块可包括选择性地与一个或更多个固件和/或软件组合的至少一些硬件。大流量检测模块可用于确定分组流量的大小,并且可用于检测哪些分组流量是较大分组流量(例如,大象流量、重量级流量或其它较大流量)。视实现而定,有大量分组的流量可被归类为大流量,或者有大型分组的流量可被归类为大流量或其组合。
在一些实施例中,大流量检测模块110可包括串行多级过滤器模块112。串行多级过滤器模块可包括串联113耦合在一起的多个过滤器模块114。在所示实施例中,串联耦合的过滤器模块包括在串联的开始处的头部过滤器模块114-L、在串联的结尾处的尾部过滤器模块114-T及选择性地包括串联耦合在头部与尾部过滤器模块之间的一个或更多个其它中间过滤器模块(未示出)。在一些实施例中,可存在大约两个到大约20个过滤器模块,或者在一些实施例中,存在大约3个到大约10个过滤器模块,但本发明的范围并不限于此。
在一些实施例中,每个过滤器模块114可具有对应的多个计数器。如图所示,头部过滤器模块可具有计数器116-L的第一头部集,并且尾部过滤器模块可具有计数器116-T的第二尾部集。在一些实施例中,每个过滤器中计数器的数量范围可在大约数十个计数器(例如,大约10个到大约100个)到大约成千上万个计数器(例如,从大约1万个到大约10万个)之间。在一些实施列中,每个过滤器中计数器的数量范围可在大约1000个到大约5万个之间,但本发明的范围并不限于此。在一个特定示例实施例中,可存在大约3个到大约7个过滤器模块,并且每个过滤器模块可具有大约1000个到1万个计数器,但本发明的范围并不限于此。特定实现所希望的计数器的数量可取决于各种因素,如流量的数量(例如,通常更多计数器用于更多流量)、大流量监视的希望准确度(例如,通常更多计数器用于更准确的监视)、过滤器的数量(例如,通常对于更多过滤器,每过滤器有更少的计数器)等。
在一些实施例中,串行多级过滤器模块112可包括与计数器耦合,可用于串行递增过滤器模块114的计数器116以反映不同流量108的分组的串行计数器增量器模块118。在一些实施例中,串行多级过滤器模块和/或串行计数器增量器模块可用于仅在对应于串联中所有以前过滤器模块的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后过滤器模块的流量的分组的计数器。一方面,随后过滤器模块的对应计数器可只看到已通过所有以前过滤器模块的对应计数器的那些分组,而不递增任何那些以前的计数器。在一些情况下,可为流量的每个分组将对应于流量的计数器递增一以有效地统计流量的分组。在其它情况下,可基于流量的分组的大小(例如,以字节数量为单位),递增对应于流量的计数器(例如,对于更大分组比对于更小分组递增更大的量)。
在一些实施例中,每个计数器可具有对应最大值或阈值。在计数器达到其最大值时,可将它们说成已“上溢”。通常,在计数器达到其最大值后,它将不再递增。相反,串联中对应于分组并且尚未上溢的随后计数器将递增。在某一点,例如在收到流量的足够数量的分组和/或流量的分组的足够总大小后,串联中对应于流量的所有计数器也将达到其最大值。在一些实施例中,串行多级过滤器模块也可用于将对应于已递增至对应最大值的最后尾部过滤器模块114-T的计数器的流量检测为大分组流量119。也就是说,变得上溢的尾部过滤器模块的计数器可指示大流量119。
在一些实施例中,每个计数器可由多个或可能许多不同流量共享。例如,如下面将进一步解释的一样,可对不同流量的分组进行哈希处理,或者将其映射到相同计数器。有利的是,在不同流量之间共享计数器可有助于降低实现串行多级过滤器模块需要的存储器资源量。实现串行多级过滤器模块需要的存储器资源可与流量的总数无关,或者至少更不依赖流量的总数。需要的计数器的总数和/或存储器的总量无需与流量的总数直接成正比。现在,这可能可以两种不同方式造成发生误肯定结果。首先,小流量可进行哈希处理或者以其它方式与大流量映射到相同计数器。其次,几个小流量可进行哈希处理或者以其它方式映射到相同计数,并且即使小流量本身无一是大流量,也一起相加成大流量。然而,通过在串联中包括多个过滤器模块,这可有助于降低此类误肯定结果的数量,并且有助于增大流量检测的准确度。如果需要,则可通过在串联中包括更大数量的过滤器级,降低此类误肯定结果的数量。
在一些实施例中,串行多级过滤器模块和/或串行计数器增量器模块可用于串行递增过滤器模块的计数器,以反映实质上所有流量的所有分组而不只是流量的采样分组的子集。在本文中使用时,实质上流量的所有分组表示流量的至少95%的分组。有利的是,与如果基于采样的分组递增计数器相比,基于实质上所有流量的所有分组来递增计数器可有助于在检测大流量中提供更佳的准确度和/或更快的响应时间。在一些实施例中,串行多级过滤器模块和/或串行计数器增量器模块可用于串行递增过滤器模块的计数器,以反映在线且在链路速度的流量的分组。备选,过渡器模块也可选择性地离线运行,并且如果需要,则不必在链路速度。在一些实施例中,串行多级过滤器模块可保持用于所有流量的近似测量。
利用采样分组的大流量检测方案通常往往具有更多的时间处理每个采样的分组。此另外的时间可用于实现老化和删除监视的流量的机制,这可有助于允许过滤器在更长的期间内运行或在一些情况下几乎持续运行。基于采样的方案通常往往具有比所需更高的响应时间和/或大流量检测迟滞。并非所有分组被处理,而只是采样的分组被处理,这往往延长了能够检测到大流量的时间期。相反,处理所有分组的方案通常往往具有更低的响应时间和/或大流量检测迟滞。然而,处理所有分组的此类方案通常也由于在或近链路速度实时处理分组的需要,往往具有更少的时间处理每个分组。因此,处理实质上流量的所有分组的此类方案经常不能执行老化和删除监视的流量所需的处理。因此,由于擦除或重置计数器,处理实质上所有分组的此类方案经常不能在无中断的情况下在延长的时间期内运行。
再参照图1,在足够长的时间期内和/或在不同流量的足够分组已由网络装置100收到时,头部过滤器模块114-L的许多、大部分或所有模块可最终达到其对应最大值。这是因为头部过滤器模块114中的计数器可最初由实质上所有流量的所有输入分组递增。这些上溢计数器可不能参与进一步的统计/递增,并且通常将不像尚未上溢且仍能够递增的计数器一样对大流量检测准确度做出有益贡献。因此,头部过滤器模块114-L的有用性可随着时间的过去而降低。大流量检测模块可开始像在串联113中比实际存在更少一个过滤器模块114一样操作。相反,串联中的下一过滤器模块至少在某一时间点可具有比头部过滤器更少数量的上溢计数器。这是因为仅遇到头部过滤器模块中上溢计数器的流量将递增串联中下一过滤器模块的计数器。
大流量检测模块110包括头部过滤器去除模块120的一实施例。头部过滤器去除模块与头部过滤器模块114-L和/或串行多级过滤器模块112耦合。在一些实施例中,头部过滤器去除模块120可用于从串联的开始处去除头部过滤器模块114-L。从串联的开始处去除头部过滤器模块可使串联中的下一过滤器模块变成新的头部过滤器模块,并且可有效地使串联中的每个其它过滤器模块在串联开始的方向移动一个位置。在一些实施例中,头部过滤器模块的去除可在串联的至少一个过滤器模块(可无需去除,重置或擦除该另一过滤器模块的计数器)的操作(例如,持续操作)期间执行。对于确定去除头部过滤器模块114-L的时间,设想了各种不同的方式。在各种实施例中,可基于收到的分组的总数达到阈值,在上溢的其计数器116-L的数量和/或比例达到阈值等时,以定期间隔或时间去除头部过滤器模块。有利的是,去除头部过滤器模块114-L可有助于老化,清除和/或删除计数器数据和/或流量的记录。这可有助于允许大流量检测模块在延长的时间期内操作,或者在一些情况下选择性地持续/无限地操作,而无需擦除/重置所有计数器或者定期重新启动整个串行多级过滤器模块,并且检测大流量的能力没有明显中断。另外,不要求实现检测流量的结束/终止以便随着时间的过去从过滤器的状态中去除流量的机制。检测流量的结束/终止的此类机制经常往往是复杂的,并且在一些情况下,甚至是不可行的或甚至是不可能的(例如,对于像UDP等无连接协议)。
再次参照图1,在一些实施例中,大流量检测模块110可选择性地包括尾部过滤器添加模块122的一实施例。尾部过滤器添加模块与串行多级过滤器模块112耦合。在一些实施例中,可选尾部过滤器添加模块122可用于在串联的结尾处添加新尾部过滤器模块(未示出)。在一些实施例中,可在串联的至少一个另外过滤器模块的操作(例如,持续操作)期间添加新尾部过滤器模块。在一些实施例中,可添加新尾部过滤器模块,以替换去除的头部过滤器模块114-L,以便保持恒定数量的过滤器模块。
在一些实施例中,尾部过滤器添加模块可用于在某个时间期内添加与在该时间期内从串联多级过滤器模块去除的头部过滤器模块的数量不同(例如,更多或更小)数量的新过滤器模块到串行多级过滤器模块。这可用于增大或降低过滤器模块的总数,以便增大或降低准确度和/或过滤器实现资源。例如,可增大过滤器模块的数量,以便以实现另外的过滤器模块需要的另外资源为代价,增大过滤器的准确度。
在一些实施例中,尾部过滤器添加模块122可用于添加具有与头部过滤器模块的计数器数量不同(例如,更大或更小)数量的计数器的新尾部过滤器模块。这可有助于允许动态更改***的准确度和/或用于实现计数器的资源。例如,通过以实现另外计数器需要的更多存储器资源为代价,添加更多计数器,则可增大准确度。
更改过滤器的数量也可用于平衡在检测大流量的准确度与检测大流量需要的时间或迟滞之间的权衡。通常,串联中的过滤器越多,检测大流量的准确度就越高。然而,假设每个过滤器中计数器的数量未对应降低,则通常递增过滤器的数量也往往增大检测大流量需要的时间量。在一些实施例中,可做出改进检测的准确度的确定,并且在响应中,可增大过滤器模块的数量(例如,通过添加另外的尾部过滤器模块)。在其它实施例中,可做出降低检测大流量需要的时间或迟滞的确定,并且在响应中,可降低过滤器模块的数量。例如,这可通过去除头部过滤器模块及可能其它过滤器模块来实现(例如,去除尾部过滤器模块,从串联的尾部去除多个过滤器,去除任何其它过滤器模块等)。
有利的是,去除头部过滤器模块114-L和/或添加新尾部过滤器模块通常不破坏大流量检测模块110的操作。使用过滤器模块113的串联,并且在串联的不同过滤器模块114之间分布用于不同流量的大流量监视信息(例如,计数器的值)。因此,过滤器模块的去除和/或添加可以对其它过滤器模块(例如,其对应计数器的值)和/或流量到计数器对应关系没有重大影响的通常递增的方式执行。串联中其它过滤器模块的计数器的值及其它过滤器的串行递增的总体方案通过过滤器模块的添加或去除而通常保持不变。
图2是检测大分组流量的方法226的一实施例的流程框图。在一些实施例中,方法可由部署在网络中并且接收来自网络的不同流量的分组的网络装置执行。在一些实施例中,图2的操作和/或方法可由图1的网络装置执行和/或在其内执行。上面为图1的网络装置描述的操作细节也可选择性地应用于可由此类网络装置执行和/或在其内执行的图2的操作和/或方法。备选,图2的操作和/或方法可由类似或不同的网络装置执行和/或在其内执行。另外,图1的网络装置可执行与图2的那些操作和方法相同、类似和/或不同的操作和/或方法。
方法包括在框227,在网络装置的一个或更多个卡接收来自网络的不同流量的分组。在各种实施例中,可在从线路卡、服务卡、资源卡或其各种组合中选择的一个或更多个卡接收分组。
方法也包括在框228,串行递增在计数器级的串联的每个级的计数器以反映不同流量的分组。这可包括在串联的开始处的头部计数器级的递增计数器和在串联的结尾处的尾部计数器级的递增计数器。串行递增计数器可包括仅在对应于串联中所有以前计数器级的流量的分组的所有计数器已串行递增至对应最大值后才递增对应于串联中随后计数器级的流量的分组的计数器。在一些实施例中,可递增在不同串行计数器级的计数器以实质上反映实时在线且在链路速度的所有流量的所有分组。在一些情况下,可为每个对应分组将计数器递增一以实际上统计分组,或者在其它情况下,可基于分组的大小(例如,以字节的数量表示)递增计数器。
方法也包括在框229,将大分组流量检测为对应于已达到对应最大值的尾部计数器级的计数器的分组流量。例如,在尾部计数器级的计数器变得上溢,并且不再递增时,可将对应流量检测或归类为大流量。
方法还包括在框230,从计数器级的串联的开始处去除头部计数器级。在一些实施例中,可在操作期间(例如,在接收分组,并且递增串联的一个或更多个其它计数器级的计数器时)去除头部计数器级。在各种实施例中,在已收到预确定数量的分组时,或者至少部分基于确定已达到对应最大值的头部计数器级的计数器的比例已达到阈值,可在定期时间间隔去除头部计数器级。
在一些实施例中,方法可选择性地包括在框231,在计数器级的结尾处添加新尾部计数器级。备选,可在串联中的另一位置添加新计数器级。在一些实施例中,可在操作期间(例如,在接收分组,并且递增串联的一个或更多个其它计数器级的计数器时)添加新计数器级。在一些实施例中,添加的新计数器级可具有与去除的头部计数器的计数器数量不同数量(例如,更大数量或更少数量)的计数器。有利的是,这可允许更改大流量检测的准确度和/或可允许更改大流量检测需要的资源(例如,更改用于实现计数器的存储器量)。在一些实施例中,方法可还包括通过在某个时间期内添加比在该时间期内去除的计数器级(例如,头部计数器级)的数量更大数量的计数器级(例如,新尾部计数器级),增大计数器级的总数。
方法226已以相对基本形式描述,但操作可选择性地添加到方法和/或从方法中去除。例如,另一方法可在添加任何大流量前的早期阶段执行过滤器模块的去除和可选添加。另外,虽然图2示出操作的特定顺序,但该特定顺序是示范。备选实施例可选择性地以不同顺序执行操作,组合某些操作,重叠某些操作等。例如,过滤器模块的去除和/或添加可重叠块228和/或229的操作。作为另一示例,过滤器的添加可在过滤器的去除之前或与其同时发生。
图3是适合的串行多级过滤器模块312的一详细示例实施例的框图。在一些实施例中,图3的多级过滤器模块可在图1的网络装置中使用和/或可用于执行图2的方法。备选,图1的网络装置和/或图2的方法可利用与图3的那些多级过滤器模块类似或不同的多级过滤器模块。
串行多级过滤器模块312可包括串联耦合的多个过滤器模块314。过滤器模块包括头部过滤器模块314-L、尾部过滤器模块314-T及选择性地包括串联耦合在头部与尾部过滤器模块之间的一个或更多个中间过滤器模块(未示出)。在一些实施例中,每个过滤器模块可包括计数器316的对应阵列。例如,如图所示,头部过滤器模块可包括计数器316-L的头部阵列,并且尾部过滤器模块可包括计数器316-T的尾部阵列。阵列中计数器的数量可以相同或类似,并且可具有本文中其它处描述的计数器数量的任何数量。
在一些实施例中,每个过滤器模块可包括对应阵列索引生成模块332。例如,如图所示,头部过滤器模块可包括头部阵列索引生成模块332-L,并且尾部过滤器模块可包括尾部阵列索引生成模块332-T。在一些实施例中,每个阵列索引生成模块可用于使用不同的对应功能334生成用于流量的分组的阵列索引。例如,如图所示,头部过滤器模块可包括第一功能334-L,并且尾部过滤器模块可包括第二、不同的功能334-T。每个阵列索引可用于识别对应过滤器模块的计数器的对应阵列的计数器,如果模块尚未上溢,则将要递增。可基于来自不同流量308的分组,足以识别相关联流量的信息执行和/或通过该信息评估不同的功能。足以识别流量的此信息可表示流量标识符信息。例如,用于IP分组的流量标识符信息可包括目的地IP地址、来源IP地址、来源端口、目的地端口及协议。备选,如本领域熟知的一样,可通过不同类型的信息识别不同类型的流量。
在一些实施例中,每个阵列索引生成模块可用于使用不同对应哈希函数。例如,头部过滤器模块可具第一哈希函数334-L,并且尾部过滤器模块可包括第二、不同的哈希函数334-T。哈希函数可至少部分用于确定性地映射每个不同流量到每个不同过滤器模块中的单个对应计数器。在相同流量标识符信息上执行和/或通过其评估时的不同哈希函数可生成不同对应确定性哈希函数输出值(有时称为简单哈希值)。相同流量可映射到在每个不同过滤器模块中不同相对位置的计数器,这可有助于创建用于流量的相对独特的“特征”或指纹“。另外,在通过不同流量标识符信息评估时的相同哈希函数可映射到相同计数器。这可有助于允许每个计数器由不同流量共享,这可有助于降低实现计数器需要的存储器或其它资源量。在一些实施例中,哈希函数输出值的范围可配置成对应成计数器的对应阵列的计数器的数量。备选,基于计数器的阵列的计数器的数量的模运算可在哈希函数输出值上执行,以限制和映射模哈希函数输出值到计数器的阵列的计数器的数量范围。
哈希函数通常能够将值的输入范围缩小到哈希函数输出值的值的更窄范围。另外,哈希函数通常能够在值的哈希函数输出范围内大约均匀或随机分布值的输入范围。然而,如果需要,可选择性地使用除哈希函数外的其它函数。例如,可转而使用用于技术领域中熟知的哈希函数或具有与哈希类似特性的函数的任何已知替代。在所示实施例中,示出了第一函数334-L和第二函数334-T,但在其它实施例中,不使用不同的单独/离散函数(例如,哈希函数),而可使用单个函数(例如,单个哈希函数)生成宽的输出值(例如,宽哈希值),并且随后,宽输出值的不同连续部分可由不同过滤器模块使用(例如,宽哈希值的第一部分可映射到计数器的头部阵列,宽哈希值的另一部分可映射到计数器的尾部阵列等)。
再次参照图3,在一些实施例中,每个过滤器模块也可包括对应计数器递增模块318。例如,如图所示,头部过滤器模块可包括头部计数器递增模块318-L,并且尾部过滤器模块可包括尾部计数器递增模块318-T。计数器递增模块可在相同对应过滤器模块内与计数器的阵列耦合,并且与阵列索引生成模块耦合。在一些实施例中,每个计数器递增模块可用于仅在对应于所有以前过滤器模块的流量的分组的所有计数器已达到对应最大值后,递增通过对应过滤器模块内生成的阵列索引识别的计数器,以反映流量的分组。备选,可选择性地使用单个计数器递增模块,而不是此类分布式计数器递增模块。
图4是计数器416的阵列的一详细示例实施例的框图。在一些实施例中,图4的计数器的阵列可在图1的网络装置中使用和/或可用于执行图2的方法。备选,图1的网络装置和/或图2的方法可利用与图4的计数器的阵列类似或不同的计数器的阵列。
如图所示,在一些实施例中,计数器的阵列可至少在概念上布置为包括多个行或条目的表格,每个行或条目具有对应计数器。例如,表格可存储在存储器中。在图示中,存在条目0到条目N。数字N可以是特定实现所需的计数器的任何数量,如用于本文中其它处描述的过滤器级的计数器的数量。每个条目包括对应计数器和计数器状况。例如,条目0包括计数器0和状况0,条目1包括计数器1和状况1,并以此类推。例如,在一些实施例中,视其所需最大值而定,每个计数器可以是4比特、8比特或16比特计数器,但本发明的范围并不限于此。每个计数器可初始化为零,并且随后可递增。在一些情况下,每个计数器可递增一以统计分组。在其它情况下,可基于分组的大小,递增每个计数器。每个状况可指示对应计数器是否已达到其最大值和/或已上溢。例如,根据一个可能惯例,值0可指示计数器尚未上溢,而值1可指示计数器已上溢。只要计数器未上溢,计数器便可以能够递增。在计数器达到其最大值时,状况更改以反映计数器已上溢。在其它实施例中,状况可被忽略,并且相反,计数器的值的检查可用于确定计数器是否已达到其最大值。在一些实施例中,无需要求能够递减计数器。备选,如果需要,可递减计数器(例如,如果需要,有助于减去终止的流量)。
如前面描述的一样,例如条目的数量取模的哈希函数等函数(f1)可用于映射流量的分组到不同条目和/或计数器。在所示示例中,在通过第一流量(流量1)的分组评估时的函数(f1)可映射到条目2,在通过第二流量(流量2)的分组评估时的函数(f1)可映射到条目1,在通过第三流量(流量3)的分组评估时的函数(f1)可映射到条目N,以及在通过第N流量(流量N)的分组评估时的函数(f1)可映射到条目0。这只是说明性示例。特定映射取决于使用的特定函数。另外,在使用不同函数时,对于相同流量,映射可不同(即,对应于不同条目)。
图5是串行递增串行多级过滤器的计数器以反映流量的分组的方法540的一详细示例实施例的流程框图。在一些实施例中,图5的操作和/或方法可由图1的网络装置执行和/或在其内执行。上面为图1的网络装置描述的操作细节也可选择性地应用于可由此类网络装置执行和/或在其内执行的图5的操作和/或方法。备选,图5的操作和/或方法可由类似或不同的网络装置执行和/或在其内执行。另外,图1的网络装置可执行与图5的那些操作和方法相同、类似和/或不同的操作和/或方法。
方法包括在框541,在网络装置的卡接收来自网络的流量的分组。在框542,用于分组的过滤在第一头部过滤器级(即,x=1)开始。在框543,为分组生成阵列索引(i),阵列索引基于通过流量的分组,评估对应于当前过滤器级(Fx)的函数(fx),识别当前过滤器级(Fx)的计数器(Cx)的阵列的计数器(Ci)。在一些实施例中,函数(fx)可以是基于计数器(Cx)的阵列的计数器的数量取模的分组流量标识符评估的哈希函数,但这不是必需的。在框544,确定通过当前过滤器级(Fx)中阵列索引(i)识别的计数器(Ci)是否已达到对应最大值。在一些实施例中,这可包括检查对应于识别的计数器(Ci)的状况,但这不是必需的。
如果确定是识别的计数器(Ci)尚未达到其对应最大值(即,在框544的确定为“否”),则方法可前移到框545。在框545,可在当前过滤器状态(Fx)中递增识别的计数器(Ci)。随后,在框546,可确定流量仍没有资格称为大流量。由于当前过滤器级中的计数器未成功递增,因此,无需为分组进行计数器的进一步递增,并且可完成此分组的过滤处理。
备选,如果在框544,确定是识别的计数器(Ci)已达到其对应最大值(即,在框544的确定为“是”),则方法可前移到框547。在框547,可确定当前过滤器级(Fx)是否为过滤器级的串联中的最后/尾部过滤器级。如果确定是当前计数器级(Fx)不是最后/尾部过滤器级(即,在框547的确定为“否”),则方法可前移到框548。在框548,处理可继续到串联中的下一过滤器级(即,x=x+1),这在第一迭代中将是第二过滤器级。由于计数器在当前过滤器级中未成功递增,因此,分组的处理可继续到串联中的下一过滤器级。随后,方法可重新访问框543。在框543,可生成另一阵列索引,并且如上所述,随后在框544,可进行递增识别的计数器的尝试,并以此类推。在一些情况下,方法可多次环回通过框543、544、547和548,直至发现并且递增通过流量可识别的最后串联计数器。
再参照框547,在某一点,在已收到用于给定流量的足够分组和/或已收到用于流量的足够大分组后,对于某个流量可识别的所有计数器可变得上溢。在此类情况下,在框544的“是”确定后,方法可在框547确定过滤器级(Fx)是最后/尾部过滤器级(即,“是”可以是在框547的确定)。在此类情况下,在框549可确定流量是大流量。
图6A/B是在过滤器模块的去除和添加之前和之后的串行三级过滤器模块612的详细示例的框图。图6A示出在过滤器模块的去除和添加之前的示例串行三级过滤器模块612。串行三级过滤器模块包括是在串联的开始处的头部过滤器模块的过滤器1614-L、在过滤器1后串联耦合的过滤器2614-2和在过滤器2后作为在串联的结尾处的尾部过滤器模块的在串联耦合的过滤器3614-T。在此示例中,为简明起见,只示出三个流量(F1-F3)。第一函数(f1)映射第一流量(F1)到过滤器1的第二条目,第一函数(f1)映射第二流量(F2)到过滤器1的第四条目,并且第一函数(f1)映射第三流量(F3)到过滤器1的第七条目。第二函数(f2)映射第一流量(F1)到过滤器2的第二条目,第二函数(f2)映射第二流量(F2)到过滤器2的第五条目,并且第二函数(f2)映射第三流量(F3)到过滤器2的第五条目。第三函数(f3)映射第二流量(F2)到过滤器3的第四条目,并且第三函数(f3)映射第三流量(F3)到过滤器2的第六条目。
在此示例中,每个计数器具有10的最大值,在该点,它们可变得上溢。已收到用于第一流量(F1)的13个分组。在此示例中,第一流量(F1)未与任何其它流量共享任何计数器。过滤器1的第二条目中的计数器已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。过滤器2的第二条目中的计数器已递增3次(C=3),并且仍未上溢。此计数器的状况指示计数器尚未上溢(s=0)。
已收到用于第二流量(F2)的至少20个且可能更多的分组。过滤器1的第四条目中的计数器已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。过滤器2的第五条目中的计数器也已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。过滤器3的第四条目中的计数器也已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。相应地,第二流量(F2)的分组已通过所有三个过滤器,并且已使尾部过滤器(即,过滤器3)的计数器上溢。因此,可将第二流量(F2)归类为大流量。
已收到用于第三流量(F3)的至少15个且可能更多的分组。过滤器1的第七条目中的计数器已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。过滤器2的第五条目中的计数器也已递增10次(C=10),并且已上溢。该计数器的状况已更改成指示计数器已上溢(s=1)。过滤器2的第五条目中的计数器由流量2(F2)和流量3(F3)共享,并且因此任一或两个流量可递增该计数器。过滤器3的第六条目中的计数器已递增5次(C=5),并且仍未上溢。该计数器的状况指示计数器仍未上溢(s=0)。
图6B示出在去除图6A的头部过滤器模块(即,过滤器1)和添加新尾部过滤器模块(即,过滤器4)后的示例串行三级过滤器模块。如图所示,过滤器1的去除将去除几个已经上溢的计数器和/或去除以前收到的用于流量的分组的记录。这表示去除或清除以前收到的分组的记录或帐户。这可有助于老化或删除来自***的流量。最初在图6A中串联中第二的过滤器2现在已变成在串联中的第一头部过滤器模块。类似地,最初在串联中第三的过滤器3现在在串联中变成第二。添加的过滤器4用作在串联的结尾处的新尾部过滤器模块。如图所示,虽然过滤器3的条目4对于流量2已经上溢,但第四函数(f4)可映射第二流量(F2)到过滤器4的第七条目,第七条目可最初具有初始化为零的所有计数器。在收到用于第二流量(F2)的新分组时,可成功递增过滤器4的第七条目的计数器(C=1)。
图7A/B是在过滤器模块的去除和添加之前和之后的串行耦合结构760的示例的框图。图7A示出在过滤器模块的去除和添加之前的串行耦合结构760A。串行耦合结构可表示用于指定或表示过滤器模块的序列或串联的链接列表或其它类似类型的数据结构。串行耦合结构可指定过滤器模块的身份和串行耦合或过滤器模块的顺序。在所示示例中,串行耦合串行三级过滤器模块,但本发明的范围并不限于此。如图所示,对于三级的每个级,结构可包括过滤器模块标识符和到串联中下一或随后过滤器模块的链接或指针。具体而言,第一级包括识别过滤器1的头部过滤器模块标识符762-L和到第二级的第一链接或指针764-L。第二级包括识别过滤器2的第二过滤器模块标识符762-2和到第三级的第二链接或指针764-2。第三级包括识别过滤器3的尾部过滤器模块标识符762-T,并且由于第三级是在此示例中的最后/尾部级,因此包括到串联标识符766的结尾的可选第三链接764-T。对于其它类型的串行耦合结构,不要求串联标识符的结尾。
图7B示出在去除图7A的头部过滤器模块后和在添加新尾部过滤器模块后的串行耦合结构760B。第一级包括识别过滤器2的头部过滤器模块标识符762-L和到第二级的第一链接或指针764-L。第二级包括识别过滤器3的第二过滤器模块标识符762-2和到第三级的第二链接或指针764-2。第三级包括识别过滤器4的尾部过滤器模块标识符762-T,并且由于第三级是在此示例中的最后/尾部级,因此包括到串联标识符766的结尾的可选第三链接或指针764-T。对于其它类型的串行耦合结构,不要求串联标识符的结尾。要注意的是,已从图7B的结构去除图7A的过滤器1。过滤器2现在是串联中的第一过滤器模块,而不是串联中的第二模块,并且过滤器3是串联中的第二而不是第三/最后模块。另外,已将过滤器4添加为新尾部过滤器模块。
在一些实施例中,通过在此类串行耦合结构上操作,可间接实现添加和/或去除过滤器模块或者更普遍而言更改过滤器的串联的顺序。在一些实施例中,可通过使用单独串行耦合结构,单独保持过滤器模块和在过滤器模块之间的关联(例如,串行耦合顺序)。间接方案可用于动态修改过滤器模块的顺序,例如,通过在开始处添加新过滤器,在结尾处去除过滤器等。有利的是,这可有助于降低涉及的处理量和/或添加和/或去除和/或记录过滤器模块需要进行的更改的次数。串行耦合结构可有助于允许从序列中的开始、尾部或任何其它位置进行过滤器模块的有效和不复杂的添加和/或去除。例如,去除头部过滤器模块可涉及传递用于分组的最初输入到随后的第二过滤器模块,而不是到在去除的头部过滤器模块。作为另一示例,新尾部过滤器模块的添加可涉及从当前尾部过滤器模块取得输出,并且将它链接或指向到新尾部过滤器模块的输入。无需更改或识别其它过滤器模块的顺序。另外,不要求更改其它过滤器的计数器。
图8是基于确定已达到最大值的头部过滤器模块的计数器816的阵列的数量或比例868已达到阈值870,用于去除头部过滤器模块814的头部过滤器去除模块820的一实施例的框图。头部过滤器模块具有计数器816的头部阵列。那些计数器的比例或数量868已达到最大值和/或已上溢。头部过滤器去除模块包括用于检查计数器的头部阵列,以确定已达到最大值的计数器的比例或数量的头部计数器检查模块869。这可以几种方式进行,如通过检查集状况比特的数量,通过将计数器相加,通过确定等于最大值的计数器的数量等。去除确定模块872可比较从检查确定的比例或数量和阈值870比例或数量。阈值可表示可配置、可指定或其它预确定的数量。如果从检查确定的比例或数量达到阈值(例如,等于或大于阈值),则去除确定模块可确定头部过滤器去除模块应去除头部过滤器模块。这可有助于提供确定何时去除过滤器模块的更准确或有效的方式,但不是必需的。相反,例如,可以定期间隔或时间、基于收到的分组的总数等去除过滤器模块。在一些实施例中,头部过滤器去除模块可选择性地具有信令模块871以向尾部过滤器添加模块822指示将去除头部过滤器模块,但这不是必需的。一方面,这有助于尾部过滤器添加模块判定何时添加新尾部过滤器模块(例如,保持稳定数量的过滤器模块)。
在一些实施例中,本文中公开的串行多级过滤器模块可与一个或更多个其它不同类型的大流量检测机制组合。图9是包括与第二、不同类型的过滤器模块976组合的串行多级过滤器模块912的大流量检测模块910的一实施例的框图。串行多级过滤器模块可与本文中别处描述的那些多级过滤器模块类似或相同。如图所示,在一些实施例中,头部过滤器去除模块920和选择性地还有尾部过滤器添加模块922可选择性地与串行多级过滤器模块耦合,并且可用于如本文中别处所述,添加和去除过滤器模块。
第二、不同类型的过滤器模块976与串行多级过滤器模块912的输出耦合。第二过滤器模块用于接收来自串行多级过滤器模块的检测到的大流量919。第二过滤器模块可用于使用与串行多级过滤器模块不同的大流量检测机制。在一些实施例中,第二过滤器模块可用于执行与串行多级过滤器模块不同的量度的粗略估计。例如,在一些实施例中,第二过滤器模块可通过只为采样的流量使用精确计数器来进行粗略估计,而不是在所有流量之间共享计数器。由于第二过滤器模块和串行多级过滤器模块可用于执行不同量度的粗略估计,因此,两个过滤器结合使用的组合***可有助于提供改地总体性能。在一些实施例k,第二过滤器模块可包括大象陷阱。大象陷阱可为监视的流量进行相对更广泛的处理(例如,***,更新,老化,逐出(eviction))。在一些实施例中,来自串行多级过滤器模块的检测到的大流量可用于将要监视的流量***大象陷阱中。来自串行多级过滤器模块的检测到的大流量可替换或取代常规用于***大象流的随机样本。否则,除检测到的大流量输入到在大象陷阱之外,它可以实质上常规方式操作t。
在上面的描述中,为便于解释。陈述了许多特定的细节以提供本发明的实施例的详尽理解。然而,本领域的技术人员将明白,可在这些特定细节不存在的情况下实践一个或几个其它实施例。所述特定实施例未提供用于限制本发明而是用于说明本发明。本领域的技术人员将认识到,通过在随附权利要求的精神和范围内的修改和变化,可实践本发明。描述因此要视为是说明性的而不是限制。本发明的范围不由上面提供的特定示例确定,而只由下面的权利要求确定。
在其它情况下,公知的电路、结构、装置和操作以框图开展示出或者未详细显示以免混淆对描述的理解。此外,在认为视当之处,标号或标号的末端部分已在图中重复以指示可选择性地具有类似或相同特性的一致或相似的元素。
说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实施例。此外,结合实施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例影响此类特征、结构或特性是在本领域技术人员的认知之内。
在下面的说明和权利要求中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意作为彼此的同义词。“耦合”用于指示可相互直接物理或电接触或不直接物理或电接触的两个或更多个元素相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元素之间通信的建立。
各种操作和方法已描述。一些方法已在流程图中以基本形式描述,但操作可选择性地添加到方法和/或从方法中删除。另外,虽然流程图根据示例实施例示出操作的特定顺序,但要理解的是,该特定顺序是示范。备选实施例可选择性地以不同顺序执行操作,组合某些操作,重叠某些操作等。本文中描述的用于设备的可选细节也选择性地应用到本文中描述的方法,这些方法在实施例中可由和/或通过此类设备执行。
本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,图中所示技术能够使用一个或更多个电子装置(例如,终端站、网络装置)上存储和执行的代码和/或数据来实现。
电子装置(例如,网络装置)使用机器可读介质存储和传送(在内部和/或通过网络与其它电子装置)代码(由软件和指令组成)和数据,如非暂时性有形机器可读介质(例如,机器可读存储介质,如磁盘、光盘、只读存储器、闪存存储器装置、相变存储器)和暂时性机器可读传送介质(例如,电气、光学、声学或其它形式传播信号-如载波、红外信号)。另外,此类电子装置包括诸如耦合到一个或更多个其它组件的一个或更多个处理器的集等硬件,其它组件包括诸如一个或更多个非暂时性机器可读介质(以存储代码和/或数据)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接(以使用传播信号传送代码和/或数据)。处理器的集与其它组件的耦合一般情况下是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的非暂时性机器可读介质一般情况下存储指令以便在该电子装置的一个或更多个处理器上执行。

Claims (22)

1.一种网络装置(100),所述网络装置可操作以用于部署在网络(102)中以接收不同流量(108)的分组,所述网络装置可操作以用于检测分组的大流量(119),所述网络装置包括:
至少一个卡(104),可操作以用于接收来自所述网络的所述不同流量的所述分组;以及
大流量检测模块(110),包括:
串行多级过滤器模块(112),包括串联(113)耦合在一起的多个过滤器模块,所述多个过滤器模块包括在所述串联的开始处的头部过滤器模块(114-L)和在所述串联的结尾处的尾部过滤器模块(114-T),每个所述过滤器模块包括多个计数器(116),所述串行多级过滤器模块可操作以用于串行递增所述过滤器模块的所述计数器以反映所述不同流量的所述分组,其中所述串行多级过滤器模块可操作以用于仅在对应于所述串联中所有以前过滤器模块的所述流量的所述分组的所有计数器已串行递增至对应最大值后才递增对应于所述串联中随后过滤器模块的流量的分组的计数器,并且其中所述串行多级过滤器模块可操作以用于将对应已递增至对应最大值的所述尾部过滤器模块(114-T)的计数器(116-T)的分组流量检测为所述分组的大流量(119);以及
与所述串行多级过滤器模块(112)耦合的头部过滤器去除模块(120),所述头部过滤器去除模块可操作以用于从所述串联(113)的所述开始处去除所述头部过滤器模块(114-L)。
2.如权利要求1所述的网络装置,其中所述头部过滤器去除模块可操作以用于在所述多个过滤器模块的至少另一过滤器模块(114)的操作期间去除所述头部过滤器模块。
3.如权利要求1所述的网络装置,其中所述头部过滤器去除模块可操作以用于基于已达到最大值的所述头部过滤器模块的所述计数器的一部分(868)已达到阈值级别(870)的确定,去除所述头部过滤器模块。
4.如权利要求1所述的网络装置,其中所述头部过滤器去除模块可操作以用于以周期性间隔去除所述头部过滤器模块。
5.如权利要求1所述的网络装置,其中所述大流量检测模块还包括与所述串行多级过滤器模块(112)耦合的尾部过滤器添加模块(122),所述尾部过滤器添加模块可操作以用于在所述多个过滤器模块的至少另一过滤器模块(114)的操作期间在所述串联(113)的结尾处添加新尾部过滤器模块。
6.如权利要求4所述的网络装置,其中所述尾部过滤器添加模块(122)可操作以用于添加具有比所述头部过滤器模块(114-L)的计数器(116-L)的数量更大的数量的计数器的所述新尾部过滤器模块。
7.如权利要求4所述的网络装置,其中所述尾部过滤器添加模块(122)可操作以用于在某个时间期内添加比在所述时间期内从所述串行多级过滤器模块去除的头部过滤器模块的数量更大数量的新过滤器模块到所述串行多级过滤器模块(112),以增大所述串行多级过滤器模块的过滤器模块(114)的总数。
8.如权利要求1所述的网络装置,其中所述串行多级过滤器模块可操作以用于串行递增所述过滤器模块的所述计数器以实质上反映在线且在链路速度的所有流量的所有分组。
9.如权利要求1所述的网络装置,其中所述串行多级过滤器模块可操作以用于递增每个所述过滤器模块的每个所述计数器以反映所述多个不同流量的分组。
10.如权利要求1所述的网络装置,其中所述串行多级过滤器模块用于部分基于所述多个不同流量的所述分组的大小,递增每个所述过滤器模块的所述计数器。
11.如权利要求1所述的网络装置,还包括与所述串行多级过滤器模块(912)的输出耦合的另外过滤器模块(976),所述另外过滤器模块可操作以用于接收由所述串行多级过滤器模块检测到的大流量(919)的指示,所述另外过滤器模块可操作以用于使用与所述串行多级过滤器模块不同的大流量检测机制。
12.如权利要求1所述的网络装置,其中每个所述过滤器模块(314)包括:
计数器的阵列(316);
可操作以用于使用对应功能(334)生成用于流量的分组(308)的阵列索引的阵列索引生成模块(332),所述阵列索引可操作以用于识别所述对应过滤器模块的计数器的所述阵列的计数器;以及
与计数器的所述阵列和与所述对应过滤器模块的所述阵列索引生成模块耦合的计数器递增模块(318),所述计数器递增模块可操作以用于仅在对应于所有以前过滤器模块的所述流量的所述分组的所有计数器已达到对应最大值后才递增所述对应过滤器模块的所述识别的计数器以反映所述流量的所述分组。
13.一种由部署在网络(102)中并且接收不同流量(108)的分组的网络装置(100)执行的方法(226),所述方法是检测分组的大流量的一个方法,所述方法包括以下步骤:
在所述网络装置的一个或更多个卡(104)接收(227)来自所述网络的所述不同流量的所述分组;
串行递增在计数器级的串联的每个级,包括在所述串联的开始处的头部计数器级(116-L)和在所述串联的结尾处的尾部计数器级(116-T)的计数器(228)以反映所述不同流量的所述分组,其中串行递增所述计数器包括仅在串行递增对应于所有以前计数器级的所述流量的所述分组的所有计数器至对应最大值后,递增对应于所述串联中随后计数器级的流量的分组的计数器;
将所述分组的大流量检测(229)为对应于已达到对应最大值的所述尾部计数器级(116-T)的计数器的分组流量;以及
从计数器级的所述串联的所述开始处去除(230)所述头部计数器级。
14.如权利要求13所述的方法,其中去除的所述步骤包括在所述串联的一个或更多个计数器级(116)的操作期间,去除所述头部计数器级。
15.如权利要求13所述的方法,还包括确定已达到对应最大值的所述头部计数器级(116-T)的计数器的一部分(868)已达到阈值(870)的步骤,并且其中去除(230)的所述步骤包括至少部分基于确定所述部分已达到所述阈值的所述步骤,去除所述头部计数器级。
16.如权利要求13所述的方法,还包括在所述串联的一个或更多个计数器级(116)的操作期间在所述串联的所述结尾处添加(231)尾部计数器级的步骤。
17.如权利要求16所述的方法,其中添加(231)的所述步骤包括添加具有比所述头部计数器级(116-L)的计数器(116-L)的数量更大的数量的计数器的所述尾部计数器级。
18.如权利要求16所述的方法,还包括通过在某个时间期内添加比在所述时间期内去除的计数器级的数量更大数量的计数器级,在多于一个时间期内增大计数器级的总数的步骤。
19.如权利要求13所述的方法,其中串行递增(228)的所述步骤包括串行递增在计数器级的所述串联的每个级的所述计数器以实质上反映在线且在链路速度的所有流量的所有分组。
20.如权利要求13所述的方法,其中串行递增(228)的所述步骤包括部分基于所述流量的所述分组的大小,串行递增所述计数器。
21.一种边缘路由器装置(100),所述边缘路由器装置可操作以用于部署在OpenFlow网络(102)的边缘以接收不同流量(108)的分组,所述边缘路由器装置可操作以用于检测分组的大流量(119),所述边缘路由器装置包括:
至少一个卡(104),可操作以用于接收来自所述OpenFlow网络的所述不同流量的所述分组;以及
大流量检测模块(110),包括:
串行多级过滤器模块(112),包括串联(113)耦合在一起的多个过滤器模块,所述多个过滤器模块包括在所述串联的开始处的头部过滤器模块(114-L)和在所述串联的结尾处的尾部过滤器模块(114-T),每个所述过滤器模块包括多个计数器(116),所述串行多级过滤器模块可操作以用于串行递增所述过滤器模块的所述计数器以实质上反映在线且在链路速度所述不同流量的所有所述分组,其中所述串行多级过滤器模块可操作以用于仅在对应于所述串联中所有以前过滤器模块的所述流量的所述分组的所有计数器已串行递增至对应最大值后才递增对应于所述串联中随后过滤器模块的流量的分组的计数器,并且其中所述串行多级过滤器模块可操作以用于将对应已递增至对应最大值的所述尾部过滤器模块(114-T)的计数器(116-T)的分组流量检测为所述分组的大流量(119);
与所述串行多级过滤器模块耦合的头部过滤器去除模块(120),所述头部过滤器去除模块可操作以用于在所述多个过滤器模块的至少另一过滤器模块(114)的操作期间从所述串联(113)的所述开始处去除所述头部过滤器模块(114-L);以及
与所述串行多级过滤器模块耦合的尾部过滤器添加模块(122),所述尾部过滤器添加模块用于在所述多个过滤器模块的至少另一过滤器模块(114)的操作期间在所述串联(113)的结尾处添加新尾部过滤器模块。
22.一种由部署在OpenFlow网络(102)的边缘并且接收不同流量(108)的分组的边缘路由器装置(100)执行的方法(226),所述方法是检测分组的大流量的一个方法,所述方法包括以下步骤:
在所述网络装置的一个或更多个卡(104)接收(227)来自所述OpenFlow网络的所述不同流量的所述分组;
串行递增在计数器级(116)的串联的每个级,包括在所述串联的开始处的头部计数器级(116-L)和在所述串联的结尾处的尾部计数器级(116-T)的计数器(228)以实质上反映在线且在链路速度的所述不同流量的所有所述分组,其中串行递增所述计数器包括仅在串行递增对应于所有以前计数器级的所述流量的所述分组的所有计数器至对应最大值后,递增对应于所述串联中随后计数器级的流量的分组的计数器;
将所述分组的大流量(119)检测(229)为对应于已达到对应最大值的所述尾部计数器级(116-T)的计数器的分组流量;
在计数器级的所述串联的至少另一计数器级(116)的操作期间从计数器级的所述串联的所述开始处去除(230)所述头部计数器级(116-L);以及
在计数器级的所述串联的至少另一计数器级(116)的操作期间在计数器级的所述串联的所述结尾处添加(231)新尾部计数器级。
CN201480050833.7A 2013-07-15 2014-06-27 从用于检测大流的串行多级过滤器去除头部过滤器以便清除流以实现延长操作 Expired - Fee Related CN105745870B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/942,566 US9118567B2 (en) 2013-07-15 2013-07-15 Removing lead filter from serial multiple-stage filter used to detect large flows in order to purge flows for prolonged operation
US13/942566 2013-07-15
PCT/IB2014/062684 WO2015008181A1 (en) 2013-07-15 2014-06-27 Removing lead filter from serial multiple-stage filter used to detect large flows in order to purge flows for prolonged operation

Publications (2)

Publication Number Publication Date
CN105745870A true CN105745870A (zh) 2016-07-06
CN105745870B CN105745870B (zh) 2019-01-18

Family

ID=51392296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480050833.7A Expired - Fee Related CN105745870B (zh) 2013-07-15 2014-06-27 从用于检测大流的串行多级过滤器去除头部过滤器以便清除流以实现延长操作

Country Status (4)

Country Link
US (1) US9118567B2 (zh)
EP (1) EP3022873B1 (zh)
CN (1) CN105745870B (zh)
WO (1) WO2015008181A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381945A (zh) * 2021-05-17 2021-09-10 中国人民解放军国防科技大学 基于冷热分离的流量处理方法及***
CN113839835A (zh) * 2021-09-27 2021-12-24 长沙理工大学 一种基于小流过滤的Top-k流精确监控架构

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847951B2 (en) * 2013-11-04 2017-12-19 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9548924B2 (en) * 2013-12-09 2017-01-17 Nicira, Inc. Detecting an elephant flow based on the size of a packet
WO2016008934A1 (en) * 2014-07-15 2016-01-21 Nec Europe Ltd. Method and network device for handling packets in a network by means of forwarding tables
US9813312B2 (en) * 2014-07-21 2017-11-07 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
US9866576B2 (en) 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
US9979624B1 (en) 2015-12-29 2018-05-22 Amazon Technologies, Inc. Large flow detection for network visibility monitoring
US10003515B1 (en) 2015-12-29 2018-06-19 Amazon Technologies, Inc. Network visibility monitoring
US10097464B1 (en) * 2015-12-29 2018-10-09 Amazon Technologies, Inc. Sampling based on large flow detection for network visibility monitoring
US10033613B1 (en) 2015-12-29 2018-07-24 Amazon Technologies, Inc. Historically large flows in network visibility monitoring
US10182017B2 (en) * 2016-06-30 2019-01-15 Mellanox Technologies Tlv Ltd. Estimating multiple distinct-flow counts in parallel
US10277520B2 (en) * 2017-01-17 2019-04-30 Southwest Research Institute Packet transfer buffer for computer system with multiple source and destination interfaces
US10516584B2 (en) * 2017-03-07 2019-12-24 eSentire, Inc. Systems and methods for efficient network conversation bandwidth statistics gathering
US10218642B2 (en) 2017-03-27 2019-02-26 Mellanox Technologies Tlv Ltd. Switch arbitration based on distinct-flow counts
US10581743B2 (en) * 2018-01-15 2020-03-03 Hewlett Packard Enterprise Development Lp Group rate limiters for multicast data packets
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
CN112202644B (zh) * 2020-10-12 2022-01-11 中国人民解放军国防科技大学 面向混合可编程网络环境的协同网络测量方法及***
CN115766528B (zh) * 2022-11-14 2024-03-26 西南科技大学 一种Top-K大象流的检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100202319A1 (en) * 2007-07-25 2010-08-12 Brocade Communications Systems, Inc. Method and apparatus for determining bandwidth-consuming frame flows in a network
CN101459560B (zh) * 2009-01-09 2011-04-13 中国人民解放军信息工程大学 长流的识别方法、数据流量的测量方法及其设备
CN102025563A (zh) * 2010-11-30 2011-04-20 东南大学 基于哈希冲突补偿的网络大流识别方法
CN102984064A (zh) * 2012-12-28 2013-03-20 盛科网络(苏州)有限公司 区分转发大象流的方法及***

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4562436A (en) * 1982-07-16 1985-12-31 At&T Bell Laboratories Data communication network
US20020114273A1 (en) * 2001-01-31 2002-08-22 Advantest Corporation Apparatus for data collection and analysis, method for the same, and recording medium
US7061970B2 (en) * 2000-11-14 2006-06-13 Irving Reed Self-synchronizing adaptive multistage receiver for wireless communication systems
US7257080B2 (en) * 2002-12-09 2007-08-14 Lsi Corporation Dynamic traffic-based packet analysis for flow control
DE502005001819D1 (de) * 2005-01-28 2007-12-13 Siemens Ag Verfahren und System zur Übertragung von Telegrammen
US7555661B2 (en) * 2005-05-03 2009-06-30 Sirf Technology, Inc. Power management in digital receivers that adjusts at least one a of clock rate and a bit width based on received signal
US8068422B2 (en) * 2005-07-14 2011-11-29 Telefonaktiebolaget L M Ericsson (Publ) Arrangement and method relating to handling of IP traffic
US7545889B2 (en) * 2005-10-26 2009-06-09 Broadcom Corporation Blocker performance in a radio receiver
US7894358B2 (en) * 2007-03-15 2011-02-22 Cisco Technology, Inc. Detection of heavy users of network resources
US20110085444A1 (en) * 2009-10-13 2011-04-14 Brocade Communications Systems, Inc. Flow autodetermination
US8811183B1 (en) * 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US8750121B2 (en) 2011-10-28 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Addressing the large flow problem for equal cost multi-path in the datacenter
US8825867B2 (en) * 2012-05-04 2014-09-02 Telefonaktiebolaget L M Ericsson (Publ) Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group
US20140105218A1 (en) * 2012-10-12 2014-04-17 Prashant H. Anand Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance
US8923122B2 (en) * 2012-12-19 2014-12-30 Telefonaktiebolaget L M Ericsson (Publ) Packet train generation for estimating available network bandwidth
US20140237118A1 (en) 2013-02-19 2014-08-21 Broadcom Corporation Application Aware Elephant Flow Management
US8874059B2 (en) * 2013-03-13 2014-10-28 Qualcomm, Incorporated Reducing power consumption on a receiver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100202319A1 (en) * 2007-07-25 2010-08-12 Brocade Communications Systems, Inc. Method and apparatus for determining bandwidth-consuming frame flows in a network
CN101459560B (zh) * 2009-01-09 2011-04-13 中国人民解放军信息工程大学 长流的识别方法、数据流量的测量方法及其设备
CN102025563A (zh) * 2010-11-30 2011-04-20 东南大学 基于哈希冲突补偿的网络大流识别方法
CN102984064A (zh) * 2012-12-28 2013-03-20 盛科网络(苏州)有限公司 区分转发大象流的方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CRISTIAN ESTAN等: "New Directions in Traffic Measurement and Accounting: Focusing on the Elephants,Ignoring the Mice", 《ACM TRANSACTIONS ON COMPUTER SYSTEM》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381945A (zh) * 2021-05-17 2021-09-10 中国人民解放军国防科技大学 基于冷热分离的流量处理方法及***
CN113381945B (zh) * 2021-05-17 2022-08-30 中国人民解放军国防科技大学 基于冷热分离的流量处理方法及***
CN113839835A (zh) * 2021-09-27 2021-12-24 长沙理工大学 一种基于小流过滤的Top-k流精确监控架构
CN113839835B (zh) * 2021-09-27 2023-09-26 长沙理工大学 一种基于小流过滤的Top-k流精确监控***

Also Published As

Publication number Publication date
EP3022873B1 (en) 2017-08-09
US9118567B2 (en) 2015-08-25
EP3022873A1 (en) 2016-05-25
US20150016255A1 (en) 2015-01-15
CN105745870B (zh) 2019-01-18
WO2015008181A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
CN105745870A (zh) 从用于检测大流量的串行多级过滤器去除头部过滤器以便清除流量以实现延长操作
JP4341413B2 (ja) 統計収集装置を備えたパケット転送装置および統計収集方法
CN104734964B (zh) 报文处理方法、节点及***
CN102549988B (zh) 路由器和由路由器执行的方法
JP2022071112A (ja) データパケット検出方法、デバイス、及びシステム
CN105765946A (zh) 支持数据网络中的服务链接的方法和***
CN103907319A (zh) 路由子集的安装和使用
CN103081410B (zh) 通信质量监视***、通信质量监视方法
EP3449600A1 (en) A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences
CN101931628B (zh) 一种域内源地址的验证方法和装置
JP4988632B2 (ja) パケット中継装置およびトラフィックモニタシステム
CN107241272A (zh) 用于在路由会聚期间改进转发能力的方法、***和装置
CN109155760A (zh) 利用固定报头大小进行分组路径记录
CN104883363A (zh) 异常访问行为分析方法及装置
US8817604B2 (en) Systems, methods and computer readable media for utilizing spare capacity of links within a network
CN108199974A (zh) 业务流量转发管理方法、装置及网络节点
CN112702221B (zh) Bgp异常路由监测方法和装置
US9137158B2 (en) Communication apparatus and communication method
JP4391960B2 (ja) リソース管理装置、システムおよび方法
CN110430140A (zh) 路径处理方法、装置、设备及存储介质
JP4871775B2 (ja) 統計情報収集装置
CN109150707B (zh) 路由路径分析方法及设备
CN108833282A (zh) 数据转发方法、***、装置及sdn交换机
CN107872391A (zh) 一种表项更新方法及装置
CN115996188A (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190118