New approaches and techniques for teaching network courses at the faculty of management science and informatics

We are observing an increase of demands on the knowledge and education level of university graduates not only from theoretical but especially from practical aspects. At universities therefore emerge a need to ensure and organize a simple access to educational and information resources (supporting tools), which should be helpful with a better understanding of the taught topics and also facilitate obtaining practical hands-on experience. In this connection are new information technologies considered as very flexible and useful, and they make the learning process faster and more efficient. The most widespread is still the usage of the Internet along with various on-line tools and remotely managed courses, which help users mainly to acquire theoretical knowledge. Acquiring practical knowledge is still realized through „on site“, instructor led courses. However, here arise various restrictions, either time, personnel or spatial. The article provides and explains the process of creation a new tool, that helps us solving the problem of high utilization of laboratories and limited access to real devices, on which could students obtain skills and fundamental knowledge in the design, implementation and management of computer networks.


Introduction
Department of information networks at the Faculty of management science and informatics, University of Zilina, is teaching courses focused mainly on computer networks topics.These courses attend up to three hundreds of students per year.The department has five laboratories, however only two of these laboratories are equipped with necessary network devices suitable for improving practical skills.In addition, during an university semester we are limited by a lab schedule, which restricts the amount of time for students to be able to get access to devices.Therefore we are forced to recommend our students to intensively use network software simulators or emulators.
There are several simulators available (for example PacketTracer, Beson NetSlim, Cloonix, Core, etc.), on which could students reinforce their skills and fundamental knowledge.These tools are significantly different in provided functionality, from the simplest tools, which offer only limited functionalities, to the most complex ones.Based on our analysis and knowledge we consider none of those for fully suitable because they don't fully meet all our requirements for straightforward deployment and usage.Among all of analyzed tools there is a tool, which almost fulfills all requirements and whose deployment is very suitable for a group of courses oriented on practical networking topics.It is a freely available emulator of Cisco routers named Dynamips, which could be extended by a Dynagen extension.The main differentiation of the Dynamips tool from others is that Dynamips does not simulate routers, but it directly emulates hardware environment and therefore is able to host and run an operating system of real devices (Cisco IOS in our case).Dynamips is a flexible tool, which is able to operate with virtualized network topologies consisting from ones up to tens of routers and networks.Both tools are controlled through a command line interface and are therefore considered as less userfriendly.There is a possibility of using the Graphical Network Simulator GNS3, which was originally a graphical interface for Dynamips/Dynagen (see Fig. 1).However GNS3 has evolved into a complex multiplatform emulation tool now.Main disadvantage of both mentioned tools is the need of purchase a router IOS system, since it is not free software.
By comparing each individual tool and their features and functionalities we were able to identify strengths and weaknesses of each tool and finally make a decision, which is best meeting our requirements.The Dynamips tool shows as the best suitable option because it is an emulator and therefore provides functionality of real devices.Dynamips is also an independent platform and is able to operate in a client / server environment.Since Dynamips is very demanding of computer performance, we can manage and guarantee required resources (CPU, RAM, connectivity, access management and so on).
The intention of the department was developing a remotely accessible didactical tool, which would support advanced learning.We intended a tool which was available through a frontend web interface, and was able to communicate with a simulator/emulator application on the backend.The simulator/emulator should be able to run within a server environment, which would serve as a virtualization platform hosting virtualized network routers (preferentially Cisco routers) and network topologies.Tool web interface would allow students and teachers, regardless of their software and hardware options, remote and authorized access to offered and prepared exercise topologies.At the same time it would allow booking each individual topology, saving and retaking the work and much other functionality.Respecting mentioned we decided to develop a web based application (tool) which would reuse and integrate several open source components and which main task would be providing students an access to open-source Dynamips emulator tool.The web application together with the Dynamisp tool should run on a school server, and it should be available regardless of time and from any place, with only one requirement, an internet access.

Basic design of the tool architecture
Based on experimental analysis of Dynamips/Dynagen functionalities, long time personal teachers' experience with the tool and taking into account all identified requirements for the application, we were able to propose the basic structure of the tool architecture (see Fig. 2).

Figure 2. The tool architecture
As shown on the figure 2, the architecture is built on the 64bit GNU/Linux operating system platform (debian in our case) as we expect very high memory and processing load.The central part of the tool consists of Dynamips/Dynagen tool.Dynamips provides the emulation of virtual routers, interconnected together will represent a network topology.Dynamips allows to run several hypervisor processes, where each hypervisor is able to emulate more than one router.This, in dependence on server hardware used, allows run tens and hundreds of virtualized instances of router.Dynamips is used in conjunction with Dynagen.Dynagen is a text based frontend for Dynamips.It is used to facilitate startup of topologies, i.e. the creation and management of topologies.
Communication between tools' users and the system backend is performed through a dynamically generated web page, i.e. tool will be implemented as a web application.The web page provides a menu, navigating user to all tool functionalities and options.We are using the MySQL database as an information storage storing and sharing parameters between the web application and a web server.
First tool proposal had expected a direct access to the OS console of virtual routers.Respecting security aspects and improving user convenience the communication is finally accomplished by a Java Telnet Application (a java applet).The applet is accessible directly from the web page.To build a web application we were forced to make a decision on used web technology and development framework.There were several technology (PHP, ASP.NET) and development (Native PHP, CakePHP, proprietary frameworks, Drupal framework) candidates.Final decision was influenced by a proposal of extending the main tool functionalities and building a whole community portal extension allowing sharing and the distribution of knowledge in the field of computer networks.Therefore as a final development solution we chose the Drupal Content Management System (CMS).Drupal is a free and open-source content management framework written in PHP and distributed under the GNU GPL.Utilizing Drupal, the development of the tool is realized as a Drupal module extension providing functionalities defined during design phase, and extending main functionalities of Drupal CMS.

