A Simulator for Distance Vector Routing An Overview you are asked to simulate Di
ID: 3603059 • Letter: A
Question
A Simulator for Distance Vector Routing
An Overview
you are asked to simulate Distance Vector routing for a given network. The main goal of
this project is to study the impact of different factors on the convergence times to optimal routes. You will
be provided with multiple files that represent different network topologies. Your simulator would need build
routing tables and then forward data packets until they reach their destinations based on the routing tables
built.
The Network Topology Files
Each network topology file consists of a number of rows, each row represents a single edge in the network.
There are three entries per row. The first entry is the node ID at one end, the second is the node ID at the
other end, and the third entry is the cost of the link between the nodes which will be used in computing
optimal routes. For example, a row with these values: 2 12 23 means that there is a link between node 2
and node 12 and that link has a cost 23. Here are three topologies to use:
•
Toplogy1.txt (5 nodes, 7 edges)
•
Toplogy2.txt (10 nodes, 20 edges)
•
Toplogy3.txt (30 nodes, 60 edges)
Initially, every node is only aware of its immediate neighbors (and thus would not have a complete picture
of the topology). To build routing tables, nodes will proceed in “Rounds”. At the beginning of every round,
each node will prepare a DV packet that it would send to its immediate neighbors. DV packets include the
source node and the list of nodes-costs pairs for what this node knows about the network. In every round,
a pair of nodes that are connected will exchange their DV packets and update their tables.
The above topologies were generated using BRITE. Make sure nothing is hard-coded (even the number of nodes!).
Your simulator should take as a line argument, which topology file to use along with the duration to run
your simulation (e.g., how many rounds needs to be simulated).
Distance Vector
Recall that in a distance vector-based routing algorithm, each node would tell its neighbors, what it knows
about the whole network. As nodes exchange information with their neighbors in every round, they update
their routing tables if better routes are discovered. Each node would maintain a routing table that consists
of ¡destination, cost, next hop¿. The DV packet each node sends is simply the destination and cost pairs (no
need to send the next hop).
When a node receives a data packet, it consults its routing table and forwards the packet to the next
hop, which would do the same until the packet reaches the destination.
Explanation / Answer
A major characteristic of interpretable models are their structures. By looking at the structure,
it might be possible to interpret or attribute physical meaning to different groups of coefficients or
terms. Hence it is required to either learn structured models directly, or transform a learnt (black-
box) model into the desired structure. In most cases, we do not possess the exact parametrized
structural form of the model (if that were the case, the task would reduce to simple parameter
estimation). Rather, what we possess are broad defining characteristics of the structures, like
non-negativity in NMF
We interpret the learnt model as follows: there is a flow network whose edge flows are the
variables
x
1
,x
2
...x
m
and flow conservation is obeyed at the nodes. Some examples are flow
networks (say water) where we posses edge flow measurements by some means, and wish to infer
either partial or total connectivity of the network. Similarly in case of power grids, we may possess
data on amount of power transmitted through edges but may not know how the edges are connected
(i.e. the node-edge incidence structure). In other words, the problem is relevant to any case which
involves edge flows, using which we try to identify or reconstruct the network topology. The network
can describe an actual physical network as in the earlier examples, or may simply describe abstract
relationships between variables in a convenient or concise manner.
Needless to say, identifying network topology can provide many insights about the system. For
example, degree distribution reveals the presence of any central or hubs in the network; clustering
coefficient can provide insight about redundancy and hence robustness to failures; and betweenness
centrality can provide an insight about bottlenecks and flow traffic in the network, thereby giving
us a good understanding of which variables are difficult to control. Thus identifying the network
structure will enable us to understand and manipulate it better
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.