WO2010037308A1 - Systems and methods for determining top spreaders - Google Patents

Systems and methods for determining top spreaders Download PDF

Info

Publication number
WO2010037308A1
WO2010037308A1 PCT/CN2009/073852 CN2009073852W WO2010037308A1 WO 2010037308 A1 WO2010037308 A1 WO 2010037308A1 CN 2009073852 W CN2009073852 W CN 2009073852W WO 2010037308 A1 WO2010037308 A1 WO 2010037308A1
Authority
WO
WIPO (PCT)
Prior art keywords
hosts
unit
flow number
determining
count
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.)
Ceased
Application number
PCT/CN2009/073852
Other languages
French (fr)
Inventor
Xingang Shi
Dah-Ming Chiu
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.)
Chinese University of Hong Kong CUHK
Original Assignee
Chinese University of Hong Kong CUHK
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 Chinese University of Hong Kong CUHK filed Critical Chinese University of Hong Kong CUHK
Priority to HK11111683.6A priority Critical patent/HK1158849B/en
Priority to CN200980135731.4A priority patent/CN102150394B/en
Priority to US13/119,402 priority patent/US8681628B2/en
Publication of WO2010037308A1 publication Critical patent/WO2010037308A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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/026Capturing of monitoring data using flow identification
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error

Definitions

  • the disclosure of the application is related to systems and methods for determining top spreaders in high speed networks.
  • top spreaders Efficiently and accurately identifying hosts that are spreading the largest amount of flows during an interval of time, so called top spreaders, is very important for managing a network and studying host behaviors on application level, ranging from detecting DDoS attack, worm propagation, peer-to-peer hot spots and flash crowds. No previous work has been able to efficiently and accurately identify the top spreaders at very high link speed, for example, 10 to 40 Gbps.
  • the present invention application aims to propose a system and method to not only accurately identify the top spreaders, but also accurately estimate their spreading out cardinality, that is, the flow number of each identified top spreader.
  • a method for determining top spreaders from a plurality of hosts comprising: an identifier configured to receive a plurality of packets from the hosts during an interval of time and comprising: a difference determination unit configured to determine a difference between a count and a count error for each host based on the received packets; and an identifying unit configured to rank the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and an estimator configured to select a second set of hosts from the first set of hosts as the top spreaders.
  • a method for determining top spreaders from a plurality of hosts comprising: sampling a plurality of packets from the hosts during an interval of time; determining a difference between a count and a count error for each of the hosts based on the sampled packets; ranking the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and selecting a second set of hosts from the first set of hosts as the top spreaders.
  • it can work on the highest speed link that is 40Gbps. It can handle millions of flows and hundreds of thousands of hosts with very limited memory, for example, only 700KB memory is needed for 8M flows and 200K hosts.
  • FIG. 1 is a block diagram schematically illustrating a system for determining top spreaders according to one embodiment of the application
  • FIG. 2 is a block diagram schematically illustrating the structure of the identifier of the system as shown in Fig.l;
  • Fig. 3 is a block diagram schematically illustrating the structure of the estimator of the system as shown in Fig.1 ;
  • FIG. 4 is a block diagram schematically illustrating the structure of the filter of the system as shown in Fig.1 ;
  • FIG. 5 is a system block diagram schematically illustrating the architecture with data structures for the system as shown in Fig.1 , wherein some units therein are omitted for the purpose of clarity;
  • Fig. 6 is a flow diagram schematically illustrating a processing of computing the final flow number for host s.
  • Fig. 7 is a flow diagram schematically illustrating the algorithm of adjusting the flow number for host s .
  • Fig. 8 is a flow diagram schematically illustrating a processing for determining top spreaders according to one embodiment of the application.
  • a system 1000 for determining top spreaders from a plurality of hosts in high speed network comprises an identifier 10 and an estimator 20.
  • the identifier 10 operates to receive packets from data flows of c hosts in the network in a period of time, where c is the number of the hosts.
  • the identification information for the hosts and data flows i.e. host ID and flow ID, may be defined by any combination of fields in packet header, for example, IP address, port, protocol, and TCP flags.
  • source address s is used as host ID
  • other fields in the packet header should be used to represent the host ID and flow ID, respectively.
  • the identifier 10 comprises a hash table 101, a min-heap 102, a counting unit 103, a difference determination unit 104, an identifying unit 105 and an updating unit 106.
  • a key of a node in the hash table 101 is host ID
  • a value of a node in the hash table 101 is a corresponding position of the node in the min-heap 102.
  • Each node in the min-heap 102 has three fields, a host ID, a count, and a count error. At the beginning of the period of time, all the fields regarding the count and count error in the heap 102 are set to be zero.
  • the counting unit 103 For each arrival packet with a host ID s and a flow YDf, the counting unit 103 operates to check, through the hash table 101, if s is now counted by identifier 10, that is, to check whether s exists in the hash table 101 as a key.
  • the difference determination unit 104 operates to calculate the flow number M s for the host with ID s by the following equation:
  • the identifying unit 105 operates to determine whether M 5 is above an estimating threshold T 2 .
  • the estimating threshold T 2 may be set as a small integer number, e.g. 2-5. If it is, the identifying unit 105 determines that the host with the M s may be a potential super spreader, after which an updating command will be sent by the identifying unit
  • all the hosts with the flow number being above T 2 are ranked by the identifying unit 105 according to the calculated flow numbers in a descending or ascending order.
  • the top-2& hosts in the ranked hosts are identified as potential top spreaders, where k is an integer. Although theoretically, k can be selected from 1 to the total number of hosts, here it only considers the situation where k is a small constant number, e.g. 10 or 20, when the network management and security is concerned.
  • the identifier 10 is also configured with an updating unit
  • the estimator 20 is used to select top-k hosts from the top-2& potential top spreader identified by identifier 10.
  • the estimator 20 includes a first counter 201 configured with w*n counting units (n columns, each column has w counting units), with each counting unit represented by for example, 5 bits.
  • the estimator 20 also includes a first selecting unit 202, an estimating unit 203, a first determining unit 204, a first adjusting unit 205, a second adjusting unit 206, a second determining unit 207, a second selecting unit 208 and an updating unit 209.
  • the updating unit 209 is used to updating the first counter 201.
  • the first selecting unit 202 operates to select corresponding / columns of the counting units from the first counter 201 based on the ID s.
  • the first selecting unit 202 is configured with / calculating units. Different calculating units may use different hash functions which can compute for example, 32 bits hash results, and each calculating unit is configured to use a hash function to select a column of counting units from the first counter 201 by the following equation.
  • column s represents the selected column of the counting unit where an input parameter is the host ID s.
  • step S602 the estimating unit 203 operates to select a minimal one from the selected three columns and M A3 CS)[Z]) in the same level as the estimation counter by the following equation,
  • Q ⁇ represents a bias correction parameter.
  • the value of a w may be approximated by 0.72134 as proposed by P. Flajolet etc. in "Hyperloglog: The analysis of a near-optimal cardinality estimation algorithm", In Proc. of the 2007 International Conference on Analysis of Algorithms (AofA'07), June 2007.
  • the first determining unit 204 operates to determine whether the estimated number Ms is less than, for example, 2.5w, wherein w is the number of counting units in each column in the first counter 201. If it is the case, the first adjusting unit 205 operates to adjust Ms using an algorithm as illustrated in Fig.7 which will be discussed as below. Otherwise, M 5 needs no adjustment.
  • step S6041 the first adjusting unit 205 operates to translate M / , 3(JS) [Z] into 3 bitmaps B 1 , B 2 , B 3 by the following equation:
  • step S6043 the first adjusting unit 205 operates to count empty bits in Bi-B 7 as E 1 -E 7 , and then in step S6044 determine whether E1-E7 > 0. If it is the case, the first adjusting unit 205 adjusts the number M s by the following rule in step S6045.
  • step S605 the second adjusting unit 206 operates to further add a adjust value l/r> ⁇ r 2 to the adjusted flow number M s , where r is the flow sampling rate.
  • step S606 the second determining unit 207 operates to determine whether the adjusted number M s is less than another threshold IwIr.
  • the second selecting unit 208 selects the flow number of s based on the determination and outputs the top-k hosts with the largest flow numbers as the top spreaders. Specifically, in the case that the adjusted number Ms is less than 2w/r, the Ms is determined as the flow number of s in step S 607; otherwise, the difference count s -err s is used as the flow number of s in step S608.
  • the system 100 further comprises a filter 30 configured to sample packets from data flows of hosts in the network in the period of time, and for each sampled packet it provides a flow number increment to update the identifier 10.
  • the filter 30 is configured with a sampling unit 301, a determining unit 302 and a filtering unit 303.
  • the sampling unit 301 operates to sample the arrival packets and to calculate a value of V/based on the flow ID/by the following equation:
  • h() is a uniform hash function that may calculate, for example, a hash result of 32 bits.
  • An array F of m bits is arranged in the filtering unit 303. At the beginning of the sampling, all bits of the array are set to be zero.
  • the processing for updating the identifier 10 may use any known top-A: element methods, for example, the Space-Saving algorithm proposed by Metwally, 2006. Specifically, it is supposed that the increment value is mle for the host s, then the updating unit 106 operates to add mle to the count of s in the heap 102 if s is in the table 101; or find the key s mm which has the minimal count value count m ⁇ n in the min-heap 102, set the corresponding err value in the min-heap 102 to be count m ⁇ n , increase count m ⁇ n by mle, replace the ID s m ⁇ n in the min-heap 102 with s, and replace the node corresponding to s m ⁇ n in the hash table 101 by a new node corresponding to s.
  • top-A element methods
  • a plurality of packets from the plurality of hosts during an interval of time is sampled, for example, with the filter 30, and the estimator 20 is updated as discussed above.
  • a difference between a count and a count error for each host is determined based on each sampled packet.
  • the hosts are ranked based on the determined difference so as to identify the top-2& hosts in the ranked hosts.
  • top-A hosts is selected from the top-2& hosts as the top spreaders, which is illustrated in Fig. 6 and the detailed discussion thereof is omitted.
  • the above disclosed system 1000 may be implemented by software, hardware, firmware and any combination thereof.
  • the processing 2000 may be carried out for example by the system 1000.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed are a method and a system for determining top spreaders in high speed network. The method may comprise: sampling a plurality of packets from the plurality of hosts during an interval of time; determining a difference between a count and a count error for each host based on the sampled packets; ranking the hosts based on the determined difference to identify a first set of hosts that are top in the ranked hosts; and selecting a second set of hosts from the first set of hosts as the top spreaders.

Description

SYSTEMS AND METHODS FOR DETERMINING TOP SPREADERS
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of US provisional Application No. 61/101,522 filed on September 30, 2008, of which the contents are incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION
1. Technical Field
[0002] The disclosure of the application is related to systems and methods for determining top spreaders in high speed networks.
2. Related Prior Art
[0003] Efficiently and accurately identifying hosts that are spreading the largest amount of flows during an interval of time, so called top spreaders, is very important for managing a network and studying host behaviors on application level, ranging from detecting DDoS attack, worm propagation, peer-to-peer hot spots and flash crowds. No previous work has been able to efficiently and accurately identify the top spreaders at very high link speed, for example, 10 to 40 Gbps.
[0004] There has been a lot of work on measurement of traffic statistics for network management, security, and better understanding of internet and its evolvement. The size distribution and matrices of the flows may help network provisioning and traffic engineering. Finding flows that have a large number of packets is useful in billing and accounting. It has also been shown that flow level communication patterns may further reveal application level behaviors of each host.
[0005] To tell whether a host is a top spreader, it always needs to test if a flow count of the host is above a threshold according to one known method in the art. However, it's difficult to fix such a threshold. Even if the threshold can be fixed, there will be either too many or too few top spreaders. For most situations, it should be more interested in only a few top spreaders and their accurate flow numbers. However, no previous work has been able to accurately identify top spreaders on very high speed links in a large network, for example, under the speed of 10 to 40 Gbps, where the total host number is around hundred of thousands and the total flow number is around several millions, which happen on ISP backbone links.
SUMMARY OF THE INVENTION
[0006] The present invention application aims to propose a system and method to not only accurately identify the top spreaders, but also accurately estimate their spreading out cardinality, that is, the flow number of each identified top spreader.
[0007] In an aspect, there is disclosed a method for determining top spreaders from a plurality of hosts, comprising: an identifier configured to receive a plurality of packets from the hosts during an interval of time and comprising: a difference determination unit configured to determine a difference between a count and a count error for each host based on the received packets; and an identifying unit configured to rank the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and an estimator configured to select a second set of hosts from the first set of hosts as the top spreaders.
[0008] In other aspect, there is disclosed a method for determining top spreaders from a plurality of hosts, comprising: sampling a plurality of packets from the hosts during an interval of time; determining a difference between a count and a count error for each of the hosts based on the sampled packets; ranking the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and selecting a second set of hosts from the first set of hosts as the top spreaders. [0009] According to the invention, it can work on the highest speed link that is 40Gbps. It can handle millions of flows and hundreds of thousands of hosts with very limited memory, for example, only 700KB memory is needed for 8M flows and 200K hosts. There is almost no error on the identified top 20 spreaders, and the relative error of the estimated flow numbers of these top spreaders are typically around 3%, and much smaller for more skewed data. No previous work can get such high efficiency and accuracy. The method is very easy to implement by modest hardware support and efficiently provides very accurate information to help these applications on very high speed large networks.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Fig. 1 is a block diagram schematically illustrating a system for determining top spreaders according to one embodiment of the application;
[0011] Fig. 2 is a block diagram schematically illustrating the structure of the identifier of the system as shown in Fig.l;
[0012] Fig. 3 is a block diagram schematically illustrating the structure of the estimator of the system as shown in Fig.1 ;
[0013] Fig. 4 is a block diagram schematically illustrating the structure of the filter of the system as shown in Fig.1 ;
[0014] Fig. 5 is a system block diagram schematically illustrating the architecture with data structures for the system as shown in Fig.1 , wherein some units therein are omitted for the purpose of clarity;
[0015] Fig. 6 is a flow diagram schematically illustrating a processing of computing the final flow number for host s.
[0016] Fig. 7 is a flow diagram schematically illustrating the algorithm of adjusting the flow number for host s ; and
[0017] Fig. 8 is a flow diagram schematically illustrating a processing for determining top spreaders according to one embodiment of the application.
DETAILED DESCRIPTION OF THE INVENTION [0018] Hereinafter, a detailed description of embodiments in the present application will be given with reference to the appended drawings.
[0019] As shown in Fig.l, a system 1000 for determining top spreaders from a plurality of hosts in high speed network comprises an identifier 10 and an estimator 20.
[0020] The identifier 10 operates to receive packets from data flows of c hosts in the network in a period of time, where c is the number of the hosts. The identification information for the hosts and data flows, i.e. host ID and flow ID, may be defined by any combination of fields in packet header, for example, IP address, port, protocol, and TCP flags. In one embodiment of the application, source address s is used as host ID, and the flow ID is represented by the 5-tuple/=<srcIP, destIP, srcPort, destPort, proto>. Those skilled in the art should understand that the invention should not be limited thereto, other fields in the packet header should be used to represent the host ID and flow ID, respectively.
[0021] The identifier 10 comprises a hash table 101, a min-heap 102, a counting unit 103, a difference determination unit 104, an identifying unit 105 and an updating unit 106.
[0022] As shown in Fig.2, a key of a node in the hash table 101 is host ID, and a value of a node in the hash table 101 is a corresponding position of the node in the min-heap 102. Each node in the min-heap 102 has three fields, a host ID, a count, and a count error. At the beginning of the period of time, all the fields regarding the count and count error in the heap 102 are set to be zero.
[0023] For each arrival packet with a host ID s and a flow YDf, the counting unit 103 operates to check, through the hash table 101, if s is now counted by identifier 10, that is, to check whether s exists in the hash table 101 as a key.
[0024] If s exists in the hash table 101, the difference determination unit 104 operates to calculate the flow number Ms for the host with ID s by the following equation:
Ms=counts-errs 1)
[0025] And then, the identifying unit 105 operates to determine whether M5 is above an estimating threshold T2. Typically, the estimating threshold T2 may be set as a small integer number, e.g. 2-5. If it is, the identifying unit 105 determines that the host with the Ms may be a potential super spreader, after which an updating command will be sent by the identifying unit
105 to the estimator 20 to carry out an updating processing, which will be discussed hereinafter.
[0026] At the end of the intended measurement period, all the hosts with the flow number being above T2 are ranked by the identifying unit 105 according to the calculated flow numbers in a descending or ascending order. The top-2& hosts in the ranked hosts are identified as potential top spreaders, where k is an integer. Although theoretically, k can be selected from 1 to the total number of hosts, here it only considers the situation where k is a small constant number, e.g. 10 or 20, when the network management and security is concerned.
[0027] As shown in Fig. 2, the identifier 10 is also configured with an updating unit
106 for updating the hash table 101 and the heap 102, which will be discussed hereinafter. [0028] The estimator 20 is used to select top-k hosts from the top-2& potential top spreader identified by identifier 10.
[0029] The estimator 20 includes a first counter 201 configured with w*n counting units (n columns, each column has w counting units), with each counting unit represented by for example, 5 bits.
[0030] As shown in Fig. 3, besides the first counter 201, the estimator 20 also includes a first selecting unit 202, an estimating unit 203, a first determining unit 204, a first adjusting unit 205, a second adjusting unit 206, a second determining unit 207, a second selecting unit 208 and an updating unit 209. The updating unit 209 is used to updating the first counter 201.
[0031] The processing for estimating the flow number for the host s with the units 201-208 will be firstly discussed in reference to Fig.6 as below, and the updating processing of the updating unit will be discussed latter.
[0032] Referring to Fig. 6, in step S601, for the host with ID s, the first selecting unit 202 operates to select corresponding / columns of the counting units from the first counter 201 based on the ID s. In the embodiment, for the purpose of illustration, three columns of the counting units are selected (i.e., 1=3).
[0033] As is shown in Fig.5, the first selecting unit 202 is configured with / calculating units. Different calculating units may use different hash functions which can compute for example, 32 bits hash results, and each calculating unit is configured to use a hash function to select a column of counting units from the first counter 201 by the following equation. columns=hi(s) for i = 1 to / 2)
Where columns represents the selected column of the counting unit where an input parameter is the host ID s.
[0034] In step S602, the estimating unit 203 operates to select a minimal one from the selected three columns
Figure imgf000007_0001
and MA3CS)[Z]) in the same level as the estimation counter by the following equation,
Ms[i] = min(MA1(j)[/], Mh2(s)[i], M«ω[/]) for i = 1 to w 3)
[0035] In step S603, the estimating unit 203 operates to estimate the flow number Ms, for example, by the following equation, Ms=aw Xw2 χ( yj=1 w2-Mi['1)"1 for i = 1 to w 4)
[0036] where Q^ represents a bias correction parameter. For example, the value of aw may be approximated by 0.72134 as proposed by P. Flajolet etc. in "Hyperloglog: The analysis of a near-optimal cardinality estimation algorithm", In Proc. of the 2007 International Conference on Analysis of Algorithms (AofA'07), June 2007. hi step S604, the first determining unit 204 operates to determine whether the estimated number Ms is less than, for example, 2.5w, wherein w is the number of counting units in each column in the first counter 201. If it is the case, the first adjusting unit 205 operates to adjust Ms using an algorithm as illustrated in Fig.7 which will be discussed as below. Otherwise, M5 needs no adjustment.
[0037] As shown in Fig.7, in step S6041, the first adjusting unit 205 operates to translate
Figure imgf000008_0001
M/,3(JS)[Z] into 3 bitmaps B1, B2, B3 by the following equation:
Figure imgf000008_0002
[0038] In step S6042, set B4=(B1 or B2), B5=(B1 or B3), B6=(B2 or B3), B7=(Bi or B2 or B3). And then in step S6043, the first adjusting unit 205 operates to count empty bits in Bi-B7 as E1-E7, and then in step S6044 determine whether E1-E7 > 0. If it is the case, the first adjusting unit 205 adjusts the number Ms by the following rule in step S6045.
M, = Ui(Hf1) + Mg) + Mg) - Mg) - Mg) - Mg) + Mg)) 6)
[0039] Returning to Fig. 6, in step S605, the second adjusting unit 206 operates to further add a adjust value l/r><r2 to the adjusted flow number Ms, where r is the flow sampling rate.
[0040] Then in step S606, the second determining unit 207 operates to determine whether the adjusted number Ms is less than another threshold IwIr.
[0041] Next, the second selecting unit 208 selects the flow number of s based on the determination and outputs the top-k hosts with the largest flow numbers as the top spreaders. Specifically, in the case that the adjusted number Ms is less than 2w/r, the Ms is determined as the flow number of s in step S 607; otherwise, the difference count s-errs is used as the flow number of s in step S608.
[0042] Referring to Fig. 1 again, the system 100 further comprises a filter 30 configured to sample packets from data flows of hosts in the network in the period of time, and for each sampled packet it provides a flow number increment to update the identifier 10. As shown in Fig. 4, the filter 30 is configured with a sampling unit 301, a determining unit 302 and a filtering unit 303.
[0043] The sampling unit 301 operates to sample the arrival packets and to calculate a value of V/based on the flow ID/by the following equation:
Vf= hφ 7)
Where h() is a uniform hash function that may calculate, for example, a hash result of 32 bits.
[0044] An array F of m bits is arranged in the filtering unit 303. At the beginning of the sampling, all bits of the array are set to be zero.
[0045] The determining unit 302 operates to determine whether the calculated Vf is less than a predetermined sampling threshold T\. If yes, this packet is sampled, and then filter 30 checks ¥[Vf]. If F[Ff]=O, then it operates to set F[Py]=I, and send an updating command with a increment value to the identifier 10 to carry out an updating processing, which will be discussed as below. Specifically, if the number of empty bits in the array F in the filtering unit 303 is e, then the increment value should be mle.
[0046] Hereinafter, the updating processing for the identifier 10 and estimator 20 will be discussed, respectively.
1. Processing for updating the identifier 10
[0047] In the embodiment, the processing for updating the identifier 10 may use any known top-A: element methods, for example, the Space-Saving algorithm proposed by Metwally, 2006. Specifically, it is supposed that the increment value is mle for the host s, then the updating unit 106 operates to add mle to the count of s in the heap 102 if s is in the table 101; or find the key smm which has the minimal count value countmιn in the min-heap 102, set the corresponding err value in the min-heap 102 to be count mιn, increase countmιn by mle, replace the ID smιn in the min-heap 102 with s, and replace the node corresponding to smιn in the hash table 101 by a new node corresponding to s.
2. Processing for updating the estimator 20
[0048] When the identifying unit 103 in the identifier 10 determines that Ms is higher than the estimating threshold T2, the updating unit 209 in the estimator 20 operates to select three calculating units in the first selecting units 202, represented as MAI (_■> M^^ and M/,.?^), and set counter Mhi(S)[Vf]=max(Mhl(s)[Vf], p(Vf)), where p(h(J)) is the position of the leftmost 1 in binary presentation of Vf.
[0049] Hereinafter, a processing 2000 for determining top spreaders from a plurality of hosts will be discussed in reference to Fig. 8.
[0050] At step S801, a plurality of packets from the plurality of hosts during an interval of time is sampled, for example, with the filter 30, and the estimator 20 is updated as discussed above. At step S802, a difference between a count and a count error for each host is determined based on each sampled packet. At step S803, the hosts are ranked based on the determined difference so as to identify the top-2& hosts in the ranked hosts. At step S804, top-A: hosts is selected from the top-2& hosts as the top spreaders, which is illustrated in Fig. 6 and the detailed discussion thereof is omitted.
[0051] The above disclosed system 1000 may be implemented by software, hardware, firmware and any combination thereof. The processing 2000 may be carried out for example by the system 1000. On the case that the system 1000 is implemented by software, the parameters may be chosen as: m=223, w=256, «=1000 and c=1000, then it costs around 700KB memory, and may be installed in high speed memory such as SRAM.
[0052] In addition, since the identifier 10 is configured with a min-heap 102, it needs at most 21ogc memory operations to update a count in the heap 102. When c=1000, this value is 20, so it may use a flow sampling rate of 1/16 such that less than 2 memory operations are needed on average, and can handle 40Gbps by SRAM. To handle extreme situations when flows come in burst and flow sampling select continuous flows, a small buffer can be used to temporarily save update information.
[0053] Moreover, the inventors have conducted experiments on various data, including synthetic data and real traffic traces. There is almost no error on identified top spreaders, the relative error of estimated flow number is typically less than 3%, and is much smaller for more skewed data. The maximum flow number we are dealing with is 8M, the maximum number of hosts is 200K, and the memory cost is at most 700KB.
[0054] The present application is not limited to the embodiments mentioned above. Other embodiments obtained by the skilled in the art according to the technical solutions in the present application should be within the scope of the technical innovation of the present application.

