Introduction to Developer docs¶
Developer docs is primarily for developers interested in contributing to NeST. It gives a peak into the internal structure of NeST that can be useful for new contributors.
Before we proceed, let’s clear one thing. NeST is a wrapper around linux network namespaces and various other networking utilities.
For network namespaces, it provides APIs to:
Create network namespaces
Add network interfaces to namespaces
Assign addresses to interfaces
Add routes in interfaces, etc
In NeST, we abstract upon network namespaces and instead call them Node
.
This is done so that users don’t need to know about network namespaces to use
NeST.
Using the above APIs, users can build complex network topologies. NeST provides
APIs over various network utilities like netperf
, iperf3
, ping
, etc
so that users can run network traffic on their built topologies. These APIs
allow users to run network experiments on their built topologies. And, NeST uses
iproute2
tools like ss
(socket stats), tc
(traffic control) so that
users can obtain stats and plots from the network experiment they run.