Inside the Router
teaching home routing with Virtual Reality
urn:nbn:de:0009-5-55214
Abstract
In the virtual reality (VR) learning game Inside the Router, learners take on the typical tasks of a home router as if they were part of the home router itself. From the first-person perspective, data packets must be forwarded, and network addresses translated and assigned. The VR learning game is designed to deepen procedural knowledge about IP-Routing and Network Address Translation (NAT). Basic knowledge about the structure of IP addresses including ports as well as the structure of networks is assumed as prior knowledge. The VR learning game is therefore to be seen as a supplement to existing school learning settings regarding networks. In addition to the correct use of NAT and the assignment of packets to clients, the game mechanics include catching and throwing packets as well as a scoring system, consisting of a speed test of the home router by tracking speed and correct assignments of packages.
Keywords: e-learning; learning game; virtual reality; VR; routing; computer networks
Simulations are a popular approach in computer science (CS) education to visualize abstract issues. However, the representation of the content is often a problem in the design process, as abstract processes are difficult to visualize and make interactive. To address this problem in creating learning content for computer science education, we considered learning content from a systems perspective and identified the processes occurring there as learning content. The view into a system and the processes running there suggests the implementation as a 3D simulation, since this allows observations from different perspectives. Several studies report that there has been increased motivation but mostly consistent learning effects among study participants from virtual reality (VR) learning applications compared to desktop 3D simulations [7]. With the technical development of VR headsets and related frameworks for creating VR applications ( Unity and Unreal Engine ), it is easier to develop VR simulations for the educational sector.
Based on this analysis, the topic of networks and the Internet was identified as a possible learning topic. Since home routers have a strong everyday relevance for learners, the learning scenario was set to IP routing and Network Address Translation (NAT). Based on system-oriented view of the router, the title Inside the Router was chosen. The main idea is that the user feels as if he or she is in the router, when playing the game. The application lets the learner exercise the most common tasks a home router must exercise. Thus, in this article the development process and its result are documented. All design decisions are based on game design guidelines [8] and Mayer’s multimedia design principles [5].
A systematic review of virtual reality applications related to computer science education listed seven content areas in which a total of 13 applications could be assigned: Programming (6 applications), Computational Thinking (2), Security Concepts (2), Theoretical Computer Science (1), Project skills (1) and Document Organization [6]. The review refers to publications about studies and does not include applications without scientific publication. Thus, for the topic of networks, there seems to be no VR application yet that scientifically addresses the didactic design and the expected learning effects. An application that addresses the topic of networks was developed at the Pacific Northwest National Laboratory in Richland, Washington (figure 1). The game places the player in the role of a home router [4]. Assignments of packets to the correct clients on the network are done using color coding, and the difficulty across levels increases as the number of clients and packets increases. From level 4 on-wards, denial-of-service attacks, for example, can be addressed in a playful way. However, the learning objectives are not defined, and the potential learning effect cannot be modeled.
The classification to a target group is derived from the German educational standards of computer science [1] as well as the Saxon curriculum [3] [2]. It is therefore primarily based on the required prior knowledge and the associated curricular classification in the Saxon school system. A basic knowledge of IP addresses, ports and package-based data transmission is needed to ensure a competent use of the internet. To bring all these aspects into a relatable scenario, the operation of a home router by a learner is suitable. In a typical local network like the one in many households, data packages must be forwarded to the correct network components by means of the IP address. In addition to that, Network Address Translation (NAT) must be performed. To fulfill these tasks knowledge about IP addresses, ports, local networks, and connections to servers on the internet must be applied. Thus, the application Inside the Router is developed with an audience of CS middle school students (aged 13 and above) in mind.
The learning subjects that occur in this context are IP addresses and ports, packages, routing, and network address translation, which are conveyed in the following detail. An IP address is a unique identifier for each participant in a network. In Inside the Router IP addresses are displayed in the usual decimal representation. Special address ranges are not explicitly explained, but local clients use the 192.168.0.0/16 range. Other IP addresses in Inside the Router are real addresses from YouTube, Instagram, and Facebook. Since most home networks still work with IPv4 addresses and IPv6 addresses are generally more difficult to read, the learning application deals only with the former.
A port is a number that makes it possible for a participant in a network to differentiate between multiple connections by assigning a port to each. Data that is send and received must carry the port in addition to the IP address, so the receiver can distinguish it from other received packages. In the current stage of the application this use of ports is not addressed. Ports are however used by the learner to perform NAT.
An IP package consists of payload data and all the necessary information to perform IP routing. This information is the IP address and port of the sender as well as the destination. Real IP packages are limited in payload size, so to transfer a larger amount of data, multiple packages are needed. To make the interaction feasible and exciting, Inside the Router reduces the number of packages send between two participants. In most cases the user will only have to route one package for a request and one package for an answer from a server. The learning app is not concerned with protocols on higher levels of the Open Systems Interconnection model, so the learner does not have to deal with handshakes, flow control or encryption.
The task of routing IP packages means, that a package is send to its destination or another participant in a network, that has a better chance of sending the package to its target. Routing can get complex, connecting multiple networks but is simple in a home router, because a package can only be routed to a local destination or the internet via the internet service provider (ISP). Because of that Inside the Router uses routing only implicit, by exercising this simple decision without generalizing the principle.
Since most homes only get a single public IP address assigned from the ISP, NAT is necessary to allow multiple connections from multiple devices. NAT replaces the source address of a local client with the public IP address of the router for outgoing packages. By using a free port and recording this substitution, returning packages can then be assigned to the correct participant. Inside the Router displays the public IP address and a table with all the necessary records to do the address translation in the game. Players should recognize the public IP address on incoming packages and then assign them according to the port and local IP address in the table.
In the scenario of a home router there are three main cases for routing IP packages, which all can be associated with everyday use cases for students. In the application all three occur and need to be handled by the learner.
Internal packages have an internal source and destination address and do not leave the home network. They appear if two devices in the same network share data directly, e.g., by screen sharing photos from a mobile device to a smart TV or printing a document over Wi-Fi. To route an internal package successfully a student must compare the destination address to the addresses of the available clients in the local network and then assign it to the correct one.
Outgoing packages are routed to the WAN port of the router and subsequently to the ISP and the internet. They appear if a device sends data to a destination with external IP address, e.g., a request to a web server or the data from the user’s webcam in a video conference. To route an outgoing package successfully a student must compare the destination address to the available local addresses to recognize the package as outgoing and then assign it to the WAN port.
Incoming packages from the internet cannot get assigned straight away. The router must assign these packages to the correct client via NAT. This happens whenever a server sends data back to the user, for example when vising a website or streaming a movie. To route an incoming package successfully the player must recognize the package as such. Incoming packages will always address the known public IP address of the router and have a source outside of the address range of the local network. To translate the destination into an internal IP address, the user must use the port to look up the correct entry in the NAT table.
To exercise an abstract task like routing there must be a concept for a metaphor to access the task haptically. For Inside the Router this metaphor is a pipe post system in which the routes to the different network components are the pipes. The IP packages are symbolized by capsules that are transported by the pipes. All these objects are labeled with the necessary information like IP addresses and ports. Aside from that, information like the NAT table must be visible but not interactive, which is realized by displaying it in the background.
The game always follows the same procedure, where a package must be caught, then the player must analyze the package, decide a target, and then throw the package (Figure 2). If a given number of packages was assigned correctly the game ends and presents the player a score. The score is the internet speed in Mbit/s and can range from 200 Mbit/s to around 5 MBit/s. The faster the player performed the Task, the higher the score will be in the end (video linked in Figure 3).
A package comes flying in from the tube that stands for its source address. Whenever a package comes in, a sound alerts the user to get ready for the catch. The package follows a fixed trajectory, that makes it possible for the player to catch the package mid-flight without having to move around the scene too much. If the player misses the catch, the package lands on a desk and can be picked up which will cost some time.
After the catch, the player must examine the package. On the package the source and destination IP addresses can be found. The player then must decide which of the three discussed cases is present. In case of an incoming package, NAT must be performed. In this step the main cognitive task is exercised.
If the player came to a decision, a throw must be executed. To make it easy to hit the correct tube there is an aiming aid in place, that detects the tube the player most likely aimed at. The package is then accelerated in that direction, while it moves through the air. The effect simulates an air stream coming from the tube system sucking the packages in. This not only helps aiming but makes the interaction more fun too, improving motivation throughout the game. If a package lands in a tube, the tube gives visual and audio feedback whether the assignment was correct.
If the package was assigned incorrectly the tube flashes red and the package bounces back to the player. Only if the assignment was correct there will be a green flash and the catch - decide - throw cycle will start with the next package.
While developing and testing the learning application it was quickly noticed how important fun and exciting interactions are in a VR environment. The far greater possibilities to interact with objects make the difference between a simple sorting game and a rich VR experience. The balance between immersion, presence, and learning is one of the central difficulties in the design process (further described in [5, 18 - Immersion Principle]) and only partly explored in VR. Thus, measuring the actual learning out- come from the VR learning application Inside the Router is the first research step to verify the subjective positive impressions.
[1] Brinda, Torsten; Fothe, Michael; Friedrich, Steffen; Koerber, Bernhard; Puhlmann, Hermann; Rohner, Gerhard; Schulte, Carsten: Grundsätze und Standards für die Informatik in der Schule: Bildungsstandards Informatik für die Sekundarstufe I, 2008. https://dl.gi.de/handle/20.500.12116/2345 (last check 2022-05-17)
[2] Sächsisches Staatsministerium für Kultus. Lehrplan Gymnasium Informatik, 2019. http://lpdb.schule-sachsen.de/lpdb/web/downloads/2345_lp_gy_informatik_2019.pdf?v2 (last check 2022-05-17)
[3] Sächsisches Staatsministerium für Kultus. Lehrplan Oberschule Informatik, 2019. http://lpdb.schule-sachsen.de/lpdb/web/downloads/42_lp_os_informatik_2019 (last check 2022-05-17)
[4] Pacific Northwest National Laboratory. Network Collapse - Teachers Guide, 2019. https://www.pnnl.gov/sites/default/files/media/file/Network_Collapse_Teachers_GuideIR_05-21-2019.pdf (last check 2022-05-17)
[5] Mayer, Richard E.: Multimedia learning. Cambridge University Press, Cambridge, 2021. 978-1-107-18750-4
[6] Pirker, Johanna; Dengel, Andreas; Holly, Michael; Safikhani, Saeed: Virtual Reality in Computer Science Education: A Systematic Review. In: 26th ACM Symposium on Virtual Reality Software and Technology, VRST ’20, pp. 1–8, New York, NY, USA, November 2020. Association for Computing Machinery. https://doi.org/10.1145/3385956.3418947 (last check 2022-05-17)
[7] Pirker, Johanna; Kopf, Johannes; Kainz, Alexander; Dengel, Andreas; Buchbauer, Benjamin: The Potential of Virtual Reality for Computer Science Education - Engaging Students through Immersive Visualizations. In: 2021 IEEE Conference on Virtual Reality and 3D User Interfaces Abstracts and Workshops (VRW), pp. 297–302, Lisbon, Portugal, March 2021. IEEE. DOI: 10.1109/VRW52623.2021.00060 (last check 2022-05-17)
[8] Jesse Schell. Die Kunst des Game Designs: bessere Games konzipieren und entwickeln. mitp, Frechen, 3. Auflage, 2020.