ABSTRACT
Collecting statistics in network experiments is crucial for understanding the behavior of the network protocols and identifying any anomalies or performance issues. Without accurate and comprehensive statistics, it is difficult to analyze network traffic, identify bottlenecks, and make informed decisions about network protocol improvements. One of the key features of ns-3 is its ability to collect detailed statistics about network behavior during simulations. It supports various modules to collect statistics, such as Flow Monitor to collect flow level statistics, trace sources to collect information about specific events that occur during simulation, packet captures (PCAP) that can be read and analyzed using various PCAP-compatible tools and ASCII traces for debugging and generating custom reports. Besides, ns-3 also provides a flexible and extensible framework for users to create their own custom statistics collection modules. Nevertheless, collecting and analyzing data from simulations using these tools can be a complex process and requires a good understanding of the ns-3 simulation framework and its internal data structures. This paper discusses the design and development of a Linux-like socket statistics (ss) utility for ns-3 which makes the task of gathering network statistics much simpler. The main objective of this work is to develop a user-friendly API that enables ns-3 users to easily generate socket statistics. We validate the proposed API by comparing the results obtained from the trace sources already present in ns-3, and observe a high degree of consistency between our API and the trace source results. In addition, we analyze the impact of the proposed API on ns-3 performance in terms of resource consumption.
- Prakash Agrawal and Mythili Vutukuru. 2016. Trace Based Application Layer Modeling in ns-3. In In 2016 Twenty Second National Conference on Communication (NCC). IEEE Xplore, Guwahati, India, 1–6.Google ScholarCross Ref
- Magnus Boye. 2013. Netfilter Connection Tracking and NAT Implementation. In Proceedings of Seminar on Network Protocols in Operating Systems. Espoo, Finland, 34–39.Google Scholar
- Gustavo Carneiroa, Pedro Fortuna, and Manuel Ricardo. 2009. Flowmonitor: a Network Monitoring Framework for the Network Simulator 3 (ns-3). In Proceedings of the Fourth International ICST Conference on Performance Evaluation Methodologies and Tools. ACM Press, Pisa, Italy, 1–10.Google ScholarDigital Library
- Arthur Chiao. 2020. Connection Tracking (conntrack): Design and Implementation Inside Linux Kernel. https://arthurchiao.art/blog/conntrack-design-and-implementation/Google Scholar
- Claudio Cicconetti, Mingozzi Enzo, and Giovanni Stea. 2006. An Integrated Framework for Enabling Effective Data Collection and Statistical Analysis with ns-2. In Proceedings of the 2006 Workshop on ns-3. ACM Press, New York, United States, 11–18.Google ScholarDigital Library
- Michael Kerrisk. 2022. Linux Manual of Socket Statistics (ss). https://man7.org/linux/man-pages/man8/ss.8.htmlGoogle Scholar
- Davide Magrin, Dizhi Zhou, and Michele Zorzi. 2019. A Simulation Execution Manager for ns-3: Encouraging Reproducibility and Simplifying Statistical Analysis of ns-3 Simulations. In Proceedings of the 22nd International ACM Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems. Association for Computing Machinery, Miami Beach, USA, 121–125.Google ScholarDigital Library
- Mat Martineau and Matthieu Baerts. 2019. Multipath TCP Upstreaming. Technical Report. Linux Plumbers Conference, Lisbon, Portugal.Google Scholar
- Luiz Felipe Perrone, Thomas R. Henderson, Mitchell J. Watrous, and Vinícius Daly Felizardo. 2013. The Design of an Output Data Collection Framework for ns-3. In 2013 Winter Simulations Conference (WSC). Washington, USA, 2984–2995. https://doi.org/10.1109/WSC.2013.6721666Google ScholarCross Ref
- Aditya R Rudra. 2022. ns-3: Socket Statistics Module Gitlab Repository. https://gitlab.com/adityaofficial10/ns-3-dev/-/tree/socket-statsGoogle Scholar
- Matt Welsh and Bernd Eckenfels. 1999. Linux Manual of netstat. http://www.skrenta.com/rt/man/netstat.8.htmlGoogle Scholar
- Milian Wolff. 2020. RKDE/Heaptrack: A Heap Memory Profiler for Linux. https://github.com/KDE/heaptrackGoogle Scholar
Index Terms
- Linux-like Socket Statistics Utility for ns-3
Recommendations
Automatic State Saving and Rollback in ns-3
SIGSIM-PADS '17: Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete SimulationWhen designing, implementing and executing large-scale distributed simulation codes it is well-known the so-called optimistic time synchronization methods often lead to better overall performance as compared to the so-called conservative methods. ...
Cyber-physical co-simulation of smart grid applications using ns-3
WNS3 '14: Proceedings of the 2014 Workshop on ns-3In this paper, we present a simulation tool that supports co-simulation of the cyber and physical aspects of an electric smart grid. This cyber-physical co-simulator combines a state-of-the-art network simulator, ns-3, and a state-of-the-art power ...
A Simulation Execution Manager for ns-3: Encouraging reproducibility and simplifying statistical analysis of ns-3 simulations
MSWIM '19: Proceedings of the 22nd International ACM Conference on Modeling, Analysis and Simulation of Wireless and Mobile SystemsThe typical workflow for ns-3 users consists of coming up with an experiment, translating that idea to simulation code, running multiple simulations, analyzing the outcomes, and finally plotting results. So far, the ns-3 project has not been providing ...
Comments