Sunteți pe pagina 1din 5

CST 311 TPA #4: Subnetting in Mininet

Michael Janes
Ericka Koyama
Justin Thomas

1. Network Design

2. List of Changes
Line 13:​ Removed ipBase of '10.0.0.0/24' since we don't have an overarching network
addressing scheme since the topology represents two subnets communicating across r4 as the
'internet'

Line 19-20:​ Moved any router instantiation below the switch instantiation, to clear build errors
as specified in the assignment document.

Line 19 - 30: ​Assigned IP addresses per network design to routers and hosts in CIDR notation.
Hosts were given a default route to the gateway router for their subnet.

Line 37-38:​ For both the r3/r4 and r4/r5 links, IP addresses were assigned to the specific
interface pairs for each link, consistent with the network subnet design.
Line 40-49:​ 6 static routes were added to satisfy the following destinations
R3
- Route to h2 subnet
- Route to r4/r5 subnet
R4
- Route to h1 subnet
- Route to h2 subnet
R5
- Route to h1 subnet
- Route to r3/r4 subnet
4-5. Screen Captures (pinging)

6. Answers to these questions:


a) What were any interesting things found and lessons learned?
The biggest finding was learning how to write a mininet python script
without solid examples or documentation. We learned about static routing
and how to use the .cmd() function to add routing with trial and error
based on the documentation link in the lab assignment. The most
challenging aspect was visualizing and routing each subnet to the specific
router and subnet (i.e. r3 needed to be routed to subnet 4-5 and to subnet
2 aka east coast).

It was interesting to learn more about how to add static routes in mininet. I
think this would ideally be taken care of by some kind of NAT router, but it
was cool to see how one might set up a manual subnet.

Learned to design before coding!

b) Why didn’t the original program forward packets between the hosts?
The original script didn’t assign any ip addresses to the routers or default
routes for the hosts or routers, it was basically an empty template. The
original script was also missing routing commands that we had to
scavenge the internet for. With all the missing information, the routers had
no idea where or how to send packets.

c) Is the line ‘ r3.cmd('sysctl -w net.ipv4.ip_forward=1') ’ required?


Yes, this line is required. Without ip forwarding, the routers couldn’t
connect to other networks interfaces even though they were physically
connected. The legacy router in Mininet is just a regular host that has
forwarding turned on. If the forwarding is not turned on, then the router is
just a host.

d) Intentionally break your working program, e.g.: change a subnet length, IP


address, or default route for a host. Explain why your change caused the network
to break.
Changing an IP address will simply break all the routing commands and
links that were setup. We used a /24 subnet for all routers networks, but
changing from /24 to /16 for the routers didn’t allow r3 and r5 to
communicate with each other because r3/4 and r4/5 subnets require a
255.255.255.0 mask to communicate through router 4.
Meeting Minutes

20 October 2020 6:30pm - 7:30pm


All team members met via zoom and discussed the upcoming group
project. We determined that the best approach would be to have each
team member complete their version of the assignment then compare our
code and approaches.

22 October 2020 6:00pm - 7:00pm


Team regrouped after having some difficulty establishing static routes.
Erica was able to have the entire network operational and explained her
approach to establishing static routes.

23 October 2020 11:30pm - 12:30pm


Final meeting was to make sure each team member was able to get to a
working solution. From there we discussed which approach we wanted to
turn in alongside the rest of the required questions.

S-ar putea să vă placă și