Abstract
Elvis is a highly scalable virtual Internet simulator that can simulate up to a hundred thousand networked machines communicating over TCP/IP on a single off-the-shelf desktop computer. This research describes the construction of Elvis in Rust, a new memory-safe systems programming language, and the design patterns that enabled us to reach scalability targets. Traffic in the simulation is generated from models based on user behavior research and profiling of large web servers. Additionally, a Network Description Language (NDL) was designed to describe large Internet simulations.
References
- Steve Kalanick and Carol Nichols. The Rust Programming Language. No Starch Press, 2020.
- D. Merkel. "Docker: Lightweight Linux Containers for Consistent Development and De- ployment". In: Linux Journal 2014.239 (2014), 2.
- Tracer, Cisco Packet. "Cisco Packet Tracer." URL: http://www. cisco. com/web/learning/netacad/coursecatalog/PacketTracer. html (2013).
- Ahrenholz, Jeff, Claudiu Danilov, Thomas R. Henderson, and Jae H. Kim. "CORE: A real-time network emulator." In MILCOM 2008-2008 IEEE Military Communications Conference, IEEE, 2008. 1-7.
- Du, Wenliang, and Honghao Zeng. "The SEED internet emulator and its applications in cybersecurity education." arXiv preprint arXiv:2201.03135 (2022).
- Carl Lerche. Announcing Tokio 1.0. Retrieved December 11, 2022. 2022. URL: https: //tokio.rs/blog/2020-12-tokio-1-0.
- Ivanov, Nikolay. "Is rust c++-fast? benchmarking system languages on everyday routines." arXiv preprint arXiv:2209.09127 (2022).
- Druschel, Peter, Mark B. Abbott, Michael A. Pagels, and Larry L. Peterson. "Network subsystem design." IEEE network 7, no. 4 (1993): 8-17.
- Jakob Nielsen. How Long Do Users Stay on Web Pages? 2011. URL: https://www. nngroup.com/articles/how-long-do-users-stay-on-web-pages/.
- Riley, George F., and Thomas R. Henderson. "The ns-3 network simulator." In Modeling and tools for network simulation, pp. 15-34. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010.
- M. Fiedler, T. Hossfeld, and P. Tran-Gia. "A Generic Quantitative Relationship Between Quality of Experience and Quality of Service". In: IEEE Network24.2 (2010), 36– 41.
