Semester project — full protocol stack simulator (C++).
Computer-Network-Simulator/
├── main.cpp
├── build.bat
├── SPECIFICATION.md
├── devices/ Device, EndDevice, Hub, Switch, Bridge, Router
├── network/ Frame, Channel, CRC, IPv4, ARP, RoutingTable, RoutingProtocols
├── transport/ Ports, TCP/UDP segments
├── application/ HTTP, DNS
└── simulator/ Tests, domain analysis, full stack send
cd Computer-Network-Simulator
./build.bat
./network_sim.exe
main.cpp calls runAllTests() which runs all submission test cases in order:
- Point-to-point
- Star topology (5 hosts + hub)
- Bridge + Switch + CRC
- DL Test Case 1 (switch + 5 hosts + domains)
- DL Test Case 2 (2 hubs + switch + 10 hosts + domains)
- CSMA/CD access control
- Selective Repeat flow control
- Network layer (router, ARP, static + RIP/OSPF/BGP/EIGRP)
- Full stack HTTP (TCP)
- Full stack DNS (UDP)
- Frames carry data at Layer 2; IPv4/ports logged at upper layers.
- ACKs use
AckBufferanddeliverACKs()like earlier steps. - Routing protocols are simplified educational simulations that update the routing table and print logs.
See SPECIFICATION.md for mapping to assignment deliverables.