Realistic Network Modeling Using Minetest

Enable the creation and usage of realistic and accurate 3D models of modern computer networks for research and instruction.

=Problem Definition=

Background
Minetest is a free and open source 3D voxel game that enables the creation of complex virtual worlds. A voxel is simply a three-dimensional data point, similar to how a pixel represents a value on a 2D bitmap.

Modifications, (‘mods’), enable the user to customize and create their experiences within Minetest. There are hundreds of free mods, such as animals, armor, and mechanics, and even step-by-step open source tutorials on how users can create their own. Current modifications do not, however, model computer networks and their controls in a way that is realistic enough for quality research and education in TCP/IP-based networks and cybersecurity using 3D virtual worlds. The goal of our team’s project is to change this, enabling a user-friendly network model that meets the standards of Bloom’s Taxonomy, implementing intellectual growth through direct experience with a 3D network model.

Deliverables
Currently, there are no 3D models of modern computer networks for research and education. As educational methods progress further into immersive technological learning, it is crucial that hands-on technological options are made available at the same rate. Our solution to this problem will be user-friendly, allowing visual and hands-on learners to flourish in the academic subject of basic networking.

The higher learning process characterized in Bloom’s Taxonomy is to apply, analyze, evaluate, and create. Our goal is to create a realistic and accurate 3D model of modern computer networks for research and instruction that can be used as a basis for further development or instruction while also pushing students to apply their knowledge from a classroom setting and draw their own conclusions about networks, as well as to create their own scenarios which will be modeled accurately.

Each network interface controller has a unique Media Access Control (MAC) address. This is a unique identifier to a piece of hardware which is used as a network address, or ‘physical address’ when communicating in a network segment. As a team, we will recreate these networks by creating a deliverable in the form of an environment in Minetest. This environment will utilize pipe-like blocks that transmit messages from computer to computer through a network switch.

Specifications
=Devices=

Computers
Computers are the cornerstone to any network. For this reason, Networkcraft has taken into consideration the vast amount of different approaches individuals have to access networks, and as a team we have incorporated two different types of computers into our project: the monitor and tower, and the laptop.

The Block
A network switch, sometimes known as a switching hub, bridging hub, or a MAC bridge, is a piece of networking hardware that connects devices on a computer network by using packet switching. Packet switching is the baseblock of data communications, and it works by grouping information into a header and a payload, which the network switch receives and forwards to the destination device. The header tells the network switch where to send the data, and the payload is the supplementary information.

To understand the network switch and its primary operations, it’s important to first understand the OSI (Open Systems Interconnection) model. The OSI model standardizes and characterizes data transmission in seven levels. The first three levels are known as media levels, and are more raw data transmission, while the upper four levels are known as host layers. The host layers are more advanced data transmission, including managing communication sessions, encryption/decryption, and remote file access.

The network switch is a multi-port network bridge that uses the media access control (MAC) addresses to forward data at the data link layer (layer 2) of the OSI model. Some switches can also forward data at the network layer (layer 3) by additionally incorporating routing functionality. Such switches are commonly known as layer-3 switches, or multilayer switches.

In our game modification, the network switch will have six ports. one port for each direction: up, down, front, back, left, and right.



The GUI
The switch GUI features six port labels, each reflecting a port for every side of the block's face. Under each label, there is an "Origin MAC" and "Target MAC" sub-labels. The area to the right of the sub-labels are updated whenever a player right-clicks on the switch block. These sub-labels reflect the origin and target MAC address of every wire that is connected to the switch block. Sub-labels that are empty imply that no wire is connected to that port.

The switch's well commented code can be found here.

Mescons
Mesecon is a mod that adds a model of electrical signals, making automation possible. It will only note if the signal is present or absent, but it does not have any notion of power. Within Mescons, receptors are blocks that generate a signal on some event that performs some action. Effectors are blocks that receive the signal, then logic blocks process the signal, and conductors join them all together, creating operational circuits.

In our model, we will only focus on implementing wires. These wires will hold the messages while they are in transit throughout the network system.

=Project Learning=

=Final Design=

=Validation= =Team Members= =Additional Documentation= GitHub Repository

Project Schedule



Meeting Minutes

Presentations

Client Interview

Other