Network Simulation
Github link
Using a FreeBSD virtual machine, replicated the behavior of host computers sending packets through multiple networks and routers (stacks) Ethernet, IP, TCP, and ARP protocols. To accomplish this, the host and stack processes connect to virtual switches.

Features
- Hosts can send frames over multiple routers (stacks) to other hosts.
- Implements Ethernet, IP, TCP, and ARP stack protocols.
- Asserts IP packet header integrity: cross-verifies IP addresses in Routing Table, correct header checksums, length, protocol, and flags.
- Reroutes packets by building IP and Ethernet headers around packet at each router.
- Denies deviant frames/packets.
- Debugs with Wireshark