Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Automatically Inferring Patterns of Resource Consumption in Network Traffic In Proceedings of SIGCOMM 2003 Reviewed By Michael Attig http://www.acm.org/sigs/sigcomm/sigcomm2003/papers.html#p137-estan Authors: Cristian Estan, Stefan Savage, George Varghese Note: Portions of this presentation are from the author’s SIGCOMM presentation slides available at: http://www.cs.ucsd.edu/~cestan/ Attig 1 Organization • Motivation • Traffic Clusters • Algorithms – Unidimensional – Multidimensional • AutoFocus • Experimental Results • Conclusions Attig 2 Motivation • New applications new traffic patterns • Network Admins need to know how being used – provide better service – Reconfigure network elements to recognize traffic model • Difficult to know how being used, must infer characteristics • Currently use pre-defined list of patterns to identify – This paper focuses on the standard 5-tuple – Allows comparison to Cisco’s FlowScan Attig 3 Goals • Reduce the amount of detail in reports – Easier to read and act upon • Provide multiple dimensions to report / aggregate on – 1 dimension lose info – Example: If aggregate on protocol or src port fields, may conclude p2p in wide use, when only small set of hosts responsible • Need for Automation - detect/contain Worms/DoS – Network pushback needs automated technique to distinguish malicious flows Attig 4 How to report? • “top ten” – Could lose important info • Aggregate individual flows into common category (single dimension) – Choose wrong dimension lose important characteristics • Aggregate on multiple fields (multiple dimensions) – Better • Dynamically define traffic clusters to report Attig 5 Traffic Clusters • Traffic clusters are the multidimensional traffic aggregates identified by reports – Dimensionality – Detail – Utility • A cluster is defined by a range for each field • The ranges are from natural hierarchies (e.g. IP prefix hierarchy) – meaningful aggregates • Example – Traffic aggregate: incoming web traffic for a subnet – Traffic cluster: ( SrcIP=*, DestIP in 128.252.153.0/24, Proto=TCP, SrcPort=80, DestPort=high ) Attig 6 Traffic Reports • A list of clusters to be presented • Restrict what to report by volume • # bytes • # packets • Could restrict based on other criteria, they focus on volume Attig 7 What Must be done to report? • Compute – Identify clusters with a traffic volume above threshold, H • Compress – Remove cluster C if can infer it’s traffic from C’ • Compare – show how traffic changes over time • Prioritize – Sort in terms of potential level of interest – Use unexpectedness metric Attig 8 Algorithms • Core of AutoFocus tool • k = number of fields • Sets for each field form a natural hierarchy – parent always smallest superset of children – Leaves are individual values the field had – Root is set of all possible values (*) • di = depth of hierarchy of the i-th of the k fields • s = T/H, where T = total traffic, H = threshold – Think of this as the number of reports you can have • n = number flow records of input • m = number distinct values of the fields in the n flow records Attig 9 Data Source • Use simplified NetFlow records as raw data • Has key that specifies exact values for all 5 fields • Has two counters – One to count packets that matched key during measurement interval – One to count number of bytes in those packets Attig 10 Unidimensional Compute • Clusters can overlap • Bad Can have up to 1+20*25 = 501 reports – H = 5% s = 20, hierarchy size is 25+1 • Only consider prefixes of size 32 down to 8 • Number of reports of clusters above H at most 1 + (d-1)s • Two approaches: – When number of sets in hierarchy small, apply a brute force approach: keep count for each set and traverse all n flow records – At end, list clusters who exceed H Attig 11 Unidimensional Compute – Approach 2 • As go through flow records: – Build leaf nodes that correspond to IP addresses that actually appear in trace – Do trace updating counter of all leaf nodes • In second pass (post-order), determine which clusters over threshold H – Add traffic to that of its parent • Memory required is O(md) • Running time O(n + md) Attig 12 Unidimensional report example Threshold=100 Hierarchy 10.0.0.0/28 500 10.0.0.0/29 120 10.0.0.8/29 380 10.0.0.0/30 50 10.0.0.4/30 70 10.0.0.2/31 50 10.0.0.4/31 70 15 10.0.0.2 Attig 35 30 10.0.0.8/30 305 10.0.0.8/31 270 40 10.0.0.3 10.0.0.4 10.0.0.5 160 75 10.0.0.12/30 10.0.0. 10/31 110 10.0.0.8 10.0.0.9 35 75 10.0.0.14/31 35 75 10.0.0.10 10.0.0.14 13 Unidimensional Compress • Reduce redundant info – Example: a /30 network may have bit more traffic than /31 it covers, but not much • Reporting the /30 adds nothing to the report • Define compression threshold C as amount by which a cluster can be off (used C=H) • Trade-off: accuracy versus reduced size • The number of clusters above the threshold in a non-redundant compressed report is at most s. • Brings reports of previous example down to 20 instead of 501 Attig 14 Unidimensional report example Compression 10.0.0.0/29 120 10.0.0.0/28 500 Source IP Traffi c 10.0.0.8/29 380 380-270≥100 10.0.0.0/2 120 9 10.0.0.8/30 305 305-270<100 10.0.0.8/2 380 9 10.0.0.8/31 270 10.0.0.8 160 10.0.0.9 110 160 110 10.0.0.8 10.0.0.9 Attig 15 Unidimensional Compare • How has structure of traffic changed? • Absolute change – Number bytes or packets by which clusters increase/decrease – Only if measurement interval constant • Relative change – Comparison of traffic mixes over different measurement intervals – Must normalize for comparison • Do a pass over the trace to compute the exact traffic in both intervals • If estimate lower or larger by H than actual change, report - a compression step – Estimate based on reports already added to report Attig 17 Unidimensional Prioritize • Unexpectedness – deviation from an uniform model – Example • 50% of all traffic is web • Node B receives 20% of all traffic • The web traffic received by node B is 15% instead of 50%*20%=10% • unexpectedness label is 15%/10%=150% – This is used to flag interesting data in a report Attig 18 Multidimensional Structure Example Nodes (clusters) have multiple parents Source net Nodes (clusters) overlap Application All traffic US All traffic US EU CA CA NY Web GB Web Mail DE US Web Attig 19 Another way to understand multi-dim. case decreasing x-specificity x hierarchy decreasing y-specificity y hierarchy “leaf”nodes Attig “root”node 20 Pruning the hierarchy significant 1d nodes potentially significant 2d nodes y hierarchy x hierarchy Attig 21 Multidimensional Compute • For each cluster, examine n flows and report those above the threshold • Can’t do brute force – ~ n P di clusters – Evaluate all clusters generated by n flows? Too many! • Restrict search based on optimizations that prune search space – Consider only if all unidimensional ancestors above H • Solve k unidimensional problems – Combine clusters Attig 22 Greedy compression algorithm •Add estimate counters of children along all dimensions •Set this node’s estimate to largest of sums •If above threshold, report Attig 23 System: AutoFocus Cluster miner names Grapher Traffic parser Web based GUI categories Packet header trace Attig 24 Attig 25 Experience • Small network exchange point – SD-NAP • Slammer Worm •Worm traffic separated (black) Uncharacterized spike in “other” category indicates something fishy Attig 26 Analysis of unusual events • UCSD to UCLA route change • Sapphire/SQL Slammer worm Site 2 Attig 27 Conclusions • Multidimensional traffic clusters using natural hierarchies describe traffic aggregates • Traffic reports using thresholding identify automatically conspicuous resource consumption at the right granularity • Compression produces compact traffic reports and unexpectedness labels highlight non-obvious aggregates • Their prototype system, AutoFocus, provides insights into the structure of regular traffic and unexpected events Attig 28