Claims

L A system for determining top spreaders from a plurality of hosts, comprising: an identifier configured to receive a plurality of packets from the hosts during an interval of time and comprising: a difference determination unit configured to determine a difference between a count and a count error for each host based on the received packets; and an identifying unit configured to rank the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and an estimator configured to select a second set of hosts from the first set of hosts as the top spreaders.
2. A system of claim 1, wherein the identifier further comprises: a counting unit configured to count the received packets so as to obtain the count and the count error.
3. A system of claim 1, wherein the count and the count error are arranged in a min-heap in the identifier.
4. A system of claim 1, wherein the estimator further comprises: a first counter (201) configured with a plurality of counting units; a first selecting unit (202) configured to select at least one counting unit from the plurality of counting units; an estimating unit (203) configured to select the minimal one counting unit from said at least one counting unit to estimate a flow number for each of the second set of hosts; and a second selecting unit (208) configured to select the second set of hosts based on the estimated flow number.
5. A system of claim 4, wherein the estimator further comprises a first determining unit (204) and a first adjusting unit (205), wherein the first determining unit (204) is configured to determine whether the estimated flow number is less than a first predetermined threshold; and if it is the case, the first adjusting unit (205) operates to adjust the estimated flow number.
6. A system of claim 4, wherein the estimator further comprises: a second adjusting unit (206) configured to further adjust the adjusted flow number by a predetermined rule; and wherein the second selecting unit (208) is further configured to select the second set of hosts based on the adjusted flow number.
7. A system of claim 6, wherein the predetermined rule is such that the second adjusting unit (206) add a adjust value to the adjusted flow number, where the adjust value is associated with a sampling rate of the system.
8. A system of claim 6, wherein the second selecting unit (208) is configured to select the second set of hosts with the adjusted flow number by following rule: determining the flow number adjusted by the second adjusting unit (206) as a final flow number, if the adjusted flow number adjusted by the second adjusting unit (206) is less than a second predetermined threshold; where the second threshold is associated with the pluralities of counting units and a sampling rate of the system; otherwise, determining said difference as a final flow number; and selecting the second set of hosts with the largest final flow numbers.
9. A system of claim 1, further comprising: a filter configured to determine a first packet of a flow consisting of a plurality of packets from the hosts so as to determine the interval of time.
10. A system of claim 9, wherein the filter is further configured to determine whether to update the identifier; and wherein the identifier further comprises: a heap configured to maintain information of each of the packets; and an updating unit configured to update the information based on the determination of the filter.
11. A system of claim 4, wherein the estimator further comprises: an updating unit configured to update the counting units.
12. A method for determining top spreaders from a plurality of hosts, comprising: sampling a plurality of packets from the hosts during an interval of time; determining a difference between a count and a count error for each of the hosts based on the sampled packets; ranking the hosts based on the determined difference to identify a first set of hosts in the ranked hosts; and selecting a second set of hosts from the first set of hosts as the top spreaders.
13. A method of claim 12, wherein the selecting further comprises: calculating a flow number of each of the first set of hosts; ranking the first set of hosts by the calculated flow numbers; and selecting at least one host from the ranked hosts as the top spreaders.
14. A method of claim 13, wherein the calculating further comprises: estimating the flow number for each of the first set of hosts; adjusting the estimated flow number, if the estimated flow number is less than a first predetermined value; determining the adjusted flow number as the flow number if the adjusted number is less than a second predetermined value; or determining the difference as the flow number if the adjusted number is equal to or larger than the second predetermined value.
PCT/CN2009/073852 2008-09-30 2009-09-10 Systems and methods for determining top spreaders Ceased WO2010037308A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
HK11111683.6A HK1158849B (en) 2008-09-30 2009-09-10 Systems and methods for determining top spreaders
CN200980135731.4A CN102150394B (en) 2008-09-30 2009-09-10 System and method for determining host sending most data streams
US13/119,402 US8681628B2 (en) 2008-09-30 2009-09-10 Systems and methods for determining top spreaders

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10152208P 2008-09-30 2008-09-30
US61/101,522 2008-09-30

