CN101431474B - 用于流监控的系统和方法 - Google Patents
用于流监控的系统和方法 Download PDFInfo
- Publication number
- CN101431474B CN101431474B CN200810214030.7A CN200810214030A CN101431474B CN 101431474 B CN101431474 B CN 101431474B CN 200810214030 A CN200810214030 A CN 200810214030A CN 101431474 B CN101431474 B CN 101431474B
- Authority
- CN
- China
- Prior art keywords
- flow identifier
- stream
- bag
- sampling
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于流监控的网络系统可以包括逻辑,被配置为接收来自包转发引擎的包,为包创建流ID,确定流ID是否匹配表中的多个流ID中的一个,确定包是否与将要被采样的流相关联,当将要对流进行采样时,对包和从包转发引擎接收到的与流相关联的另外的包进行采样,并经由交换机将流ID和采样后的包传送到接口。
Description
背景技术
诸如交换机或路由器的网络设备不仅可以用于将数据包路由和/或交换到其目的地,而且还可以用于收集与数据包和网络流通量相关的信息。收集流的统计信息和/或对数据包进行采样的现有网络设备不能使流的统计信息与采样后的数据包相互关联,这是因为由位于网络设备内的不同点处的不同部件来执行这些功能。
发明内容
根据一个方面,可以提供一种网络设备。该网络设备可以包括经由互连而连接的多个接口。每个接口均可以包括包转发引擎(PFE)、交换机、以及被配置为接收来自PFE的包的逻辑。该逻辑可以被进一步配置为创建包的流ID,确定流ID是否与表中的多个流ID中的一个相匹配,确定包是否与将要被采样的流相关联,当要对流进行采样时,对包和从PFE接收到的与流相关联的另外的包进行采样,并经由交换机将流ID和采样后的包传送到另一接口。
根据另一方面,可以提供一种方法。该方法可以包括为从包转发引擎(PFE)接收到的每个包创建流ID;利用为每个所接收到的包而创建的流ID来更新流ID的表;从表中确定与流ID相关联的包是否将被采样;当确定与流ID相关联的包将被采样时,对与流ID相关联的包进行采样;以及经由以太网交换机将采样后的包发送到接口。
根据另一方面,可以提供一种网络设备。该网络设备可以包括用于接收包的装置;用于基于接收到的包创建流ID的装置;用于存储所创建的流ID的表的装置;用于从所创建的流ID的表中确定是否要对接收到的包进行采样的装置;用于当确定要对接收到的包进行采样时对接收到的包进行采样的装置;用于从所创建的流ID的表中确定何时传送所创建的多个流ID之一的装置;以及用于将接收到的采样后的包和确定的流ID传送到交换机的装置。
附图说明
结合于此并构成本说明书的一部分的附图示出了本文中所描述的实施例,并与描述一起阐述这些实施例。在附图中:
图1示出了在其中可以实现本文中所描述的概念的网络;
图2是图1的示例性设备的框图;
图3是图1的示例性设备的功能框图;
图4是图3的示例性流管理和结构排队逻辑(fabric queuinglogic)的功能框图;
图5A和图5B示出了图4的示例性的流表;
图6是用于监控流的示例性处理的流程图;
图7是用于对流进行采样的示例性处理的流程图;以及
图8是用于对流表进行更新的示例性处理的流程图。
具体实施方式
以下的详细描述将参照附图。不同附图中的相同参考标号可以标识相同或相似的元件。此外,尽管以下一些描述主要是以开放式系统互连(OSI)模型的层2和/或层3和/或层4处的路由器或其他网元为背景所提供的,但是可以将本文中所提供的描述应用于不同通信层处的不同类型的网络设备(例如,多协议标记交换(MPLS)路由器、同步光纤网络(SONET)分插复用器、千兆比特无源光网络(GPON)交换机、同步数字体系(SDH)网元等)。
在以下的描述中,系统可以基于接收到的包来创建并更新统计的流表。系统还可以对接收到的包进行采样。此外,系统可以将存储在流表中的信息传送到外部设备用于处理和/或分析。本文中所描述的实施例还可以应用于非包数据(例如,单元(cell))。
图1示出了在其中可以实现本文中所描述的概念的示例性网络。如所示,网络100可以包括网元110和网络120。实际上,网络100还可以包括除了图1中示出的那些元件之外的其他元件。网元110可以包括用于执行网络相关功能的设备,诸如路由器或交换机(例如,MPLS网络中的提营商边缘(PE)路由器)。网络120可以包括互联网、自组网络、局域网(LAN)、广域网(WAN)、城域网(MAN)、蜂窝网、公用交换电话网(PSTN)、任意其他网络、或这些网络的组合。网元110可以通过有线或无线通信链路与网络120中的其他网元(未示出)通信。
图2示出了网元110的示例性框图。如所示,网元110可以包括系统控制模块210、互连220、及接口230。在其他实现中,网元110可以包括与图2中所示的那些部件相比更少的、附加的、或不同的部件。
系统控制模块210可以包括可以为建网和通信而优化的一个或多个处理器、微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、和/或处理逻辑。系统控制模块210可以执行网元110的高级管理功能。例如,系统控制模块210可以与连接到网元110的其他网络和系统通信以交换与网络拓扑相关的信息。系统控制模块210可以基于网络拓扑信息来创建路由表,并基于路由表来创建转发表,并可以将这些表发送到接口230用于数据包路由。系统控制模块210可以包括静态存储器(例如,只读存储器(ROM))、动态存储器(例如,随机存取存储器(RAM))、和/或板上集成的高速缓存器(onboard cache),用于存储数据和机器可读指令。系统控制模块210还可以包括储存设备,诸如软盘、CD ROM、CD读/写(R/W)盘、和/或闪存、以及其他类型储存设备。
互连220可以包括一个或多个交换机或交换结构(switchfabric),用于将从一个或多个接口230中输入的网络流通量(诸如数据包)送往接口230中的其他接口。互连220还可以包括处理器、存储器、和/或允许在系统控制模块210和接口230之间通信的通路。
接口230可以包括设备或组件(诸如线卡(line card)),用于接收从网络链路输入的数据包并用于向网络链路传送数据包。在其他实例中,接口230可以包括以太网卡、光载波(OC)接口、及异步传输模式(ATM)接口。
取决于实现,图2中所示的部件可以提供较少的或另外的功能。例如,如果网元110作为多协议标记交换(MPLS)路由器的一部分执行网际协议(IP)包路由功能,系统控制模块210可以执行与从MPLS网络中的其他路由器获取路由信息相关联的任务。在这种情况下,将网络流通量从一个接口传送到另一接口可能涉及基于标记的路由,而非基于IP地址的路由。
图3是如图2中所示的接口230的框图。如所示,接口230可以包括包转发引擎310、流管理和结构排队逻辑320、底板(backplane)330、外围部件互连高速(PCI-E)交换机340、以太网交换机350、及本地中央处理单元/可见性中央处理单元(LocalCentral Processing Unit/Visibility Central Processing Unit,简称LCPU/VCPU)360。在不同的实现中,接口230可以包括与图3中所示的那些部件相比更少的、附加的、或不同的部件。
包转发引擎(PFE)310可以包括用于接收、存储、处理和/或转发数据包的硬件和/或软件。例如,PFE 310可以处理从输入链路接收到的包,并准备用于在输出链路上传送的包。PFE 310还可以基于包报头信息来执行路由查找以确定包的目的地信息。PFE 310还可以包括用于存储接收到的包的存储器。PFE 310还可以将接收到的数据包传送到流管理和结构排队逻辑(FFQ)320,并可以将信息和/或包传送到PCI-E交换机340和以太网交换机350,或者可以接收来自PCI-E交换机和以太网交换机的信息和/或包。
流管理和结构排队逻辑(FFQ)320可以包括用于接收来自PFE310的数据包并且对数据包的流进行监控和/或采样的硬件和/或软件。例如,FFQ 320可以接收数据包,创建用于流的表条目(即,流ID),并监控流的统计。例如,FFQ 320可以利用一组用于每个流的计数器来对数据包的流的数据包/字节计数进行跟踪。FFQ 320还可以对包进行采样,并可以将采样后的包和其他信息(诸如流表记录)发送到PCI-E交换机340和/或以太网交换机350。FFQ 320还可以将来自PFE 310的数据包传送到底板330。
底板330可以包括用于将数据包传送到互连220/用于传送来自互连的数据包的交换结构和/或存储器(如图2所示)。
外围部件互连高速(PCI-E)交换机340可以包括用于在PFE310、FFQ 320和/或LCPU/VCPU 360之间传送/接收数据包和信息的高速交换接口。
以太网交换机350可以包括以太网交换机,其可以在PFE 310、FFQ 320和/或LCPU/VCPU 360之间传送数据包和/或信息。以太网交换机350还可以通过带外平面经由底板330传送和/或接收数据包和/或信息到用于进一步处理和/或分析的另一设备(网元110内部的或外部的)。
本地中央处理单元/可见性中央处理单元(LCPU/VCPU)360可以包括用于执行网络通信、管理和分析功能的一个或多个处理器、微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、和/或处理逻辑。例如,LCPU/VCPU 360可以控制与图3中所示的多个部件之间的(本地)操作相关的功能,并且可以控制与通过接口230(如图3中所示)所传送的数据包的“可见性”相关的功能。例如,LCPU/VCPU 360可以包括用于对记录的流表进行管理以及对数据包进行采样的硬件和/或软件。例如,LCPU/VCPU 360可以接收来自FFQ 320的流表记录和采样后的包。LCPU/VCPU 360还可以经由以太网交换机350将流表记录和采样后的数据包传送到外部设备。
例如,在对流记录进行管理的过程中,LCPU/VCPU 360可以接收来自FFQ 320的流表记录和统计信息,将接收到的流表记录和统计信息聚集和/或保留在影象表中,并将所聚集的流表记录和/或统计信息输出到网元110内的另一设备,或者可替换地输出到网元110外部的网络设备。LCPU/VCPU 360可以基于各种参数(诸如通信协议、端口号、源和/或目的地址、源/目的地址前缀、源/目的自治系统(AS)前缀等)来聚集流表记录和/或统计信息。
图4示出了示例性FFQ 320的功能框图。如所示,FFQ 320可以包括流逻辑410、采样逻辑420、流表430、及结构接口(fabricinterface)440。在不同的实现中,FFQ 320可以包括与图4中所示的那些部件相比更少的、附加的、或不同的部件。
流逻辑410可以包括硬件和/或软件,其用于接收数据包、从接收到的包的报头创建流ID、以及更新流表430。例如,流逻辑可以为每个接收到的数据包创建流ID,其中,可以从包报头中的五元组中创建流ID。例如,可以按照某种方式将包报头中与源地址、目的地址、源端口、目的端口、和/或协议(如图5A和5B中所示)相关的数值进行相加或组合以形成流ID。流逻辑410还可以确定在流表430中是否存在创建的流ID。流逻辑410还可以包括用于监控或跟踪与流相关的统计信息的逻辑。例如,流逻辑410可以包括包/字节计数器,其可以跟踪流的统计信息。流逻辑410可以包括用于暂时存储接收到的数据包的一个或多个接口缓冲器或队列(queue)(未示出)。
采样逻辑420可以包括硬件和/或软件,其可以对接收到的数据包进行采样。例如,采样逻辑420可以对接收到的数据包进行采样或复制。例如,可以将接收到的数据包复制并发送到以太网交换机350,而同时将接收到的数据包传送到底板330。可替换地,可以通过底板330将接收到的数据包复制并发送到控制模块210或另一专用处理单元,而同时通过底板330将接收到的数据包传送到另一接口模块220上的出站端口。采样逻辑420还可以管理采样后的数据包。例如,采样逻辑420可以根据存储在流表430中的控制设置和/或信息来确定何时对数据包的流进行采样。例如,在一种设置中,如果确定流是新的(例如,还未存在于流表430中),则可以对流中的前N个数据包进行采样。在另一实例中,如果存储在流表430中的信息表示采样,则可以连续地对数据包进行采样。在其他实例中,可以对具有具体网络地址前缀(例如,191.178.2.0)的所有数据包进行采样。在另一种设置中,可以随机地对数据包进行采样。在又一种设置中,可以通过将数据包报头的散列值与特定值或选定值进行比较来对数据包进行采样。流表430、采样逻辑420、及流逻辑410的组合操作使得从给定的流中对连续多组包进行采样成为可能。
流表430可以包括多个流的统计信息的记录。例如,每个记录均可以包括流ID和相关联的信息字段。例如,流表430可以包括多达四百万个的流条目/记录。以下参考图5A和5B来示出和描述流表430中的示例性记录。
结构接口440可以包括用于提供PFE 310和底板330之间的接口的硬件和/或软件。结构接口440可以包括用于暂时存储输入的数据包以及与底板330交互的一个或多个接口缓冲器或队列(未示出)。
图5A是一种示例性流表500的图表。如所示,流表500可以包括多个流表记录。每个流表记录均可以包括流ID字段510和相关联的字段(包括如下所述的一个或多个字段520-580)。
流ID字段510可以包含用于标识流和/或用于表示流表500中的流记录的位置的信息。如上所述,例如,可以利用从所接收的包报头中提取的五元组(例如,字段520-560中的值)来创建流ID 510。
源IP地址字段520可以包含用于表示源IP地址的信息,其中,从源IP地址发起数据包的流。
目的IP地址字段530可以包含用于表示数据包的流的目的IP地址的信息。
例如,源端口字段540可以包含用于标识包括在接口230中的输入端口的信息。
目的端口字段550可以包含用于表示数据包的流的源端口和目的端口(例如,用于网络服务器的端口83)的信息。
协议字段560可以包含用于表示用于流中的数据包的通信协议(例如,传输控制协议(TCP))的信息。
包/字节计数字段570可以包含用于累积和/或表示已通过流传输的包和/或字节的数目的信息。
采样字段580可以包含用于表示属于流的数据包是否将要被采样的信息。
图5B是另一示例性流表505的图表。如所示,流表505可以包括与流有关的流信息和统计信息的多个条目/记录。每个记录均可以包括如下所述的字段515-575。
流ID字段515可以包含用于标识和/或表示流记录在流表505内的位置的信息。
源MAC地址字段525可以包含标识MAC地址的信息,其中,从该MAC地址发起数据包的流。
目的MAC地址字段535可以包含用于表示数据包的流的目的MAC地址的信息。
VLAN字段545可以包含标识虚拟局域网的信息,其中,从虚拟局域网发起数据包。
以太网类型字段555可以包含用于表示数据包的流的以太网格式/帧和/或协议的类型的信息。
包/字节计数字段565可以包含用于累积和表示已经通过流所传输的数据包和/或字节的数目的信息。
采样字段575可以包含用于表示属于流的数据包是否将被采样的信息。
在流表500/505的维护期间,可以使用时间戳来表示最近何时更新过记录(流表500或505之内的)。当已经超过特定的时间量(例如,一小时)没有更新记录,则可以将记录的使用期(age)设置为“老”。例如,如参考图8所描述的,可以从流表500/505中移除被确定为“老”的记录,并将其发送到另一设备(网元110内部或外部的)。
图6示出了示例性流监控处理600。处理600可以始于接收到包并创建了流ID时(框610)。例如,可以将包从PFE 310接收到FFQ 320中,其中,然后流逻辑410可以创建流ID。例如,流逻辑410可以利用包报头中所接收到的五元组来形成流ID。然后FFQ 320可以对于现有的流ID的匹配来检查流表430(框620)。例如,如果接收到的包的流ID匹配流表430中的流ID,则可以确定现有的流匹配(框620中为是)。如果已经确定现有的流匹配,则可以更新来自流的统计信息(框630)。例如,流逻辑410可以对流中的包/字节的数目进行计数,并可以相应更新包/字节计数字段570(如图5中所示)。
例如,如果接收到的包的流ID不匹配流表430中的流ID(框620中为否),则可以通过确定流表是否已满(框640)来继续处理600。例如,如果流表430已满(框640中为是),则可以从FFQ 320发送流丢失消息到LCPU/VCPU 360,指示流表430已满并且不能添加新的流条目(框650)。例如,如果流表430未满(框640中为否),则可以将所创建的流ID(以及如图5A和/或5B中所示的相关联字段520-580/515-575)添加到流表430(框660)。按照这种方式,可以通过FFQ 320来标识、存储及监控数据包的流。当在流表430中创建新的流时,从FFQ 320发送流创建消息到以太网交换机350。流创建消息可以包含导致流创建的包的报头、以及其他相关信息(诸如流的创建时间(时间戳)、流表430中的相应流ID、包有效载荷的前N个字节等)。可以将流创建消息送往LCPU/VCPU 360或横跨底板330的另一目标。例如,流创建消息可以被用于维护LCPU/VCPU 360或位于横跨底板的另一专用中央处理器模块处的影象流表。例如,影象流表可以被用于跟踪接口模块230(其可以包括FFQ 320设备的多个实例)中的所有流的统计信息。
图7示出了示例性流采样处理700。处理700可以始于接收到包并创建了流ID时(框710)。例如,可以将包从PFE 310接收到FFQ 320中,其中,然后流逻辑410可以创建流ID。如上所述,流逻辑410可以利用接收到的包报头中的五元组来创建流ID。然后,FFQ 320可以对于现有的流的匹配来检查流表430(框720)。例如,如果接收到的包的流ID不匹配流表430中的流ID(框720中为否),则这可以表示新的流。例如,如上所述,FFQ 320可以被编程为通过对接收到的包进行采样并将复本发送到以太网交换机350来对新的流的前N个包进行采样(利用采样逻辑420)(框730)。
例如,如果接收到的包的流ID匹配流表430中的流ID,则可以确定现有的流匹配(框720中为是)。如果已经确定现有的流匹配,则FFQ 320可以访问流表430以确定是否对流进行采样(如采样字段580中的值所表示的)(框740)。例如,如果需要对流进行采样(框740中为是),则通过对流中的数据包进行采样并将复本发送到以太网交换机350来继续处理700(框760)。例如,采样逻辑420可以通过将采样后的包交换到以太网交换机350用于传送到另一设备(网元110内部或外部的)来对数据包进行采样。例如,如果不需要对流进行采样(框740中为否),则可以继续处理700而不需要对流中的数据包进行采样(框750)。
图8示出了示例性流表的更新处理800。通过检查流表记录的使用期(框810)处理800可以开始。例如,流表记录(如图5A和/或5B中所示)还可以包含或包括时间戳值,其可以表示最近何时更新过该记录。然后,FFQ 320可以检查流表430中的每个记录的使用期以确定是否找到老的记录(框820)。例如,如果已经在一小时内没有更新流表记录了,则其可以被认为是“老”。例如,如果未找到老的流表记录(框820中为否),则可以不发送流表记录到以太网交换机350。例如,如果已经找到老的流表记录(框820中为是),则可以将标识的老的流表记录发送到以太网交换机350(框840)。此外,当LCPU/VCPU 360存储影象流表时,FFQ 320可以发送消息、和/或通知LCPU/VCPU 360已经移除/删除流记录,从而LCPU/VCPU 360还可以更新影象流表。
如上所述,这些实施例允许对数据包的流进行标识、监控并将其存储到记录表中。此外,可以使用这些记录来表示是否可以对数据包的流进行采样。可以经由带外端口将流记录和采样后的数据包传送到外部设备,用于进一步分析。前述实现的描述提供了实例,但不用于穷举实施方式或将实施方式限制到所披露的精确形式。鉴于上述教导,改变和变形是可能的,或者可以从实施这些教导来获得改变和变形。
例如,尽管关于图6-图8中所示的处理已经描述了多个系列的框,但是在其他实现中可以改变框的顺序。此外,独立的框可以表示可以被并行执行的框。例如,对一个数据包所执行的框610-660可以不依赖于对第二数据包的框610-660,因此可以并行于第二数据包的框610-660来执行。此外,可以省略处理中的多个框。此外,可以并行执行图6-图8的处理。
显然本文中所描述的多个方面可以按照附图中所示的实现中的软件、固件、及硬件的许多不同形式来实现。用于实现这些方面的实际软件代码或专用控制硬件不限制这些实施例。因此,在不参考具体软件代码的情况下描述了这些方面的操作和行为-应当理解软件和控制硬件可以被设计为基于本文的描述来实现这些方面。
此外,实现的某些部分被描述为执行一个或多个功能的“逻辑”。这些逻辑可以包括硬件(诸如处理器、专用集成电路、或现场可编程门阵列)、软件、或硬件和软件的组合。
尽管在权利要求中陈述了和/或在说明书中披露了多个特征的特定组合,但这些组合并不旨在限制本发明的范围。实际上,可以按照未具体在权利要求中陈述的和/或在说明书中披露的方式来组合许多这些特征。
用在本申请中的元件、框、或指令均不应当被解释为对本文中所描述的实现来说关键或首要的,除非明确的这样表述。此外,如本文中所使用的,冠词“一(a)”旨在包括一项或多项。如果想要仅表示一项,则使用术语“一个(one)”或使用类似的语言。此外,短语“基于”旨在表示“至少部分地基于”,除非以其他方式明确声明。
Claims (15)
1.一种网络设备,包括:
用于接收包的装置;
用于基于所接收到的包创建流标识符的装置;
用于存储所创建的流标识符的表的装置;
用于接收特定包的装置;
用于基于所述特定包而创建流标识符的装置;
用于从所述表中确定是否要对所述特定包进行采样的装置,
其中如果所述特定包的流标识符与存储在所述表中的所创建的流标识符中的任一个都不匹配,则将所述特定包与一个新的流相关联,
其中如果将所述特定包与一个新的流相关联,所述用于从所述表中确定是否要对所述特定包进行采样的装置进一步包括:
用于确定对所述新的流中的前N个包进行采样的装置,
以及
其中如果所述特定包的所述流标识符与存储在所述表中的所述流标识符中的一个流标识符匹配,所述用于从所述表中确定是否要对所述特定包进行采样的装置进一步包括:
用于访问所述表以确定是否对所述特定包进行采样的装置,
用于响应于通过所述用于从所述表中确定是否要对所述特定包进行采样的装置进行的确定而对所述特定包进行采样的特定包采样装置;
用于从所述表中识别要传送的所创建的流标识符中的一个流标识符的装置;以及
用于将所述特定包的所采样的复本和所识别的所创建的流标识符中的一个流标识符传送到交换机的装置。
2.根据权利要求1所述的网络设备,其中所述用于从所述表中识别要传送的所创建的流标识符中的一个流标识符的装置包括:
用于确定所创建的流标识符中的特定一个流标识符为老的装置,
其中当在特定时段内没有接收到与所述表中的所创建的流标识符中的所述特定一个流标识符相关的发送包时,所创建的流标识符中的所述特定一个流标识符为老。
3.根据权利要求1所述的网络设备,进一步包括:
用于当所述特定包与所述新的流相关联时用所述特定包的流标识符更新所述表的装置,
其中所述用于传送的装置还包括:
用于传送所述特定包的所述流标识符的装置。
4.根据权利要求1所述的网络设备,还包括:
用于对与所创建的流标识符中的一个流标识符相关联的多个包或字节进行计数和存储的装置。
5.根据权利要求1所述的网络设备,还包括:
用于确定所述表是否已满的装置;以及
用于响应于所述表已满的确定,经由所述交换机传送所述表已满的消息的装置。
6.根据权利要求1所述的网络设备,其中所述表还包括:
存储与所创建的流标识符中的一个流标识符相关联的流的源地址的源地址字段,
存储所述流的目的地址的目的地址字段,
包或字节计数字段,用于存储接收到的所述流的包或字节的数目,以及
存储表示是否对所述流进行采样的信息的采样字段。
7.一种用于流采样的方法,包括:
接收包;
为接收到的包创建流标识符,其中所创建的流标识符标识与所接收到的包相关联的包的流;
利用所创建的流标识符来更新存储流标识符的表;
从所述表中确定是否将要对所接收的包进行采样,
其中确定是否将要对所接收的包进行采样包括:
在利用所创建的流标识符来更新所述表之前,确定是否所创建的流标识符与存储在所述表中的所述流标识符中的一个流标识符相匹配,
在利用所创建的流标识符来更新所述表之前,如果所创建的流标识符与存储在所述表中的所述流标识符中的任一个都不匹配,则确定对与所接收的包相关联的包的流中的前N个包进行采样,以及
在利用所创建的流标识符更新所述表之前,如果所述流标识符与存储在所述表中的所述流标识符中的一个流标识符相匹配,则访问所述表,以确定是否对所接收的包进行采样,
当确定将要对所接收的包进行采样时,对所接收的包进行采样;以及
经由以太网交换机将所采样的所接收的包发送到接口。
8.根据权利要求7所述的用于流采样的方法,还包括:
经由所述以太网交换机将所创建的流标识符传送到所述接口。
9.根据权利要求8所述的用于流采样的方法,还包括:
在利用所创建的流标识符更新所述表之前,当所创建的流标识符与存储在所述表中的任一个流标识符都不匹配时,经由所述以太网交换机将所创建的流标识符传送到所述接口。
10.根据权利要求7所述的用于流采样的方法,还包括:
确定是否在利用所创建的流标识符更新所述表之前存储在所述表中的流标识符中的一个流标识符为老;以及
如果所述流标识符中的一个流标识符为老时,经由所述以太网交换机将所述流标识符中的一个流标识符传送到所述接口。
11.根据权利要求7所述的用于流采样的方法,还包括:
在利用所创建的流标识符来更新所述表之前,随机地对与存储在所述表中的流标识符中特定的一个流标识符相关联的所接收到的包进行采样。
12.根据权利要求7所述的用于流采样的方法,还包括:
在利用所创建的流标识符来更新所述表之前,对与存储在所述表中的所述流标识符中特定的一个流标识符相关联的多个包或字节进行计数和存储。
13.根据权利要求7所述的用于流采样的方法,还包括:
确定存储所述流标识符的表是否已满。
14.根据权利要求13所述的用于流采样的方法,还包括:
响应于确定所述表已满,经由所述以太网交换机传送存储所述流标识符的表已满的消息。
15.根据权利要求7所述的用于流采样的方法,其中存储所述流标识符的所述表还包括:
源地址字段、目的地址字段、包或字节计数字段、以及采样字段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/936,319 | 2007-11-07 | ||
US11/936,319 US8072894B2 (en) | 2007-11-07 | 2007-11-07 | Systems and methods for flow monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431474A CN101431474A (zh) | 2009-05-13 |
CN101431474B true CN101431474B (zh) | 2014-11-05 |
Family
ID=40361539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810214030.7A Active CN101431474B (zh) | 2007-11-07 | 2008-08-22 | 用于流监控的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8072894B2 (zh) |
EP (1) | EP2058736A3 (zh) |
CN (1) | CN101431474B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008061483A1 (fr) * | 2006-11-24 | 2008-05-29 | Hangzhou H3C Technologies Co., Ltd. | Procédé et appareil d'identification de contenu de données |
US7852785B2 (en) * | 2008-05-13 | 2010-12-14 | At&T Intellectual Property I, L.P. | Sampling and analyzing packets in a network |
US7826458B2 (en) * | 2009-03-05 | 2010-11-02 | Juniper Networks, Inc. | Tracking fragmented data flows |
FR2943873B1 (fr) * | 2009-03-25 | 2012-01-13 | Infovista Sa | Procede permettant a un systeme de surveillance du reseau d'un operateur de classifier des flux ip |
WO2011030490A1 (ja) * | 2009-09-10 | 2011-03-17 | 日本電気株式会社 | 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム |
CN102217251B (zh) * | 2009-09-21 | 2013-09-11 | 华为技术有限公司 | 一种数据转发方法、数据处理方法、系统以及相关设备 |
JP5467541B2 (ja) * | 2010-02-22 | 2014-04-09 | 日本電気株式会社 | 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム |
CN103314557B (zh) * | 2011-01-17 | 2017-01-18 | 日本电气株式会社 | 网络系统、控制器、交换机和业务监控方法 |
US9032089B2 (en) * | 2011-03-09 | 2015-05-12 | Juniper Networks, Inc. | Methods and apparatus for path selection within a network based on flow duration |
US9674074B2 (en) * | 2011-04-08 | 2017-06-06 | Gigamon Inc. | Systems and methods for stopping and starting a packet processing task |
US8873557B2 (en) | 2011-04-08 | 2014-10-28 | Gigamon Inc. | Systems and methods for packet de-duplication |
US8724496B2 (en) | 2011-11-30 | 2014-05-13 | Broadcom Corporation | System and method for integrating line-rate application recognition in a switch ASIC |
US8681794B2 (en) * | 2011-11-30 | 2014-03-25 | Broadcom Corporation | System and method for efficient matching of regular expression patterns across multiple packets |
CN103220225B (zh) | 2012-05-21 | 2015-07-08 | 华为技术有限公司 | 报文处理方法及设备、系统 |
JP5812533B2 (ja) * | 2012-05-31 | 2015-11-17 | 株式会社日立製作所 | 通信装置、及び、通信方法 |
WO2014205812A1 (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 组表项的添加方法和交换机 |
US9629018B2 (en) | 2014-02-05 | 2017-04-18 | Ibasis, Inc. | Method and apparatus for triggering management of communication flow in an inter-network system |
US10263903B2 (en) * | 2014-02-05 | 2019-04-16 | Ibasis, Inc. | Method and apparatus for managing communication flow in an inter-network system |
US9736051B2 (en) * | 2014-04-30 | 2017-08-15 | Ixia | Smartap arrangement and methods thereof |
US9531672B1 (en) * | 2014-07-30 | 2016-12-27 | Palo Alto Networks, Inc. | Network device implementing two-stage flow information aggregation |
US9967178B1 (en) * | 2015-12-15 | 2018-05-08 | Juniper Networks, Inc. | Flow record size reduction |
US10979890B2 (en) | 2016-09-09 | 2021-04-13 | Ibasis, Inc. | Policy control framework |
CN108092914B (zh) * | 2016-11-21 | 2022-03-04 | 华为技术有限公司 | 网络流量负载均衡调度方法和装置 |
US10820190B2 (en) | 2017-03-30 | 2020-10-27 | Ibasis, Inc. | eSIM profile switching without SMS |
US10524116B2 (en) | 2017-06-27 | 2019-12-31 | Ibasis, Inc. | Internet of things services architecture |
US11115346B2 (en) * | 2018-09-25 | 2021-09-07 | Big Switch Networks Llc | Systems and methods for generating network flow information |
US11169932B2 (en) * | 2019-05-17 | 2021-11-09 | Google Llc | Flow table aging optimized for dram access |
WO2021113904A1 (en) * | 2019-12-11 | 2021-06-17 | Redfig Consulting Pty Ltd | Network traffic identification device |
CN113839831B (zh) * | 2021-08-27 | 2023-04-18 | 深圳市风云实业有限公司 | 一种流量采样装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567828A (zh) * | 2003-06-18 | 2005-01-19 | 中兴通讯股份有限公司 | 一种网络处理器对数据流量进行限速的方法 |
CN1822567A (zh) * | 2005-12-23 | 2006-08-23 | 清华大学 | 基于网络流量的多域网包分类方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0706297A1 (en) * | 1994-10-07 | 1996-04-10 | International Business Machines Corporation | Method for operating traffic congestion control in a data communication network and system for implementing said method |
US5790799A (en) * | 1995-05-17 | 1998-08-04 | Digital Equipment Corporation | System for sampling network packets by only storing the network packet that its error check code matches with the reference error check code |
GB9810376D0 (en) * | 1998-05-15 | 1998-07-15 | 3Com Technologies Ltd | Computation of traffic flow by scaling sample packet data |
US6567379B1 (en) * | 1999-06-09 | 2003-05-20 | Cisco Technology, Inc. | Traffic monitor using leaky bucket with variable fill |
US7215637B1 (en) * | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US7193968B1 (en) * | 2001-02-08 | 2007-03-20 | Cisco Technology, Inc. | Sample netflow for network traffic data collection |
US6901052B2 (en) * | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
US7512980B2 (en) * | 2001-11-30 | 2009-03-31 | Lancope, Inc. | Packet sampling flow-based detection of network intrusions |
US7213264B2 (en) | 2002-01-31 | 2007-05-01 | Mazu Networks, Inc. | Architecture to thwart denial of service attacks |
JP4341413B2 (ja) * | 2003-07-11 | 2009-10-07 | 株式会社日立製作所 | 統計収集装置を備えたパケット転送装置および統計収集方法 |
US7653007B2 (en) * | 2004-06-04 | 2010-01-26 | Alcatel-Lucent Usa Inc. | Per-flow traffic estimation |
JP4392294B2 (ja) * | 2004-06-15 | 2009-12-24 | 株式会社日立製作所 | 通信統計収集装置 |
US7411910B1 (en) * | 2004-07-06 | 2008-08-12 | Juniper Networks, Inc. | Systems and methods for automatic provisioning of data flows |
US20070019548A1 (en) * | 2005-07-22 | 2007-01-25 | Balachander Krishnamurthy | Method and apparatus for data network sampling |
US20070027984A1 (en) * | 2005-07-29 | 2007-02-01 | Jorgensen Steven G | Monitoring of network packets |
US8121043B2 (en) | 2005-08-19 | 2012-02-21 | Cisco Technology, Inc. | Approach for managing the consumption of resources using adaptive random sampling |
US7782793B2 (en) * | 2005-09-15 | 2010-08-24 | Alcatel Lucent | Statistical trace-based methods for real-time traffic classification |
JP4759389B2 (ja) * | 2006-01-10 | 2011-08-31 | アラクサラネットワークス株式会社 | パケット通信装置 |
JP4774357B2 (ja) * | 2006-05-18 | 2011-09-14 | アラクサラネットワークス株式会社 | 統計情報収集システム及び統計情報収集装置 |
US8619766B2 (en) * | 2007-03-02 | 2013-12-31 | At&T Intellectual Property Ii, L.P. | Method and apparatus for classifying packets |
-
2007
- 2007-11-07 US US11/936,319 patent/US8072894B2/en active Active
-
2008
- 2008-08-22 CN CN200810214030.7A patent/CN101431474B/zh active Active
- 2008-11-05 EP EP08253615A patent/EP2058736A3/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567828A (zh) * | 2003-06-18 | 2005-01-19 | 中兴通讯股份有限公司 | 一种网络处理器对数据流量进行限速的方法 |
CN1822567A (zh) * | 2005-12-23 | 2006-08-23 | 清华大学 | 基于网络流量的多域网包分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101431474A (zh) | 2009-05-13 |
EP2058736A3 (en) | 2009-07-29 |
EP2058736A2 (en) | 2009-05-13 |
US8072894B2 (en) | 2011-12-06 |
US20090116398A1 (en) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431474B (zh) | 用于流监控的系统和方法 | |
JP4341413B2 (ja) | 統計収集装置を備えたパケット転送装置および統計収集方法 | |
US8284665B1 (en) | Flow-based rate limiting | |
JP4774357B2 (ja) | 統計情報収集システム及び統計情報収集装置 | |
EP2845350B1 (en) | Method and apparatus for providing tenant information for network flows | |
CA2698255C (en) | Intelligent collection and management of flow statistics | |
EP3735762B1 (en) | In-band telemetry with limited extra bytes | |
CN101827073B (zh) | 跟踪片段数据流 | |
CN101488925B (zh) | 一种利用网络流采集及统计虚拟专用网络流量的方法 | |
US7420929B1 (en) | Adaptive network flow analysis | |
CN108293025B (zh) | 通信网络中的流量监控 | |
CN111953553B (zh) | 一种报文的检测方法、设备及系统 | |
CN101626323A (zh) | 一种网络数据流量监测方法和装置 | |
CN112262554B (zh) | 包可编程流遥测剖析和分析 | |
CN101409649B (zh) | 嵌入式反应和主动型智能 | |
CN113328956B (zh) | 一种报文处理方法及装置 | |
KR101191251B1 (ko) | 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어방법 | |
CN113037542A (zh) | 一种基于软件定义网络的云网络拓扑构建方法 | |
KR101829881B1 (ko) | 플로우 관제 시스템, 컨트롤러 및 장애 검출 방법 | |
JP4871775B2 (ja) | 統計情報収集装置 | |
Cisco | Overview | |
Cisco | Overview | |
Cisco | Overview | |
Cisco | Overview | |
Cisco | Overview |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |