Mobile systems are an important and very rapidly evolving field. Until recently, the process of setting up a mobile network was considered to be extremely demanding and expensive, which only a handful of the largest operators could afford. With the development of relatively affordable, universal hardware together with software virtualization of dedicated electronic devices, the latter has become more accessible and today enables the practical implementation for further research and development in key areas, including private mobile networks. Small, dedicated mobile networks are not only useful for private use, but will also be needed in the future, as adapting to the requirements of individual functions is crucial for the operation of a true 5G network. A rapidly growing field in technology is also virtualization. This improves the use of available resources, enables the division of functions into its assemblies, improves the scalability of systems and at the same time generalises hardware independently of the manufacturer, which also leads to lower final equipment prices. The last concept presented is open source. Such program code is available to everyone free of charge and anyone can adjust it to their own criteria. Open source software often also works well, as insight and enhancement is available to anyone, not only to certain developers. Unfortunately, due to non-profit, such projects are often set aside, with an unknown deadline, and are often poorly documented. The purpose of this master's thesis is to explore how we can set up our private mobile network with the help of freely available open source solutions. The master's thesis presents the installation and testing of open source mobile cores of the fourth (4G) and fifth (5G) generation of mobile systems. The first part describes the operation of 4G and 5G mobile cores, the process of exchanging messages when connecting a mobile device to the network and presents some important messages, which are later shown in the practical part. The importance of virtualization and how it can be used in the further development of mobile systems is presented.
The second, practical part of the thesis presents the three currently leading implementations of open source mobile cores, NextEPC, srsEPC and Free5GC. Based on the performed and presented tests, it compares their key properties, capabilities, shortcomings, possibilities and procedures of installation and further use, shows the capture of packet data transmission when establishing a connection and access of the user device to the Internet. The process of installing the cores is described in detail. Successful installation and operation are recognized by the ability of the mobile device to access the Internet, which was possible for all tested cores. Among the main findings are, among others, the area of different uses of cores. SrsEPC as a simple, energy-saving core, NextEPC as a powerful 4G core suitable for serious use, and Free5GC as a mobile core with early support for some (high-speed) 5G features. The following are technical, software and other obstacles that I, the author of this work, encountered. Major obstacles include an inappropriate version of the operating system or system kernel, an incorrect version of the installed programming language (Go in the case of Free5GC), missing libraries, certificates, and files.
The concluding chapter confirms the desired assumption about the possibility of building an efficient private mobile network as well as separating the functions of the commercial mobile network to meet the needs of next generation mobile systems. The software of tested cores and test tools is updated daily. Tested 4G mobile cores work well, further development could take place in the direction of additional features e.g. quality control of the srsEPC kernel and its real-time adjustment at NextEPC. Free5GC currently contains three main elements of the 5G core, but the entire system is not yet complete. In the future, the measurements could be improved with a physical base station and real user devices connected to the tested mobile core or with use of newer simulation software.