Publications (1)

Publication Number Publication Date
WO2010037308A1 true WO2010037308A1 (en) 2010-04-08

Family

ID=42073009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/073852 Ceased WO2010037308A1 (en) 2008-09-30 2009-09-10 Systems and methods for determining top spreaders

Country Status (3)

Country Link
US (1) US8681628B2 (en)
CN (1) CN102150394B (en)
WO (1) WO2010037308A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308554B (en) * 2009-02-06 2014-03-12 香港中文大学 System and method for capturing host with maximum number of streamlets
JP5962269B2 (en) * 2012-07-09 2016-08-03 富士通株式会社 Evaluation device, distributed storage system, evaluation method and evaluation program
CN105306436B (en) * 2015-09-16 2016-08-24 广东睿江云计算股份有限公司 A kind of anomalous traffic detection method
US11296960B2 (en) 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11176157B2 (en) 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11140090B2 (en) * 2019-07-23 2021-10-05 Vmware, Inc. Analyzing flow group attributes using configuration tags
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
US12015591B2 (en) 2021-12-06 2024-06-18 VMware LLC Reuse of groups in security policy
CN115766528B (en) * 2022-11-14 2024-03-26 西南科技大学 Top-K elephant flow detection method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822548A (en) * 2006-03-24 2006-08-23 南京邮电大学 Distributed traffic management method based on peer-to-peer network
US20080273461A1 (en) * 2005-03-29 2008-11-06 International Business Machines Corporation Network system, traffic balancing method, network monitoring device and host
CN101309179A (en) * 2007-05-18 2008-11-19 北京启明星辰信息技术有限公司 Real-time flux abnormity detection method on basis of host activity and communication pattern analysis

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9810376D0 (en) * 1998-05-15 1998-07-15 3Com Technologies Ltd Computation of traffic flow by scaling sample packet data
US6798746B1 (en) * 1999-12-18 2004-09-28 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
US6947381B2 (en) * 2001-04-30 2005-09-20 Network Physics, Inc. Method for reducing packet loss by phase transition identification in communication networks
US7397766B2 (en) * 2004-03-31 2008-07-08 Lucent Technologies Inc. High-speed traffic measurement and analysis methodologies and protocols
US20060056308A1 (en) * 2004-05-28 2006-03-16 International Business Machines Corporation Method of switching fabric for counteracting a saturation tree occurring in a network with nodes
CN1838607A (en) * 2005-03-23 2006-09-27 中国人民解放军理工大学 High-speed detection and control mechanism for preventing network DoS attack
CN101047416B (en) * 2006-06-15 2011-09-28 华为技术有限公司 Data transmission system and method
US7733805B2 (en) * 2007-07-25 2010-06-08 Brocade Communications Systems, Inc. Method and apparatus for determining bandwidth-consuming frame flows in a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080273461A1 (en) * 2005-03-29 2008-11-06 International Business Machines Corporation Network system, traffic balancing method, network monitoring device and host
CN1822548A (en) * 2006-03-24 2006-08-23 南京邮电大学 Distributed traffic management method based on peer-to-peer network
CN101309179A (en) * 2007-05-18 2008-11-19 北京启明星辰信息技术有限公司 Real-time flux abnormity detection method on basis of host activity and communication pattern analysis

