Reproducible Research in Network Modeling Anna M. Ermolayeva¹, Tatyana R. Velieva¹, Anna A. Zhivtsova¹, Anna V. Korolkova¹, and Dmitry S. Kulyabov¹,²
arXiv:2607.16433v1 [cs.NI] 17 Jul 2026
¹RUDN University, 6 Miklukho-Maklaya St, Moscow, 117198, Russian Federation ²Joint Institute for Nuclear Research, 6 Joliot-Curie St, Dubna, 141980, Russian Federation
Background When we model networks, there is a problem of obtaining experimental data to verify other model approaches. And even if there are some experimental data, it is necessary to be sure of their reliability. Purpose It is necessary to propose methods for obtaining reliable experimental data. Method By its nature, network equipment is a software and hardware complex. Therefore, a full-scale software model can be considered completely equivalent to real equipment. And a real experiment can be replaced by a nature experiment. The reliability of a nature experiment will be based on its reproducibility. Results A comparison of popular nature network modeling packages was carried out. These packages were divided by functionality and feasibility of reproducible studies. Conclusions Most software packages meet the reproducibility criteria. The choice of a specific solution depends on non-technical factors: popularity and knowledge of the package.
1
Introduction
During modeling networks, there is a problem of access to experimental data. It is rare that there is an opportunity to conduct an experiment on real equipment. Without experimental data, we lose the ability to verify the results of different types of modeling. To remove this problem, it is recommended to conduct a natural experiment using a natural modeling tool. It should be noted that natural modeling of computer systems is distinguished by the fact that computer systems can be accurately represented using other computer systems. However, this raises the problem of reproducibility of the natural experiment. The purpose of the article is to select a natulal modeling tool when the focus is on the support of this tool for conducting a reproducible experiment.
1.1
Structure of the paper
Section 2 provides a brief overview of modeling methods. Section 3 discusses the problems that hinder reproducible research. Section 4 provides an overview of tools for natural network modeling. The authors have tried these modeling tools and described their impressions of them. Section 5 summarizes the characteristics of the considered packages related to reproducible calculations. Section 6 discusses which packages are most suitable for reproducible natural modeling. Section 7 provides our specific recommendations for using the considered modeling packages. Anna M. Ermolayeva: [email protected] Tatyana R. Velieva: [email protected] Anna A. Zhivtsova: [email protected] Anna V. Korolkova: [email protected] Dmitry S. Kulyabov: [email protected]
1
Theoretical part Operational part
Operational part
Realisation
Preparation
Measurement Model
Figure 1: General structure of the model approach
2
Model approaches
Modeling as a discipline covers different types of model approaches [1]. From our point of view, these approaches can be schematically described in a unified way. The research structure consists of operational and theoretical parts (Fig. 1). The operational parts are represented by the procedures for preparing the system and measuring. It is also possible to describe the operational parts as input and output data. The theoretical part consists of two layers: the model layer and the implementation layer. The model layer is the main one and defines the model being studied. The implementation layer describes the specific structure of the system evolution. Depending on the type of implementation, different types of models can be obtained: • implementation—mathematical expressions: analytical mathematical models; • implementation—analog system: physical model; • implementation—equivalent system: natural model; • implementation—algorithm: simulation models; • implementation—behavior approximation: surrogate model. Each type of model has its own area of applicability, its own advantages and disadvantages. Using the entire spectrum of models allows for the most in-depth and comprehensive study of the modeled system.
2.1
Analytical modeling
The most rigorous study is usually based on an analytical mathematical model. In this case, the model layer is implemented through mathematical expressions describing the evolution of the system.
2.2
Physical modeling
The resulting mathematical model must be compared with experimental data and verified. To do this, you can create a model similar to a physical or technical system. The study is conducted on installations that preserve the nature of the phenomena, but are not necessarily identical to the real object. The model can be a reduced or enlarged copy of the prototype, where compliance with the similarity criteria is critical. Physical modeling is based on similarity theory and dimensional analysis.
2.3
Natural modeling
Experiments are conducted on a real object or part of it under conditions as close as possible to operational ones. Includes production tests, scientific experiments with intervention in
2
the process and analysis of accumulated experience. A natural model can also be virtual. For example, you can build a model of a data transmission network using images of operating systems of routers and switches. Using a virtual model radically simplifies the modeling process.
2.4
Simulation modeling
With the development of computer technology, it became possible to specify a model implementation not in the form of a mathematical description, but in the form of some algorithm. This type of model is called a simulation model, and the approach itself is called simulation modeling. The simulation model plays a dual role. A well-established and tested simulation model on experimental data, physical and natural models can in itself serve the purpose of verifying a mathematical model. On the other hand, a simulation model allows more effectively than a mathematical model to study the behavior of the modeled system with different variants of input data.
2.5
Statistical modeling
This is a completely separate direction, which uses correlation rather than causation for automatic model building. This type of modeling includes models that are implemented using machine learning methods. It can be divided into several approaches. For the purposes of modeling itself, surrogate modeling is most interesting. In this approach, the model layer is known and even has an implementation (usually in the form of an analytical or simulation model). The original modeling can take quite a long time. To simplify the study, models are built that imitate the behavior of the original model as closely as possible, while being computationally cheap. Surrogate models are built using a data-driven approach. The exact internal workings of the modeling code are not assumed to be known (or even understood), only the input-output (preparation-measurement) behavior is important. The scientific goal of surrogate modeling is to create a surrogate that is as accurate as possible using as few modeling estimates as possible [2].
2.6
Multi-model approach
When modeling, it is natural to use several approaches simultaneously, that is, to use a multimodel approach [3, 4]. When modeling networks, it is often difficult to propose an adequate analytical model in advance. In addition, experimental data are not always available. And in this case, it seems quite reasonable to conduct preliminary natural modeling. Let us review possible means of natural modeling of networks.
3
Reproducible research
Replication is a fundamental principle of science [5]. There is a growing concern among scientists that too little scientific research can be replicated [6] (the replication crisis). Research papers often contain inadequate details and are impossible to replicate. Many attempts to replicate famous scientific studies fail in a wide variety of disciplines. Replicating studies with new, independent data is expensive, rarely published in high-impact journals, and sometimes even methodologically impossible. Computationally reproducible research is often proposed as a way to improve our ability to evaluate the validity and rigor of scientific results. Research is reproducible when others can reproduce the results of a scientific study using only the original data, code, and documentation. Types of reproducibility: • Replication—the complete repetition of an experiment by other researchers using the same methods and data.
3
• Reproducibility—the ability to obtain the same results when the original data are reanalyzed using the same procedures. • Repeatability—obtaining similar results when an experiment is repeated within a single study.
3.1
Barriers to reproducibility of research
Reasons for lack of reproducibility: • complexity; • technological changes; • human errors. 3.1.1
Complexity
Scientific research requires specialized (and often closed) knowledge and tools that may not be available to everyone who would like to reproduce the research results. Research requires material support (for example, high-performance computer systems). In addition, specific software is required. Proprietary software packages are often used in research. But this is absolutely unacceptable. Proprietary software can be used in engineering developments in industry. In academic research, only open source software can be used. 3.1.2
Technological changes
Hardware and software change rapidly. When old tools become obsolete, research becomes less reproducible. A minor update in software can make the entire project less reproducible. The versions of the software used should be documented. Software versions can be fixed by using software containers or virtual machines. 3.1.3
Human errors
Details of how research was conducted are always (sic!) forgotten. Only good documentation of the research process can protect against minor errors and careless analysis. The description of the research process should be done in low context [7]. It is almost impossible to adequately describe the use of a graphical user interface. The research process should be described in code.
3.2
The problem of reproducibility in modeling
The problem of reproducibility arises in all types of modeling. But to varying degrees. The less formalized the study, the more aspects we cannot take into account, the greater the threat of not achieving reproducibility. The least threat to reproducibility is in the theoretical part of the model, the greatest—in the operational. Naturally, experimental research should attract our greatest attention. But often setting up a real experiment is not possible (mainly for financial reasons). Therefore, we must turn our attention to natural modeling and natural experiment.
4
Natural modeling tools
Let’s consider the main tools for natural network modeling.
4
4.1
Classification principles
Let us introduce the following classification of natural network modeling tools based on functionality: • multisystem modeling tools; • single-stack modeling tools; • specialized modeling tools.
4.2
Multisystem modeling tools
Realistic modeling requires using natural models from different vendors. Hardware images can be obtained as operating system images. To run such images, you need to use processor emulation tools (QEMU, VirtualBox, vmWare). 4.2.1
GNS3
• Website: https://www.gns3.com/. • Documentation: https://docs.gns3.com/. • Repository: – https://github.com/GNS3/gns3- gui; – https://github.com/GNS3/gns3- server; – https://github.com/GNS3/gns3- web- ui; – https://github.com/GNS3/dynamips. • License: GPL-3.0. The main user interface is a graphical interface [8]. There is no command line interface. Supports working with virtual machine images for different network systems. The interface can be either a separate application with a graphical interface of the operating system (Qt), or an integrated web interface. Uses the interface of nested virtual machines. Several types of virtual machines are used: • Dynamips: for Cisco IOS emulation; • QEMU: for running virtual machines; • Docker: container integration. Initially, the main emulator was the Dynamips emulator. GNS3 has an extremely low entry level (mostly due to the graphical interface). GNS3 is quite suitable for scientific network modeling [9]. However, the problem of reproducibility of research is almost insoluble. 4.2.2
Eve-ng
Eve-ng (Emulated Virtual Environment New Generation). • Website: https://www.eve- ng.net/ • License: EULA (https://www.eve- ng.net/index.php/documentation/eula/). The product is based on the UNetLab project (development stopped in 2016). Ideologically similar to GNS3 (they would compete with each other if not for the proprietary license). Similar functionality. Graphical interface in the form of a web interface. Delivery options: 5
• Community Edition, project size restrictions; • Professonal, offers advanced functionality; • Corporate, collaboration capabilities. 4.2.3
PNetLab
• Website: https://pnetlab.com/pages/main. • Repository: https://github.com/pnetlab/pnetlab_main. • Documentation: https://www.pnetlab.com/pages/documentation. • License: unknown. Graphical interface in the form of a web interface. It is a fork of Eve-ng. The functionality is the same as Eve-ng, but without the need for payment. Eve-ng developers expressed dissatisfaction with this project (https://www. eve- ng.net/forum/viewtopic.php?f=4&t=16925). The project looks abandoned. 4.2.4
Containerlab
The project was developed by Nokia. • Website: https://containerlab.dev/. • Repository: https://github.com/srl- labs/containerlab. • License: BSD-3-Clause. Virtual network labs are built on the basis of Docker containers. Containers are managed in a special command environment. The topology is described in a yaml file. The vrnetlab package (https://github.com/vrnetlab/vrnetlab) allows you to connect a virtual machine inside a container. It is possible to combine containers and virtual machines into a single topology. Containerlab supports working with many network operating systems, presented as virtual machine images. You can create labs that include not only network nodes, but also everything in between: telemetry stacks, databases, test equipment nodes, network servers. 4.2.5
Netlab
• Site: https://netlab.tools/. • License: MIT. A framework for automating the design, deployment, and testing of network labs using the Infrastructure as Code (IaC) concept. Configuration description via abstract functional modules, without vendor binding. Docker, Vagrant, KVM, Virtualbox, containerlab can be used as model providers (respectively, using all its power).
4.3
Mono-stack modeling tools
These systems implement a single network stack. Most often, they are based on Linux. This allows the simulation tool to be optimized much more than multi-system tools.
6
4.3.1
Mininet
Mininet Project developed at Stanford University. • Website: https://mininet.org/. • Repository: https://github.com/mininet/mininet. • License: BSD-3-Clause. Allows you to build simple networks. It is possible to implement OpenFlow and SDN technologies. OpenFlow-based controller settings can be migrated to physical equipment. Network nodes in Mininet are processes running in a network namespace. This approach allows you to isolate hosts on one machine from each other, but at the same time each of them has its own interface. Python API is supported. This tool was originally created as a specialized modeling tool. The main purpose is to model Software-Defined Networks (SDN) [10–12]. But gradually there was a drift towards a general-purpose modeling package. It seems that this happened due to the introduction of Mininet in training [13]. In addition, in the context of Mininet modeling, researchers have begun to pay increased attention to the reproducibility of research [14–16]. 4.3.2
Netkit
Website: https://www.netkit.org/. Developed for scientific research and education [17, 18]. The implementation was based on the User-Mode Linux (UML) subsystem. Now has purely historical significance. Replaced by Kathará. 4.3.3
Kathará
Kathará (from the Greek purely). • Website: https://www.kathara.org/. • Repository: https://github.com/KatharaFramework/Kathara. • License: GPL-3.0. It is an evolution of the Netkit network emulator [19]. In fact, it can be perceived as Netkit, in which User-Mode Linux is replaced with Docker. Kathará allows you to simulate virtual networks based on Docker containers or Kubernetes clusters [20, 21]. Supports SDN, NFV (Network function virtualization), BGP, OSPF technologies. Declarative description language and command line tools. There is a graphical interface: Netkit-Lab-Generator (https://github.com/KatharaFramework/ Netkit- Lab- Generator), but it has a subordinate meaning. The peculiarity of this project is its rapid revolutionary development. Variants of this emulator constantly appear, aimed at solving new problems. Later, most often, these new branches merge into the original project. Let’s give examples of some of them. Megalos и Sybil The Megalos project is aimed at modeling large heterogeneous networks [22, 23]. The main direction of modeling is the network architecture of data centers. VXLAN networks with BGP routing are used. The Kubernetes orchestrator has been introduced into the Docker subsystem, which allows modeling large networks. Distributing emulation across multiple nodes allows Megalos to emulate large-scale network infrastructures that require a significant number of virtual local area networks. The Sibyl software platform [24] was created based on Kathará and Megalos. Sibyl is used to model routing protocols in fat-tree networks. 7
Nested containers The goal of the project was to build a digital twin of a data center. To accurately emulate a hierarchy consisting of physical servers, virtual machines, and containers, support for nested virtualization is a fundamental requirement. To solve this problem, the ability to use nested containers was developed [25]. 4.3.4
IMUNES
IMUNES (Integrated Multi-protocol Network Emulator/Simulator). • Website: https://imunes.net/ • Repository: https://github.com/imunes/imunes • License: CC-BY 4.0. It is possible to use both a graphical interface and a scripting language. but the primary one is the command line interface. Implements the FreeBSD network stack [26]. Can be used on Linux, FreeBSD hosts. Virtualization [27]: • FreeBSD: jails; • Linux: Docker. The development is uneven. At one time, it seemed that the project was abandoned. This is a typical local project for specific purposes of developers. If they do not need something, it will not be implemented. 4.3.5
CORE
CORE (Common Open Research Emulator). • Сайт: https://coreemu.github.io/core/. • Репозиторий: https://github.com/coreemu/core. • Документация: https://coreemu.github.io/core/index.html. • Лицензия: BSD-2-Clause. Virtualization: Linux namespaces. Implements the FreeBSD [28] network stack. Supports Docker containers for deploying services (DNS, HTTP). Connections are implemented via Linux bridges, VLAN, VPN. Dynamic routing: Quagga/FRR. The graphical interface is used only for building the topology. 4.3.6
Cloonix
• Website: https://clownix.net/. • Repository: https://github.com/clownix/cloonix. • License: AGPLv3. Simulation based on virtual machines and containers [29]. For virtual machines: kvm. For containers: podman. Only Linux host is supported. In addition to the command interface, there is a graphical interface. Links between nodes are based on Open vSwitch. Theoretically, the tool can support different network equipment (for example, Cisco). However, in reality, only Linux is used.
8
Table 1: Natural network modeling tools
Program GNS3 Eve-ng PNetLab Containerlab Mininet Kathará IMUNES CORE Toxiproxy Cloonix netlab
4.4
Interface GUI, Web Web Web CLI CLI CLI, GUI CLI, GUI CLI, GUI CLI CLI, GUI CLI
Scripting language No No No YAML, Ansible Python Python, YAML, shell Python, YAML, shell Python Ruby, Node.js, Python Python, shell YAML, Ansible, Python, shell
License GPL-3.0 EULA Unknown BSD-3-Clause BSD-3-Clause GPL-3.0 CC-BY 4.0 BSD-2-Clause MIT AGPLv3 MIT
Specialized modeling tools
These modeling tools are aimed at solving narrow specific problems. This does not mean that it will be impossible to conduct complex modeling. But it will be clearly more difficult than on universal systems. 4.4.1
Toxiproxy
• Repository: https://github.com/Shopify/toxiproxy. • License: MIT. Allows you to study the fault tolerance of solutions in a network environment. You can simulate anomalies and failures: delays in receiving a response from the server, changes in bandwidth. You can run applications in an environment where all connections are tested under various network conditions. Consists of two elements: a TCP proxy and a client interacting with it via HTTP. Scripts are created using Ruby, Node.js, Python. The client connects to the Toxiproxy daemon via HTTP.
5
Results
Let’s collect the tools for natural network modeling in a table (tab. 1) Let’s highlight the parameters that are important to us for conducting reproducible studies. The license type will correspond to the complexity of using the software. Since all the systems under consideration use containers and virtual machines (or one of these), we will assume that they all support management of technological changes. The presence of a command interface and a scripting language will help eliminate human error.
6
Discussion
First of all, tools with non-free licenses should be removed from consideration: Eve-ng and PNetLab. GNS3 does not support automation via code. The lack of a command line interface prevents reproducible studies. However, GNS3 is well suited for teaching networking and the principles of real-world modeling. The other modeling tools we have reviewed are quite suitable for implementing reproducible studies. For modeling heterogeneous networks consisting of equipment from different manufacturers, it remains to recommend containerlab and netlab. If it is necessary to model not so
9
much the protocols themselves, but the features of their implementation in equipment from different manufacturers, there is simply no alternative. However, nothing prevents you from using these tools simply for modeling arbitrary networks. Kathará supports distributed execution, making it indispensable for resource-intensive modeling. In addition, the tool explicitly addressed the methodology for creating digital twins of networked systems. Mininet is developing extremely slowly. But this environment is very easy to use. In addition, this modeling tool is included in the educational program of many universities. And a researcher, all other things being equal, will prefer to use the modeling tool with which he is familiar. Toxiproxy is designed to study network security issues. Unlike other modeling tools, we have not studied it in depth. However, modeling network security is also within our interests. The IMUNES, CORE, Cloonix modeling tools look quite decent. But, the winner takes all. These modeling tools do not offer, at the moment, any special advantages over the systems we have highlighted.
7
Conclusion
Let’s summarize our recommendations. • For initial training of students—GNS3. • For modeling simple systems and teaching natural modeling—Mininet. • For modeling complex systems, resource-intensive modeling—Kathará, containerlab, netlab. • For modeling heterogeneous networks, maximum correspondence to real systems— containerlab, netlab. This work marks a milestone in our research. We began our field-based network studies with GNS3. The reason we abandoned this tool was the impossibility of conducting reproducible research within it. This naturally led us to Mininet. But very quickly, the baseline tool became a hindrance rather than a help. Therefore, following this study, we are focusing on Kathará and containerlab. Our next step is to conduct several studies, implementing field experiments in these three environments. To practically confirm (or refute) our findings.
Acknowledgments This paper has been financially supported within the framework of the RUDN University Development Program “Strategy-2030,” Project C05.1 “Implementation of international and domestic academic cooperation and enhancement of academic reputation.”
References 1. Kulyabov, D. S. & Sevastianov, L. A. Journal rubrics. Discrete and Continuous Models and Applied Computational Science 32, 255–259. DOI: 10.22363/2658-4670-2024-32-3-255– 259 (2024). 2. Sevastianov, L. A., Sevastianov, A. L., Ayrjan, E. A., Korolkova, A. V., Kulyabov, D. S. & Pokorny, I. Structural Approach to the Deep Learning Method in Proceedings of the 27th Symposium on Nuclear Electronics and Computing (NEC-2019) (eds Korenkov, V., Strizh, T., Nechaevskiy, A. & Zaikina, T.) 2507 (Budva, Sept. 2019), 272–275.
10
3. Korolkova, A. V., Kulyabov, D. S. & Hnatič, M. Practical Application of the Multi-model Approach in the Study of Complex Systems in Distributed Computer and Communication Networks. DCCN 2020 (eds Vishnevskiy, V. M., Samouylov, K. E. & Kozyrev, D. V.) 526–537 (Springer Nature Switzerland AG, Cham, 2020). DOI: 10.1007/978-3-030-66471-8_40. 4. Page, S. E. The Model Thinker. What You Need to Know to Make Data Work for You 448 pp. (Basic Books, New York, 2018). 5. Baker, M. 1,500 scientists lift the lid on reproducibility. Nature 533, 452–454. DOI: 10.1038/533452a (May 2016). 6. Goodman, S. N., Fanelli, D. & Ioannidis, J. P. A. What does research reproducibility mean? Science Translational Medicine 8, 341ps12.1–6. DOI: 10.1126/scitranslmed.aaf5027 (June 2016). 7. Hall Jr, E. T. The Silent Language (Anchor Books, New York, 1959). 8. Welsh, C. GNS3 Network Simulation Guide 154 pp. (Packt Publishing, Oct. 25, 2013). 9. Velieva, T. R., Korolkova, A. V. & Kulyabov, D. S. Designing Installations for Verification of the Model of Active Queue Management Discipline RED in the GNS3 in 6th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT) (IEEE Computer Society, 2015), 570–577. DOI: 10.1109/ICUMT.2014.7002164. arXiv: 1504.02324. 10.
Lantz, B., Heller, B. & McKeown, N. A Network in a Laptop: Rapid Prototyping for SoftwareDefined Networks in Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks (Association for Computing Machinery, Monterey, California, 2010), 1–6. DOI: 10.1145/1868447.1868466.
11.
Lantz, B. & O’Connor, B. A Mininet-based Virtual Testbed for Distributed SDN Development in Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication (ACM, Aug. 2015), 365–366. DOI: 10.1145/2785956.2790030.
12.
De Oliveira, R. L. S., Schweitzer, C. M., Shinoda, A. A. & Prete, L. R. Using Mininet for emulation and prototyping Software-Defined Networks in 2014 IEEE Colombian Conference on Communications and Computing (COLCOM) (IEEE, June 2014), 1–6. DOI: 10.1109/colcomcon.2014.6860404.
13.
Ryll, A. Measuring TCP Tail Loss Probe Performance in Proceedings of the Seminars Future Internet (FI), Innovative Internet Technologies and Mobile Communications (IITM) and Autonomous Communication Networks (ACN), Summer Semester 2013 (eds Carle, G., Raumer, D. & Schwaighofer, L.) (Chair for Network Architectures and Services, Department of Computer Science, Technische Universität München, Munich, Germany, 2013), 1–7. DOI: 10.2313/NET-2014-03-1.
14.
Handigol, N., Heller, B., Jeyakumar, V., Lantz, B. & McKeown, N. Reproducible network experiments using container-based emulation in Proceedings of the 8th international conference on Emerging networking experiments and technologies (ACM, Dec. 2012), 253–264. DOI: 10.1145/2413176.2413206.
15.
Heller, B. Reproducible network research with high-fidelity emulation PhD thesis (Stanford University, 2013). 124 pp.
16.
Yan, L. & McKeown, N. Learning Networking by Reproducing Research Results. ACM SIGCOMM Computer Communication Review 47, 19–26. DOI: 10.1145/3089262.3089266 (May 2017).
17.
Pizzonia, M. & Rimondini, M. Netkit: network emulation for education. Software: Practice and Experience 46, 133–165. DOI: 10.1002/spe.2273 (May 2014).
18.
Ariyanto, Y., Harijanto, B. & Syaifudin, Y. W. Teaching network security in Linux using Netkit with implementation virtual laboratory. IOP Conference Series: Materials Science and Engineering 434, 012273. DOI: 10.1088/1757-899x/434/1/012273 (Dec. 2018).
19.
Scazzariello, M., Ariemma, L. & Caiazzi, T. Kathará: A Lightweight Network Emulation System in NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium (IEEE, Apr. 2020), 1–2. DOI: 10.1109/noms47738.2020.9110351. 11
20.
Alberro, L., Castro, A. & Grampin, E. Experimentation Environments for Data Center Routing Protocols: A Comprehensive Review. Future Internet 14, 29.1–22. DOI: 10.3390/fi14010029 (Jan. 2022).
21.
Bonofiglio, G., Iovinella, V., Lospoto, G. & Di Battista, G. Kathará: A container-based framework for implementing network function virtualization and software defined networks in NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium (IEEE, Apr. 2018), 1–9. DOI: 10.1109/noms.2018.8406267.
22.
Scazzariello, M., Ariemma, L., Battista, G. D. & Patrignani, M. Megalos: A Scalable Architecture for the Virtualization of Network Scenarios in NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium (IEEE, Apr. 2020), 1–7. DOI: 10.1109/noms47738.2020.9110288.
23.
Scazzariello, M., Ariemma, L., Di Battista, G. & Patrignani, M. Megalos: A Scalable Architecture for the Virtualization of Large Network Scenarios. Future Internet 13, 227.1–17. DOI: 10.3390/fi13090227 (Aug. 2021).
24.
Caiazzi, T., Scazzariello, M., Alberro, L., Ariemma, L., Castro, A., Grampin, E. & Battista, G. D. Sibyl: a Framework for Evaluating the Implementation of Routing Protocols in Fat-Trees in NOMS 2022-2022 IEEE/IFIP Network Operations and Management Symposium (IEEE, Apr. 2022), 1–7. DOI: 10.1109/noms54207.2022.9789876.
25.
Caiazzi, T., Scazzariello, M., Quinzi, S., Ariemma, L., Patrignani, M. & Battista, G. D. Nesting Containers for Faithful Datacenters Emulations in NOMS 2023-2023 IEEE/IFIP Network Operations and Management Symposium (IEEE, May 2023), 1–5. DOI: 10.1109/noms56928.2023.10154391.
26.
Zec, M. Implementing a Clonable Network Stack in the FreeBSD Kernel in Proceedings of the FREENIX Track: 2003 USENIX Annual Technical Conference (San Antonio, Texas, USA, June 2003).
27.
Salopek, D., Vasic, V., Zec, M., Mikuc, M., Vasarevic, M. & Koncar, V. A network testbed for commercial telecommunications product testing in 2014 22nd International Conference on Software, Telecommunications and Computer Networks (SoftCOM) (IEEE, Sept. 2014), 372– 377. DOI: 10.1109/softcom.2014.7039061.
28.
Ahrenholz, J., Danilov, C., Henderson, T. R. & Kim, J. H. CORE: A real-time network emulator in MILCOM 2008 - 2008 IEEE Military Communications Conference (IEEE, Nov. 2008), 1–7. DOI: 10.1109/milcom.2008.4753614.
29.
Linkletter, B. Investigating Linux Network Behaviour Using Open-Source Network Emulators in Proceedings of Netdev 2.1 (2016), 1–8.
12
Воспроизводимые исследования моделировании сетей
при
А. М. Ермолаева¹, Т. Р. Велиева¹, А. А. Живцова¹, А. В. Королькова¹, and Д. С. Кулябов¹,² ¹Российский университет дружбы народов им. Патриса Лумумбы, ул. Миклухо-Маклая, д. 6, Москва, 117198, Российская Федерация ²Объединённый институт ядерных исследований, ул. Жолио-Кюри, д. 6, Дубна, 141980, Российская Федерация
Предпосылки При моделировании сетей возникает проблема получения экспериментальных данных для верификации других модельных подходов. И даже при наличии каких-либо экспериментальных данных необходимо быть уверенным в их достоверности. Цель Необходимо предложить методы получения достоверных экспериментальных данных. Методы По своей природе сетевое оборудование есть программно-аппаратный комплекс. Поэтому натурная программная модель может считаться полностью эквивалентной реальному оборудования. И реальный эксперимент можно заменить на натурный эксперимент. Достоверность же натурного эксперимента будет базироваться на его воспроизводимости. Результаты Проведено сравнение популярных пакетов натурного сетевого моделирование. Проведено разделение этих пакетов по функциональности и реализуемости воспроизводимых исследований. Выводы Большинство программных пакетов удовлетворяет критериям воспроизводимости. Выбор конкретного решения зависит от нетехнических факторов: популярности и знания пакета.
1. Введение При моделировании сетей возникает проблема доступа к экспериментальным данным. Редко когда есть возможность произвести эксперимент на реальном оборудовании. Без экспериментальных данным мы теряем возможность верифицировать результаты разным типов моделирования. Для снятия проблемы можно рекомендовать проведение натурного эксперимента с помощью средства натурного моделирования. Следует заметить, натурное моделирование компьютерных систем выделяется тем, что компьютерные системы можно точно представлять с помощью других компьютерных систем. Однако при этом возникает проблема воспроизводимости проведения натурного эксперимента. Целью статьи является выбор средства натурного моделирования, когда во главу угла ставится именно поддержка этим средством проведения воспроизводимого эксперимента.
1.1. Структура статьи В разделе 2 даётся краткий обзор методов моделирования. В разделе 3 приводятся рассуждения о проблемах, мешающим проводить воспроизводимые исследования. А. М. Ермолаева: [email protected] Т. Р. Велиева: [email protected] А. А. Живцова: [email protected] А. В. Королькова: [email protected] Д. С. Кулябов: [email protected]
1
Теоретическая часть Операциональная часть
Реализация
Приготовление
Операциональная часть Измерение
Модель
Рис. 1: Общая структура модельного подхода
В разделе 4 приводится обзор средств натурного моделирования сетей. Авторы опробовали эти средства моделирования и описали свои впечатления от них. В разделе 5 суммированы характеристики рассмотренных пакетов, относящиеся к воспроизводимым вычислениям. В разделе 6 приведено обсуждение, какие пакеты наиболее подходят для воспроизводимого натурного моделирования. В разделе 7 приведены конкретные наши рекомендации по использованию рассмотренных пакетов моделирования.
2. Подходы к моделированию Моделирование как дисциплина охватывает разные типы модельных подходов [1]. С нашей точки зрения эти подходы можно схематически описать единым образом. Исследовательская структура состоит из операциональных и теоретических частей (рис. 1). Операциональные части представлены процедурами приготовления системы и измерения. Также возможно описание операциональных частей как входных и выходных данных. Теоретическая часть состоит из двух слоёв: модельного слоя и слоя реализации. Модельный слой является основным и задаёт собственно исследуемую модель. Слой реализации описывает конкретную структуру эволюции системы. В зависимости от типа реализации, можно получать разные виды моделей: • реализация — математические выражения: аналитические математические модели; • реализация — аналоговая система: физическая модель; • реализация — эквивалентная система: натурная модель; • реализация — алгоритм: имитационные модели; • реализация — аппроксимация поведения: суррогатная модель. Каждый тип моделей имеет свою область применимости, свои преимущества и недостатки. Использование всего спектра моделей позволяет наиболее глубокое и всестороннее исследование моделируемой системы.
2.1. Аналитическое моделирование Наиболее строгое исследование базируется, обычно, на аналитической математической модели. В этом случае модельный слой реализуется посредством математических выражений, описывающих эволюцию системы.
2
2.2. Физическое моделирование Полученную математическую модель нужно сопоставить с экспериментальными данными, верифицировать её. Для этого можно создать модель, аналогичную физической или технической системе. Исследование проводится на установках, сохраняющих природу явлений, но не обязательно идентичных реальному объекту. Модель может быть уменьшенной или увеличенной копией прототипа, где критически важно соблюдение критериев подобия. В основе физического моделирования лежат теория подобия и анализ размерностей.
2.3. Натурное моделирование Эксперименты проводятся на реальном объекте или его части в условиях, максимально приближённых к эксплуатационным. Включает производственные испытания, научные эксперименты с вмешательством в процесс и анализ накопленного опыта. Натурная модель может быть и виртуальной. Например, можно построить модель сети передачи данных, используя образы операционных систем маршрутизаторов и коммутаторов. Использование виртуальной модели радикально упрощает процесс моделирования.
2.4. Имитационное моделирование С развитием компьютерной техники появилась возможность задавать модельную реализацию не в виде математического описания, а в виде некоторого алгоритма. Такого типа модели получили название имитационных моделей, а сам подход получил название имитационного моделирования. Имитационная модель играет двоякую роль. Отлаженная и проверенная на экспериментальных данных, физической и натурной моделях имитационная модель сама по себе может служить целям верификации математической модели. С другой стороны, имитационная модель позволяет более эффективно, чем математическая модель, исследовать поведение моделируемой системы при разных вариантах входных данных.
2.5. Статистическое моделирование Это совершенно отдельное направление, использующее для автоматического построения моделей не каузацию, а корреляцию. К данному типу моделирования относят модели, которые реализуются посредством методов машинного обучения. Его можно разделить на несколько подходов. Для целей собственно моделирования наиболее интересно суррогатное моделирование. В этом подходе модельный слой известен и даже имеет реализацию (чаще всего в виде аналитической или имитационной модели). Исходное моделирование может занять достаточно продолжительное время. Для упрощения исследования строятся модели, которые имитируют поведение исходной модели настолько близко, насколько это возможно, в то время как вычислительно дёшевы. Суррогатные модели строятся с использованием подхода, основанного на данных. Точная внутренняя работа кода моделирования не предполагается известной (или даже понятой), важно только поведение ввода–вывода (приготовления– измерения). Научная задача суррогатного моделирования заключается в создании суррогата, который является максимально точным, используя как можно меньше оценок моделирования [2].
2.6. Мультимодельный подход При моделировании естественно использовать одновременно несколько подходов, то есть использовать мультимодельный подход [3; 4]. При моделировании сетей зачастую трудно заранее предложить адекватную аналитическую модель. Кроме того, не
3
всегда в доступе есть экспериментальные данные. И в данном случае представляется вполне обоснованным провести предварительно натурное моделирование. Сделаем обзор возможных средств натурного моделирования сетей.
3. Воспроизводимые исследования Воспроизводимость является фундаментальным принципом науки [5]. Среди учёных растёт опасение, что слишком мало научных исследований может быть воспроизведено [6] (кризис репликации). Научные статьи часто содержат неадекватные детали, их невозможно воспроизвести. Многие попытки воспроизвести известные научные исследования в самых разных дисциплинах терпят неудачу. Повторение исследований с новыми независимыми данными стоит дорого, редко публикуется в авторитетных журналах, а иногда даже методологически невозможно. Воспроизводимое с помощью вычислений исследование часто предлагается в качестве пути повышения нашей способности оценивать обоснованность и строгость научных результатов. Исследование воспроизводимо, когда другие могут воспроизвести результаты научного исследования, используя только исходные данные, код и документацию. Виды воспроизводимости: • Репликация (replication) — полное повторение эксперимента другими исследователями с использованием тех же методов и данных. • Воспроизводимость (reproducibility) — способность получить те же результаты при повторном анализе исходных данных с помощью тех же процедур. • Повторяемость (repeatability) — получение схожих результатов при повторении эксперимента в рамках одного исследования.
3.1. Барьеры для воспроизводимости исследования Причины отсутствия воспроизводимости: • сложность; • технологические изменения; • человеческие ошибки. 3.1.1. Сложность Научные исследования требуют специальных (и часто закрытых) знаний и инструментов, которые могут быть доступны не всем, кто хотел бы воспроизвести результаты исследований. Для исследования необходимо материальное обеспечение (например, высокопроизводительные компьютерные системы). Кроме того, требуются специфическое программное обеспечение. При проведении исследований часто используют проприетарные программные пакеты. Но это категорически недопустимо. Проприетарное программное обеспечение может использоваться в инженерных разработках в индустрии. В академических исследования возможно применение только открытого программного обеспечения. 3.1.2. Технологические изменения Аппаратное и программное обеспечение меняются быстро. Когда старые инструменты устаревают, исследования становятся менее воспроизводимыми. Незначительное обновление в программном обеспечении может сделать весь проект менее воспроизводимым. Следует документирование версий используемого программного обеспечения. Можно фиксировать версию программного обеспечения посредством использования программных контейнеров или виртуальных машин. 4
3.1.3. Человеческая ошибка Детали того, как проводились исследования, всегда (sic!) забываются. Только хорошее документирование процесс исследования может защитить от мелких ошибок и небрежного анализа. Описание процесса исследования должно выполняться в низком контексте [7]. Практически невозможно адекватно описать использование графического интерфейса пользователя. Следует стремиться к тому, чтобы процесс исследования описывался в виде кода.
3.2. Проблема воспроизводимости в моделировании Проблема воспроизводимости возникает при всех типах моделирования. Но в разной степени. Чем менее формализовано исследование, чем больше аспектов, которые мы не можем учесть, тем больше угроза не достичь воспроизводимости. Наименьшая угроза воспроизводимости находится в теоретической части модели, наибольшая — в операциональной. Естественно, экспериментальное исследование должно привлекать наибольшее наше внимание. Но зачастую постановка реально эксперимента не представляется возможной (в основном по финансовым сообранониям). Поэтому мы должны обратить своё внимание к натурному моделированию и натурному эксперименту.
4. Средства натурного моделирования Рассмотрим основные средства натурного моделирования сетей.
4.1. Принципы классификации Введём следующую классификацию средств натурного моделирования сетей на основе функциональности: • мультисистемные средства моделирования; • моностековые средства моделирования; • специализированные средства моделирования.
4.2. Мультисистемные средства моделирования Для реалистичного моделирования требуется использовать натурные модели разных вендоров. Образы оборудования можно получить в виде образов операционной системы. Для запуска таких образов требуется использование средств эмуляции процессора (QEMU, VirtualBox, vmWare). 4.2.1. GNS3 • Сайт: https://www.gns3.com/. • Документация: https://docs.gns3.com/. • Репозиторий: – https://github.com/GNS3/gns3- gui; – https://github.com/GNS3/gns3- server; – https://github.com/GNS3/gns3- web- ui; – https://github.com/GNS3/dynamips.
5
• Лицензия: GPL-3.0. Основной интерфейс пользователя — графический интерфейс [8]. Интерфейс командной строки отсутствует. Поддерживает работу с образами виртуальных машин для разных сетевых систем. Интерфейс может быть как в виде отдельного приложения с графическим интерфейсом операционной системы (Qt), так и в виде встроенного web-интерфейса. Использует интерфейс вложенных виртуальных машин. Используется несколько типов виртуальных машин: • Dynamips: для эмуляции Cisco IOS; • QEMU: для запуска виртуальных машин; • Docker: интеграция контейнеров. Изначально основным эмулятором был эмулятор Dynamips. GNS3 имеет крайне низкий уровень входа (в основном из-за графического интерфейса). GNS3 вполне применим для научного моделирования сетей [9]. Однако проблема воспроизводимости исследований практически неразрешима. 4.2.2. Eve-ng Eve-ng (Emulated Virtual Environment New Generation). • Сайт: https://www.eve- ng.net/ • Лицензия: eula/).
EULA
(https://www.eve- ng.net/index.php/documentation/
Продукт основан на проекте UNetLab (разработка прекращена в 2016 году). Идеологически похож на GNS3 (они бы и конкурировали между собой, если бы не проприетарная лицензия). Сходный функционал. Графический интерфейс в виде webинтерфейса. Варианты поставки: • Community Edition, ограничения по размерам проекта; • Professonal, предлагает расширенную функциональность; • Corporate, возможность совместной работы. 4.2.3. PNetLab • Сайт: https://pnetlab.com/pages/main. • Репозиторий: https://github.com/pnetlab/pnetlab_main. • Документация: https://www.pnetlab.com/pages/documentation. • Лицензия: не известно. Графический интерфейс в виде web-интерфейса. Является форком Eve-ng. Функциональность такая-же, как у Eve-ng, но без необходимости оплаты. Разработчики Eve-ng высказывали неудовольствие этим проектом (https://www.eve- ng.net/forum/viewtopic.php?f=4&t=16925). Проект выглядит заброшенным.
6
4.2.4. Containerlab Проект разработан Nokia. • Сайт: https://containerlab.dev/. • Репозиторий: https://github.com/srl- labs/containerlab. • Лицензия: BSD-3-Clause. Виртуальные сетевые лаборатории строятся на базе контейнеров Docker. Управление контейнерами происходит в специальном командном окружении. Топология описывается в yaml-файле. Пакет vrnetlab (https://github.com/vrnetlab/vrnetlab) позволяет подключать виртуальную машину внутрь контейнера. Возможно объединять контейнеры и виртуальные машины в единую топологию. Containerlab поддерживает работу со множеством сетевых операционных систем, представленных в виде образов виртуальных машин. Можно создавать лаборатории, которые включают не только сетевые узлы, но и все, что между ними: стеки телеметрии, базы данных, узлы тестового оборудования, сетевые серверы. 4.2.5. Netlab • Сайт: https://netlab.tools/. • Лицензия: MIT. Фреймворк для автоматизации проектирования, развертывания и тестирования сетевых лабораторий с использованием концепции Infrastructure as Code (IaC). Описание конфигураций через абстрактные функциональные модули, без привязки к вендору. В качестве модельных провайдеров можно использовать Docker, Vagrant, KVM, Virtualbox, containerlab (соответственно, используя всю его мощь).
4.3. Моностековые средства моделирования Данные системы реализуют какой-либо один сетевой стек. Чаще всего на основе Linux. Это позволяет оптимизировать средство моделирования намного сильнее, чем мультисистемные средства. 4.3.1. Mininet Проект Mininet разработан в Стэнфордском университете. • Сайт: https://mininet.org/. • Репозиторий: https://github.com/mininet/mininet. • Лицензия: BSD-3-Clause. Позволяет строить простые сети. Можно реализовать технологии OpenFlow и SDN. Настройки контроллеров на базе OpenFlow можно мигрировать на физическое оборудование. Узлы сети в Mininet представляют собой процессы, запущенные в сетевом пространстве имён. Такой подход позволяет изолировать хосты на одной машине друг от друга, но при этом каждый из них имеет собственный интерфейс. Поддерживается Python API. Данное средство первоначально было создано как специализированное средство моделирования. Основное предназначение — моделирование Software-Defined Networks (SDN) [10–12]. Но постепенно произошёл дрейф в сторону универсального пакета моделирования. Представляется, что это произошло из-за внедрения Mininet в обучение [13]. Кроме того, в рамках моделирования на Mininet исследователи стали уделять повышенное внимание воспроизводимости исследований [14–16]. 7
4.3.2. Netkit Сайт: https://www.netkit.org/. Разрабатывался для научных исследований и обучения [17; 18]. Реализация строилась на подсистеме User-Mode Linux (UML). Сейчас имеет исключительно историческое значение. Заменён на Kathará. 4.3.3. Kathará Kathará (от греческого чистый). • Сайт: https://www.kathara.org/. • Репозиторий: https://github.com/KatharaFramework/Kathara. • Лицензия: GPL-3.0. Является развитием сетевого эмулятора Netkit [19]. Фактически можно воспринимать как Netkit, в котором User-Mode Linux заменён на Docker. Kathará позволяет моделировать виртуальные сети на базе контейнеров Docker или кластеров Kubernetes [20; 21]. Поддерживает технологии SDN, NFV (Network function virtualization), BGP, OSPF. Декларативный язык описания и средства командной строки. Есть графический интерфейс: Netkit-Lab-Generator (https://github.com/KatharaFramework/ Netkit- Lab- Generator), но он имеет подчинённое значение. Особенностью данного проекта является его быстрое революционное развитие. Постоянно появляются варианты данного эмулятора, направленные на решение новых задач. В дальнейшем, чаще всего, эти новые ответвления вливаются в исходный проект. Приведём примеры некоторых из них. Megalos и Sybil Проект Megalos направлен на моделирование больших гетерогенных сетей [22; 23]. Основное направление моделирования — сетевая архитектура центров обработки данных. Используются сети VXLAN с маршрутизацией BGP. В подсистему Docker введён оркестратор Kubernetes, что позволяет моделировать большие сети. Распределение эмуляции по нескольким узлам позволяет Megalos эмулировать крупномасштабные сетевые инфраструктуры, где требуется значительное количество виртуальных локальных сетей. На основе Kathará и Megalos была создана программная платформа Sibyl [24]. Sibyl используется для моделирование протоколов маршрутизации в сетях с толстыми деревьями. Вложенные контейнеры Задача проекта состояла в построении цифрового двойника центра обработки данных. Для точной эмуляции иерархии, состоящей из физических серверов, виртуальных машин и контейнеров, поддержка вложенной виртуализации является фундаментальным требованием. Для решения этой задачи и была разработана возможность использования вложенных контейнеров [25]. 4.3.4. IMUNES IMUNES (Integrated Multi-protocol Network Emulator/Simulator). • Сайт: https://imunes.net/ • Репозиторий: https://github.com/imunes/imunes • Лицензия: CC-BY 4.0.
8
Возможно использование как графического интерфейса, так и скриптового языка. но первичным является интерфейс командной строки. Реализует сетевой стек FreeBSD [26]. Можно использовать на хостах Linux, FreeBSD. Виртуализация [27]: • FreeBSD: jails; • Linux: Docker. Развитие неравномерное. Одно время создавалось впечатление, что проект заброшен. Это типичный локальный проект для конкретных целей разработчиков. Если что не нужно им, то это и не будет реализовано. 4.3.5. CORE CORE (Common Open Research Emulator). • Сайт: https://coreemu.github.io/core/. • Репозиторий: https://github.com/coreemu/core. • Документация: https://coreemu.github.io/core/index.html. • Лицензия: BSD-2-Clause. Виртуализация: Linux namespaces. Реализует сетевой стек FreeBSD [28]. Поддерживает Docker-контейнеры для развертывания сервисов (DNS, HTTP). Связи реализуются через Linux-мосты, VLAN, VPN. Динамическая маршрутизация: Quagga/FRR. Графический интерфейс используется только для построения топологии. 4.3.6. Cloonix • Сайт: https://clownix.net/. • Репозиторий: https://github.com/clownix/cloonix. • Лицензия: AGPLv3. Моделирование на базе виртуальных машин и контейнеров [29]. Для виртуальных машин: kvm. Для контейнеров: podman. Поддерживается работа только на Linux. Кроме командного интерфейса есть графический интерфейс. Линки между узлами основаны на Open vSwitch. Теоретически средство может поддерживать разное сетевой оборудование (например, Cisco). Однако реально используется только Linux.
4.4. Специализированные средства моделирования Данные средства моделирования направлены на решение узких конкретных задач. Это вовсе не означает, что нельзя будет проводить комплексное моделирование. Но это будет явно сложнее, чем на универсальных системах. 4.4.1. Toxiproxy • Репозиторий: https://github.com/Shopify/toxiproxy. • Лицензия: MIT. Позволяет изучить отказоустойчивость решений в сетевой среде. Можно имитировать аномалии и сбои: задержки при получении ответа от сервера, изменение пропускной способность. Можно запускать приложения в среде, где все соединения проходят проверку в различных сетевых условиях. Состоит из двух элементов: TCPпрокси и клиента, взаимодействующего с ним по HTTP. Скрипты создаются с помощью Ruby, Node.js, Python. Клиент подключается к демону Toxiproxy по HTTP. 9
Таблица 1: Средства натурного моделирования сетей
Программа GNS3 Eve-ng PNetLab Containerlab Mininet Kathará IMUNES CORE Toxiproxy Cloonix netlab
Интерфейс GUI, Web Web Web CLI CLI CLI, GUI CLI, GUI CLI, GUI CLI CLI, GUI CLI
Скриптовый язык Нет Нет Нет YAML, Ansible Python Python, YAML, shell Python, YAML, shell Python Ruby, Node.js, Python Python, shell YAML, Ansible, Python, shell
Лицензия GPL-3.0 EULA Не известно BSD-3-Clause BSD-3-Clause GPL-3.0 CC-BY 4.0 BSD-2-Clause MIT AGPLv3 MIT
5. Результаты Соберём средства натурного моделирования сетей в таблицу (таб. 1) Выделим те параметры, которые важны нам для проведения воспроизводимых исследований. Тип лицензии будет соответствовать сложности использования программного обеспечения. Поскольку все рассматриваемые системы используют контейнеры и виртуальные машины (либо что-то одно из этого), то будем считать, что все они поддерживают управление технологическими изменениями. Наличие командного интерфейса и скриптового языка будет способствовать устранению человеческой ошибки.
6. Обсуждение В первую очередь следует удалить из рассмотрения инструментарий с несвободными лицензиями: Eve-ng и PNetLab. GNS3 не поддерживает возможность автоматизации с помощью кода. Отсутствие интерфейса командной строки не позволяет проводить воспроизводимые исследования. Впрочем, GNS3 хорошо подходит для обучения работы с сетями и принципам проведения натурного моделирования. Остальные рассмотренные нами средства моделирования вполне подходят для реализации воспроизводимых исследований. Для моделирования гетерогенных сетей, состоящий из оборудования разных производителей, остаётся рекомендовать containerlab и netlab. Если необходимо моделировать не столько протоколы сами по себе, а особенности их реализации в оборудовании разных производителей, альтернативы просто нет. Впрочем, ничего не мешает использовать эти средства и просто для моделирования произвольных сетей. Kathará поддерживает распределённое выполнение, поэтому незаменима для ресурсоёмкого моделирования. Кроме того, в рамках данного средства явно рассматривалась методика создания цифровых двойников сетевых систем. Mininet развивается крайне неторопливо. Но эта среда кране проста в применении. Кроме того, это средство моделирования входит в образовательную программу многих вузов. А исследователь, при прочих равных условиях, предпочтёт использовать то средство моделирования, с которым он знаком. Toxiproxy предназначен для исследования вопросов сетевой безопасности. В отличии от других средств моделирования мы не исследовали его глубоко. Впрочем, моделирование сетевой безопасности тоже входит в круг наших интересов. Средства моделирования IMUNES, CORE, Cloonix выглядят вполне достойными. Но, победитель получает всё. Эти средства моделирования не предлагают, на данный момент, никаких особенных преимуществ относительно выделенных нами систем.
10
7. Заключение Резюмируем наши рекомендации. • Для первичного обучения студентов — GNS3. • Для моделирования простых систем и обучения натурному моделированию — Mininet. • Для моделирования сложных систем, ресурсоёмкого моделирования — Kathará, containerlab, netlab. • Для моделирования гетерогенных сетей, максимального соответствия реальным системам — containerlab, netlab. Данная работа является определённой вехой в наших исследованиях. Мы начинали натурные сетевые исследования с GNS3. Причиной, побудившей нас отойти от этого средства, стала невозможность осуществления воспроизводимых исследований в его рамках. Что естественным образом привело нас к Mininet. Но очень скоро донное средство стало тормозом, а не помощником. Поэтому, после данного исследования, мы делаем ставку на Kathará и containerlab. Следующим шагом мы предполагаем провести несколько исследований, с реализацией натурного эксперимента в этих трёх средах. Чтобы практически подтвердить (или опровергнуть) наши выводы.
Благодарности Публикация выполнена при поддержке программы развития РУДН «Стратегия2030», проект С05.1 «Реализация международного и внутрироссийского академического сотрудничества и повышение академической репутации».
Список литературы 1. Kulyabov D. S., Sevastianov L. A. Journal rubrics // Discrete and Continuous Models and Applied Computational Science. — 2024. — Vol. 32, no. 3. — P. 255–259. — DOI: 10.22363/2658-4670-2024-32-3-255–259. 2. Structural Approach to the Deep Learning Method / L. A. Sevastianov, A. L. Sevastianov, E. A. Ayrjan, A. V. Korolkova, D. S. Kulyabov, I. Pokorny // Proceedings of the 27th Symposium on Nuclear Electronics and Computing (NEC-2019). Vol. 2507 / ed. by V. Korenkov, T. Strizh, A. Nechaevskiy, T. Zaikina. — Budva, 09/2019. — P. 272–275. — (CEUR Workshop Proceedings). 3. Korolkova A. V., Kulyabov D. S., Hnatič M. Practical Application of the Multi-model Approach in the Study of Complex Systems // Distributed Computer and Communication Networks. DCCN 2020. Vol. 12563 / ed. by V. M. Vishnevskiy, K. E. Samouylov, D. V. Kozyrev. — Cham : Springer Nature Switzerland AG, 2020. — Chap. 40. P. 526–537. — (Lecture Notes in Computer Science). — DOI: 10.1007/978-3-030-66471-8_40. 4. Page S. E. The Model Thinker : What You Need to Know to Make Data Work for You. — New York : Basic Books, 2018. — 448 p. 5. Baker M. 1,500 scientists lift the lid on reproducibility // Nature. — 2016. — May. — Vol. 533, no. 7604. — P. 452–454. — DOI: 10.1038/533452a. 6. Goodman S. N., Fanelli D., Ioannidis J. P. A. What does research reproducibility mean? // Science Translational Medicine. — 2016. — Июнь. — Т. 8, № 341. — 341ps12.1—6. — DOI: 10.1126/scitranslmed.aaf5027. 7. Hall Jr E. T. The Silent Language. — New York : Anchor Books, 1959. 8. Welsh C. GNS3 Network Simulation Guide. — Packt Publishing, 10/25/2013. — 154 p. 11
9. Velieva T. R., Korolkova A. V., Kulyabov D. S. Designing Installations for Verification of the Model of Active Queue Management Discipline RED in the GNS3 // 6th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT). — IEEE Computer Society, 2015. — P. 570–577. — DOI: 10.1109/ICUMT.2014.7002164. — arXiv: 1504.02324. 10.
Lantz B., Heller B., McKeown N. A Network in a Laptop: Rapid Prototyping for SoftwareDefined Networks // Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks. — Monterey, California : Association for Computing Machinery, 2010. — С. 1— 6. — (Hotnets-IX). — DOI: 10.1145/1868447.1868466.
11.
Lantz B., O’Connor B. A Mininet-based Virtual Testbed for Distributed SDN Development // Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication. — ACM, 08/2015. — P. 365–366. — (SIGCOMM ’15). — DOI: 10.1145/2785956.2790030.
12.
Using Mininet for emulation and prototyping Software-Defined Networks / R. L. S. de Oliveira, C. M. Schweitzer, A. A. Shinoda, L. R. Prete // 2014 IEEE Colombian Conference on Communications and Computing (COLCOM). — IEEE, 06/2014. — P. 1–6. — DOI: 10.1109/colcomcon.2014.6860404.
13.
Ryll A. Measuring TCP Tail Loss Probe Performance // Proceedings of the Seminars Future Internet (FI), Innovative Internet Technologies and Mobile Communications (IITM) and Autonomous Communication Networks (ACN), Summer Semester 2013. NET-2013-08–1 / ed. by G. Carle, D. Raumer, L. Schwaighofer. — Munich, Germany : Chair for Network Architectures, Services, Department of Computer Science, Technische Universität München, 2013. — P. 1–7. — (Network Architectures and Services (NET)). — DOI: 10.2313/NET-2014-03-1.
14.
Reproducible network experiments using container-based emulation / N. Handigol, B. Heller, V. Jeyakumar, B. Lantz, N. McKeown // Proceedings of the 8th international conference on Emerging networking experiments and technologies. — ACM, 12/2012. — P. 253–264. — (CoNEXT ’12). — DOI: 10.1145/2413176.2413206.
15.
Heller B. Reproducible network research with high-fidelity emulation : PhD thesis / Heller Brandon. — Stanford University, 2013. — 124 с.
16.
Yan L., McKeown N. Learning Networking by Reproducing Research Results // ACM SIGCOMM Computer Communication Review. — 2017. — May. — Vol. 47, no. 2. — P. 19–26. — DOI: 10.1145/3089262.3089266.
17.
Pizzonia M., Rimondini M. Netkit: network emulation for education // Software: Practice and Experience. — 2014. — May. — Vol. 46, no. 2. — P. 133–165. — DOI: 10.1002/spe.2273.
18.
Ariyanto Y., Harijanto B., Syaifudin Y. W. Teaching network security in Linux using Netkit with implementation virtual laboratory // IOP Conference Series: Materials Science and Engineering. — 2018. — Dec. — Vol. 434. — P. 012273. — DOI: 10.1088/1757899x/434/1/012273.
19.
Scazzariello M., Ariemma L., Caiazzi T. Kathará: A Lightweight Network Emulation System // NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium. — IEEE, 04/2020. — P. 1–2. — DOI: 10.1109/noms47738.2020.9110351.
20.
Alberro L., Castro A., Grampin E. Experimentation Environments for Data Center Routing Protocols: A Comprehensive Review // Future Internet. — 2022. — Jan. — Vol. 14, no. 1. — P. 29.1–22. — DOI: 10.3390/fi14010029.
21.
Kathará: A container-based framework for implementing network function virtualization and software defined networks / G. Bonofiglio, V. Iovinella, G. Lospoto, G. Di Battista // NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium. — IEEE, 04/2018. — P. 1–9. — DOI: 10.1109/noms.2018.8406267.
22.
Megalos: A Scalable Architecture for the Virtualization of Network Scenarios / M. Scazzariello, L. Ariemma, G. D. Battista, M. Patrignani // NOMS 2020 - 2020 IEEE/IFIP Network Operations and Management Symposium. — IEEE, 04/2020. — P. 1–7. — DOI: 10.1109/noms47738.2020.9110288. 12
23.
Megalos: A Scalable Architecture for the Virtualization of Large Network Scenarios / M. Scazzariello, L. Ariemma, G. Di Battista, M. Patrignani // Future Internet. — 2021. — Aug. — Vol. 13, no. 9. — P. 227.1–17. — DOI: 10.3390/fi13090227.
24.
Sibyl: a Framework for Evaluating the Implementation of Routing Protocols in FatTrees / T. Caiazzi, M. Scazzariello, L. Alberro, L. Ariemma, A. Castro, E. Grampin, G. D. Battista // NOMS 2022-2022 IEEE/IFIP Network Operations and Management Symposium. — IEEE, 04/2022. — P. 1–7. — DOI: 10.1109/noms54207.2022.9789876.
25.
Nesting Containers for Faithful Datacenters Emulations / T. Caiazzi, M. Scazzariello, S. Quinzi, L. Ariemma, M. Patrignani, G. D. Battista // NOMS 2023-2023 IEEE/IFIP Network Operations and Management Symposium. — IEEE, 05/2023. — P. 1–5. — DOI: 10.1109/noms56928.2023.10154391.
26.
Zec M. Implementing a Clonable Network Stack in the FreeBSD Kernel // Proceedings of the FREENIX Track: 2003 USENIX Annual Technical Conference. — San Antonio, Texas, USA, 06/2003.
27.
A network testbed for commercial telecommunications product testing / D. Salopek, V. Vasic, M. Zec, M. Mikuc, M. Vasarevic, V. Koncar // 2014 22nd International Conference on Software, Telecommunications and Computer Networks (SoftCOM). — IEEE, 09/2014. — P. 372–377. — DOI: 10.1109/softcom.2014.7039061.
28.
CORE: A real-time network emulator / J. Ahrenholz, C. Danilov, T. R. Henderson, J. H. Kim // MILCOM 2008 - 2008 IEEE Military Communications Conference. — IEEE, 11/2008. — P. 1–7. — DOI: 10.1109/milcom.2008.4753614.
29.
Linkletter B. Investigating Linux Network Behaviour Using Open-Source Network Emulators // Proceedings of Netdev 2.1. — 2016. — P. 1–8.
13