🚧 Work in Progress
This project is actively being developed as a deep dive into network protocol internals.
Network Simulator is a low-level C project where I reimplement core networking protocols from scratch — including RIP, OSPF, and a custom TCP/IP stack.
The system models a virtual network environment as a set of interconnected nodes and links, similar to a graph, to simulate routing behavior, packet flow, and congestion dynamics.
While the internal logic is graph-based, no graphical visualization is rendered — instead, all simulation data (e.g. routing tables, packet stats) is logged to the console for analysis.
⚙️ Key Capabilities
-
Custom Network Topology Definition:
Define arbitrary node-link graphs with routers, latencies, and bandwidth manually in config. -
Routing Protocol Implementation:
RIP and OSPF simulated with convergence and dynamic route computation. -
TCP-Like Transport Layer:
Sliding window, sequence numbers, retransmissions, and basic flow control. -
Congestion Control:
Simulates delays, packet loss, and basic rate adaptation logic. -
Traffic Injection & Benchmarking:
Custom traffic patterns can be injected to observe throughput, loss, latency, and behavior under load.
🎯 Context
This project was initiated independently to reinforce my understanding of networking internals beyond socket APIs — by rebuilding the actual protocol logic from the ground up.
It provides a testbed for exploring how real-world systems behave under conditions like packet loss, route flaps, or saturation.
Written entirely in C, it prioritizes performance, realism, and educational value, while offering precise control over protocol mechanics.
This simulator brings routing algorithms and transport protocols to life — not through visual graphs, but through raw, low-level simulation and traceable logic.