The ViRo tool
ViRo tool uses client/server architecture.The tool is available on-line via the Internet and offered through a web interface.Our main intention is to reuse existing open-source networking emulator and to provide an access to this tool for students without imposing additional schedule demands.The tool provides a number of functions available through the Internet and a fully functional simulator of computer networks to its users.The tool does not require any additional installation of other software on the client computer.The tool differentiates three groups of users-student, teacher and administrator.
Each group of users should be able to use the functionality mentioned below, depending on authorization defined for the particular group of which they are members.Functionalities of the user from the student group include: • Edit personal profile.
• Access to the list of available and booked topologies within the week.
• Booking the chosen topology for a particular day and a particular time slot.
• Cancel booking before booked date.
• Start a booked topology and working in the particular time slot.
• Save unfinished work on topology.
User from the teacher group has available all the options for student, but his options are extended by other options, such as:

•
Create a new topology.
• Add new users.
• Edit and delete existing users.
• Assign user permissions and assign users to the user groups.
• View the list of currently running simulations and all upcoming bookings.
• Cancel a booking for some reason (e.g.maintenance of the system), or stop running simulation.
Group Administrator, as its name suggests, describes the user who manage the whole system.Group administrator, unlike the group Student/Teacher, does not use the system but provides the functionality and management for the smooth functioning of the tool.The basic tasks of the administrator will be: • Manage web features.
• Configure the portal.
• Manage users and permissions.
• Manage system resources and file system.
• System maintenance.Communication of the user with the system is carried out using a web interface, i.e. tool is implemented as a web application.

The database of ViRo applications
Database of the application is composed with Drupal CMS core and its extension in the form of additional tables.Drupal is a PHP CMS system developed by Dries Buytaertom in 2000 originally as a blogging tool.The subsequent development of the project and making it available to the public for testing and adding functionality developed Drupal to its present form.Although it is referred to as a CMS system, it can be rather described as a framework, because unlike standard CMS system it mainly focuses on the configurability and customization of functionality.Drupal CMS does not use the traditional architectural pattern Model -View -Contoller (MVC), but the presentation-abstractioncontrol.The base of CMS Drupal is a stable and high-quality core.It provides the basic functionality, which is used by other parts of the system by using the API (Application Programming Interface).The basic structural element forms a module, as Drupal is in essence a modular system.Its overall functionality is derived from core and connected modules.
Database core of Drupal is created by database tables, which main task is storing all necessary data required by CMS system Drupal.It will be used for securing stored data about users, users groups, permissions for individual user groups, and other data necessary for the operation of the interface.The description of individual database tables and its core data model is not included in this paper for the reason of its extensiveness.
As previously mentioned, for ensuring functionalities required by application ViRo, database core of Drupal is insufficient and therefore it was necessary to extend it with following tables:  Running_topology,  Term,  Topology,  Reservations.

Conclusion
Application Virtual Router offers opportunity for students and teachers to easily and conveniently work with the virtual topology.They have available clear interface, which gives teachers the ability to create new topologies or edit existing ones and make them available for their students, who should work with it and improve their practical skills in the field of computer networks.The application also offers a reservation system that ensures for each student a guaranteed number of hours provided for work with the system.
The goal of the ViRo tool is to provide on-line, internet-accessible educational tool that allows students, regardless of their software and hardware options, remote access to predefined network topologies running on an emulation server.The server is implemented using freely distributed and platform independent simulator of computer networks.The ViRo tool solves the problem of limited access to facilities in which students would be able to practice the configuration and management of devices in complex topologies.Students will be able to acquire and improve practical configuration skills in the design and management of computer networks and other network components on-line via the Internet using this tool.The tool is fully extensible for new features according to user needs.The tool is used to support networking courses of both levels of university education at the Faculty of Management Science and Informatics at the University of Žilina.

Figure 3 .
Figure 3. Sample screen of ViRo -assign user roles

Figure 4 .
Figure 4. Sample screen of ViRo -running topology Segec, P., Kubina, M. & Paluch, P. (2016).New approaches and techniques for teaching network courses at the faculty of management science and informatics.New Trends and Issues Proceedings on Humanities and Social Sciences.[Online].11, pp 111-117.Available from: www.prosoc.eu117 Added tables were connected to remaining part of database by linking table's user s and reservations.