Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Neighbor discovery
2. Create forwarding table with only the information learned during neighbor discovery
3 Details
Your assignment is to implement distance vector routing. The metric to minimize is distance.
Each node of the graph should be represented with a process and the processes should commu-
nicate with one another through UDP sockets. There should only exist one source code file whose
executable is used for each node process. The number of nodes in the graph should be at least five
and the graph should be connected. For neighbor discovery, you may assume this information is
already known. I suggest for each node you have a file for the process to read that contains the
node’s neighbors and time to travel to each neighbor. This file can only contain information about
the node’s neighbor! Part of the design of the project is deciding the structure that is used to send
information to the nodes. .You may hard code in the number of nodes in your graph so each node
will know that it has obtained information from all nodes in the graph.
The node executable may need to use select(). A node can only send datagrams to its
neighbors and receive datagrams from its neighbors. The information that is sent from a node,
for example node A, should be (destination node, A’s minimum cost to destination node).
This is further described in your text. A node only sends information to its neighbors when the
node has a new value to a destination.
In each node, a 2D array, D, should be maintained at each node. Also, each node should store
in an array the distance to its neighbors. You may find other data structures are necessary, this is
dependent on your implementation decision. Again, please see your book for details.
The project consists of three parts.
1
CEN4516: Computer Networks Project 5 Spring 2008
7 Testing
Provide a text file with the information about the nodes. During the demonstration, we should not
have to type in information about the location of the nodes.
8 Language
Your program can be written in C or Java.
9 Submitting
Include the following when you submit your project:
1. A README.txt file
2. source code