dShark: A General, Easy to Program and Scalable Framework for Analyzing In-network
summary
dShark provides a MapReduce-like pipeline that parses mirrored packets into compact summaries using a JSON declarative spec and runs per-group analysis with C++ per-group UDFs, correlating instances despite middlebox-added headers. It tolerates capture noise by using TCP-seq evidence, implements 18 ready apps, and processes >10 Mpps on a single commodity server with near-linear scale to ~26.4 Mpps (16 passers, 24 groupers). Drop-localization reduces false positives from ~5,600 to 7.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:32Network reliability is critical
- 0:55Existing tools are the first attempts
- 2:17In-network packet capture is the last resort
- 3:13In-network analysis: challenges
- 3:49Example: Route error checker
- 5:32Packet headers are modified by middleboxes
- 6:55dShark: three goals
- 7:30How operators manually process traces
- 9:53dShark's programming model
- 11:16Declarative spec. in parsers and groupers
- 12:20Same protocol headers bring ambiguity
- 13:11Imperative diagnosis logic in the query processors
- 14:02dShark overview
- 14:35Another example: load balancer profiler
- 16:09Tolerate capture noise
- 17:21Performance of Shark
- 20:24Conclusion
related talks
05mHow to Analyse a DDoS Quackly
20mDiamond Miner: Comprehensive Discovery of the Internet's Topology Diamonds
19mDisaggregating Stateful Network Functions
17mDifferential Network Analysis
14mEndangered Privacy: Large-Scale Monitoring of Video Streaming Services
12mBridging Missing Gaps in Evaluating DDoS Research
24mScalable Small Message Aggregation on Modern Interconnects
26mNetwork monitoring with FOSS
