Implementation Basic Network Design with Netkit For Evaluation of Network Learning

—A virtual laboratory with a network emulator environment using NetKit is one of series of basic network laboratories on basic computer network competencies where students are given practical trial opportunities at low costs and little effort in their implementation. Teaching computer network subjects to be easily understood by students needs an instructional media as a tool in delivering material. This media uses computer virtualization technology, i.e. creating a virtual laboratory, as a means of students in conducting experiments from the material that has been obtained. In virtual laboratories it is possible to implement network topology designs based on actual network topologies. This implementation is used as a testing tool before the network topology is implemented on the actual network. Therefore, errors can be identified first without disturbing the system that is already running. For testing, the students are given training using a basic network design consisting of the implementation of routing tests, firewalls, ftp server implementation and web server. This paper is aimed at describing ways to develop a virtual laboratory with a network emulator environment using NetKit. Moreover, several exercises on network topology implementation that are applied directly to the real world with NetKit are introduced, such as describing laboratory settings, describing the main parts of the lab, illustrating lab instructions, and reporting lab feeds.


Introduction
In the era of the development of virtualization technology, network virtualization plays an important role in its use as a learning medium. In addition, network virtualization is effectively adopted in many other contexts where the function of the emulator is useful as a test before implementation, scenario evaluation, research trials. [1] This paper describes the writers'experiences in teaching computer network material, where students often experience difficulties in understanding the given materials. The writers use Netkit as a network emulator, where Netkit can do simple, cheap and lightweight network design, implementation and testing targeted at actual implementation.
Moreover, in this study the writers make a network topology design that describes the basic competencies that students must possess after taking part in computer network learning. To get the results of this study, a trial is conducted to obtain an analysis of the design that has been implemented based on the existing scenario. It is expected from the results of this study that teachers and students can use virtual laboratories as learning media for computer networks. Besides, the students can get an overview of the basic competencies of computer networks that must be possessed after implementing virtual laboratories using Netkit.

2
Literature Review

Network emulator
A network emulator is software in its environment mimicking the functions and habits of the original network [1].
Network emulators are implemented as machine virtualization. The use of virtualization machines in the class of computer networks, is used to provide an experimental environment in network practicums. With this network emulator, it can be used as a solution in learning computer networks [2].

User mode linux (UML)
User Mode Linux (UML) is a Linux virtual machine running on Linux. Technically, UML is a port connection from Linux to Linux. Linux has connected ports to many different processors, including X86, Sun's SPARC, IBM and Motorola's Pow-erPC, DEC's (Compaq and HP) Alpha and various other processors [3].
UML has been widely used for network system administrators, network system developers and users. UML is different from other virtualization technologies because it is a Virtual Operating System (OS), but to call UML can be done virtually. UML technologies such as VMWare are truly virtual machines by copying physical platforms, from the CPU to the device, even though the running OS on the physical platform also runs on the emulator platform provided by VMWare. In VMWare any OS that runs on a platform can be booted under VMWare, otherwise UML can only be a guest OS on Linux [4].

Netkit
Netkit is a place to set up and conduct network experiments at low cost and with little effort. The Netkit opensource network simulator was created by a group of university professors who use it as a tool in their teaching. It allows to create multiple virtual network devices (routers, switches, computers, etc.), which can be easily con-nected to form a network on one PC. The network equipment is virtual but has many original characteristics including the configuration interface [4-8].

Linux iptables
The Linux kernel's network packet processing subsystem is called Netfilter, and iptables is the command used to configure it. Iptables is software firewall that is included with most Linux distributions by default [9][10].
The iptables architecture groups network packet processing rules into tables by function (packet filtering, network address translation, and other packet mangling), each of which have chains (sequences) of processing rules. The rules consist of matches (used to determine which packets the rule will apply to) and targets (that determine what will be done with the matching packets). Iptables operates at OSI Layer 3 (Network). For OSI Layer 2 (Link), there are other technologies such as ebtables (Ethernet Bridge Tables) [9,11].

Network topology
Virtual lab experiments implementing iptables firewall security is depicted on the network topology implemented on Netkit, as shown in Fig. 1. The description of lab network topology at lab. linux server is shown in table 1.

Virtual Laboratory Scenario
At this stage, the lab is described. The virtual lab. linux server is created using netkit emulator. Virtual labs are implemented on a network basis with the network topology design in Fig. 1. The testing scenario of virtual laboratory implementation is shown in the following stages.