Also Published As

Publication number Publication date
CN102150394B (en) 2014-06-18
CN102150394A (en) 2011-08-10
HK1158849A1 (en) 2012-07-20
US8681628B2 (en) 2014-03-25
US20110170413A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
WO2010037308A1 (en) Systems and methods for determining top spreaders
US8028055B2 (en) Optimal combination of sampled measurements
Raiciu et al. Coupled congestion control for multipath transport protocols
KR100402979B1 (en) Improving system preformance in a data network through queue management based on ingress rate monitoring
US7558202B2 (en) Estimating available bandwidth with multiple overloading streams
EP1583281B1 (en) High-speed traffic measurement and analysis methodologies and protocols
EP2222025A1 (en) Methods and apparatus for determining and displaying WAN optimization attributes for individual transactions
US20130031240A1 (en) Capacity Evaluation of Computer Network Capabilities
US7460487B2 (en) Accelerated per-flow traffic estimation
US7738377B1 (en) Method and apparatus for volumetric thresholding and alarming on internet protocol traffic
US8045470B2 (en) Method and monitoring system for sample-analysis of data comprising a multitute of data packets
US7653007B2 (en) Per-flow traffic estimation
JP5862811B1 (en) Evaluation apparatus, evaluation method, and program
Zou et al. Achieving high utilization of flowlet-based load balancing in data center networks
EP2938028A1 (en) Communication node, control device, method for managing control information entries, and program
US8195710B2 (en) Method for summarizing data in unaggregated data streams
US10749765B2 (en) Method and system for monitoring communication in a network
Turkovic et al. Detecting heavy hitters in the data-plane
US7957272B2 (en) Method and apparatus for coincidence counting for estimating flow statistics
US9112771B2 (en) System and method for catching top hosts
Siekkinen et al. Root cause analysis for long-lived TCP connections
WO2023040366A1 (en) Icmp-based vpn acceleration channel network quality detection system
HK1158849B (en) Systems and methods for determining top spreaders
Yan et al. Improving passive estimation of TCP round-trip times using TCP timestamps
JP2007243371A (en) Method and system for estimating different number N key

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980135731.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09817222

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13119402

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09817222

Country of ref document: EP

Kind code of ref document: A1