This week, I began official research with an exercise to setup a simple IP network using Mininet (a virtual network-prototyping software). After provisioning a new virtual machine to run Mininet on, I was ready to begin the exercise Srinivas had assigned to us from one of his networking courses. For the exercise, we had to configure a simple network of four hosts and one router. This basically just required assigning IP addresses to each host and then configuring routing rules on the router to ensure packets were successfully forwarded. I decided to keep track of my code on my Gitea instance to make sharing things easier with my research group. My solution to this exercise can be found here.
After completing this exercise, Srinivas suggested I remove one line of code from the script used to configure the environment. This change would prevent the router from proxying ARP requests between hosts. I wasn’t sure at first what this meant but after reviewing some material online and watching a Srinivas undergraduate lecture on ARP, I felt like I had a pretty good grasp on what I needed to do. I was able to reconfigure the routing tables of each host in order to treat the router as a gateway for any host outside that host’s local network. That way, when one host wanted to talk to another non-adjacent host, it would trust the router to send packets to the right destination without the router needing to impersonate the other host via ARP. My solution to this variation on the original exercise can be found here.