Introduction to static routing

Static routing

Static routing is very simple. Each node has a routing table where each entry has the destination and the next node. On receiving a packet, a node find the entry corresponding to the packet's destination, and forwards it to the next node. If there is no entry, the node drops the packet. That's it.

While writing the static routing protocol in ns2 is easy, we have to set a routing tables at every node. This can be done by writing an external program. For example, when you generate a topology, you can set up routing table with the shortest path metric.

Source codes

In this project, we are going to write new source codes (static_routing_pkt.h, static_routing.h, and static_routing.cc) and new script (static.tcl), and modify existing codes (packet.h, queue.cc, ns-lib.tcl, ns-mobilenode.tcl, and ns-packet.tcl)

The source codes of this project is available here.

Implementation

Implementation of the static routing protocol is similar to that of the greedy forwarding that I explain here, and so please read the source codes for the implementation detail