Data Stream Processing for Packet-Level Analytics
- PMID: 33802365
- PMCID: PMC7959324
- DOI: 10.3390/s21051735
Data Stream Processing for Packet-Level Analytics
Abstract
One of the most challenging tasks for network operators is implementing accurate per-packet monitoring, looking for signs of performance degradation, security threats, and so on. Upon critical event detection, corrective actions must be taken to keep the network running smoothly. Implementing this mechanism requires the analysis of packet streams in a real-time (or close to) fashion. In a softwarized network context, Stream Processing Systems (SPSs) can be adopted for this purpose. Recent solutions based on traditional SPSs, such as Storm and Flink, can support the definition of general complex queries, but they show poor performance at scale. To handle input data rates in the order of gigabits per seconds, programmable switch platforms are typically used, although they offer limited expressiveness. With the proposed approach, we intend to offer high performance and expressive power in a unified framework by solely relying on SPSs for multicores. Captured packets are translated into a proper tuple format, and network monitoring queries are applied to tuple streams. Packet analysis tasks are expressed as streaming pipelines, running on general-purpose programmable network devices, and a second stage of elaboration can process aggregated statistics from different devices. Experiments carried out with an example monitoring application show that the system is able to handle realistic traffic at a 10 Gb/s speed. The same application scales almost up to 20 Gb/s speed thanks to the simple optimizations of the underlying framework. Hence, the approach proves to be viable and calls for the investigation of more extensive optimizations to support more complex elaborations and higher data rates.
Keywords: data stream processing; multicore programming; packet-level analysis; software defined networking.
Conflict of interest statement
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analysis, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.
Figures















References
-
- Mencagli G., Torquati M., Griebler D., Danelutto M., Fernandes L.G.L. Raising the Parallel Abstraction Level for Streaming Analytics Applications. IEEE Access. 2019;7:131944–131961. doi: 10.1109/ACCESS.2019.2941183. - DOI
-
- WindFlow: A C++17 Data Stream Processing Parallel Library for Multicores and GPUs. [(accessed on 24 January 2021)]; Available online: https://paragroup.github.io/WindFlow/
-
- Fais A., Procissi G., Giordano S., Oppedisano F. Data Stream Processing in Software Defined Networks: Perspectives and Challenges; Proceedings of the 2020 IEEE 25th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD); Pisa, Italy. 14–16 September 2020; pp. 1–6. - DOI
-
- McKeown N., Anderson T., Balakrishnan H., Parulkar G., Peterson L., Rexford J., Shenker S., Turner J. OpenFlow: Enabling Innovation in Campus Networks. SIGCOMM Comput. Commun. Rev. 2008;38:69–74. doi: 10.1145/1355734.1355746. - DOI
-
- Bosshart P., Daly D., Gibb G., Izzard M., McKeown N., Rexford J., Schlesinger C., Talayco D., Vahdat A., Varghese G., et al. P4: Programming Protocol-independent Packet Processors. SIGCOMM Comput. Commun. Rev. 2014;44:87–95. doi: 10.1145/2656877.2656890. - DOI
Grants and funding
LinkOut - more resources
Full Text Sources
Other Literature Sources