Create a file lab.conf
Create a lab.conf file is done to set the network scenario according to the network topology design the virtual lab. linux server, in accordance with the configuration syntax of the netkit emulator. The implementation of the lab.conf file is shown in Fig.  2. In lab.conf to connect connections between NIC every computer is virtually used collosion domain. Collosion domains are symbols that connect virtually between NICs on a Netkit emulator. Implementation of the virtual lab. linux server consists of a virtual machine as a linux computer with scenario pc1, pc2 , r1 and r2.

Configure virtual machine (VM) in lab.conf
At this stage, the writers configure the .startup file on Netkit. This file is required for the configuration and service to run when the virtual machine is started.
• Configuring VM pc1 Create a pc1.startup file is shown in Fig. 3. File and configuration for virtual machine are shown in Fig. 3, with ip address eth0 195.11.14.5/24 and route add ip gateway 195.11.14.1 with device eth0 therefore the pc1 virtual machine can be connected to the router r1 virtual machine.

• Configuring VM pc2
Create a pc2.startup file is shown in Fig. 4. • Configuring VM r1.startup Create a r1.startup file is shown in Fig. 5. • Configuring VM r2.startup Create a r1.startup file is shown in Fig. 6.

Virtual Laboratory Implementation
The implementation of the network topology design laboratory linux server Fig. 1. on the Netkit emulator is shown in Fig. 7. The results of virtual lab implementation are described as follows. Lab. Linux server is shown in Fig. 7. In the lab virtual machine ip address is configured.
Configuration checks that run on the virtual pc1.startup laboratory are shown in Fig. 8. Configuration checks that run on virtual pc2.startup laboratories are shown in Fig.9.  Testing and Analysis Virtual Laboratory Linux Server

Testing virtual laboratory linux server
At this stage the virtual lab is tested where Linux server is run for FTP server, Telnet, web server, dhcp.
FTP server: To run the ftp server on pc1 and pc2, the command is executed to activate the ftp service, with the command #/etc/init.d/proftpd restart.
FTP service testing is done by testing from PC2 to PC1 to start exchanging files. The test results are shown in Fig. 12, shown that the FTP connection is successful. Telnet server: To run the telnet remote server on pc1 and pc2, the command is executed to activate the telnet service, with the command #/etc/init.d/openbsd-inetd restart. Remote telnet service testing is done by testing from PC2 to PC1 to start remote computer. Test results and telnet remote commands are shown in Fig. 13. Web server: To run a web server on PC1, the command is executed to activate the web service server, with the command # /etc /init.d /apache2 restart.
Web server testing is done by testing from pc2 to pc1 with the wget command to download the web page. The test results are shown in Fig. 14.   Fig. 14. Web access command use wget DHCP server: To run dhcp server, configure r2 as shown in Fig. 15. In r2, it configures the IP Pool to be assigned to the DHCP Server. Then, the nano command is used in #/etc/dhcp3/dhcpd.conf to change the dhcpd.conf file used to set the IP Pool on the DHCP Server. Range is an IP Address that can be used by the client. The next step, r2 does the domain setting in the resolv.conf file. To change the file, the nano command in /etc/resolv.conf which will be used to manage domains and nameservers on the DHCP Server is used. The configuration is shown in Fig. 16.   Fig. 16. Configure resolv.conf The next step, r2 does the interface setting and use the nano command in / etc / default / dhcp3-server to change the interface to be used, DHCP Server, with interface = 'eth0'. The last step is restarting the DHCP server twice to make sure there are no errors in the DHCP settings. The command restarts the dhcp server service, with the command in #/etc/init.d/dhcp3-server restart. To test dhcp server on pc2 which is connected with r2 is done by changing the configuration of pcm to dhcp. The configuration is shown in Fig. 17. The next step is to restart the network service on pc2 with command #etc / init.d / networking restart. The last step is checking ip on pc2 from dhcp server r2, as shown in Fig.18.   Fig. 18. Ipconfig Pc2

Analysis virtual lab. linux server
Analysis of virtual machine experiment in virtual Lab. Linux Server in table 2.

Conclusion
From the test results, it can be concluded that all FTP, Telnet, Web and DHCP server on Linux can be run in a virtual lab. linux server on Netkit. The trials in the virtual laboratory shows the similarity of the work environment with real network systems, where Netkit can be implemented in a real network topology design.

Authors
Yuri Ariyanto, State Polytechnic of Malang, Indonesia. Interst in research is network technology, cloud computing, security system and information technology.