Submission Guidelines
Programming Assignment #3
Implementation Requirements
1- You should submit a tar file that contains the source code for your implementation.
2- Like the previous programs, you should submit a tar file. The tar file should include:
The CSC cluster, i.e. on Alpha stations
Questions
1- What should I display?
There are two cases in which you are going to display information.
Your code should display the information received in the following format:
Link (source, destination) isON/OFF
Please refer to thescenario given later in this page.
Case 2: Change In Routing Table
Your code should display the routing table in the following format:
Destination |
GoTo |
|
|
|
|
|
|
2- How are you going to run my program?
1. First, I'll untar the submitted file. Please don't create any directories.
2- Then, copy
network.parameters, and network.config to the current directory. The first file will contain my parameters as defined in the assignment handout. The second file will contain the network topology I am going to use to test your code. I am going to use different topologies to test different cases.3- Type "make". The name of the executable file should be
node.4- Run your program by typing "
node node-number" where node number represents the number of the current running node. For example:node fe90::0001
3- How do I submit my project?
~jh41701/BIN/submit
Finally to submit your program, type
submit 3 filename
There is only one filename which is the tar file.
4- How am I going to test your code?
1- Open 4 windows each correspond to a certain node in the config file. All windows are running on tracy, of course. |
||
2- Start nodefe90::0002 by typing: node fe90::0002 |
||
node fe90::0002 |
|
|
No information is displayed on the screen so far. |
||
3- Start nodefe90::0003, in another window, by typing: node fe90::0003 |
||
node fe90::0003 |
|
|
node fe90::0002 |
|
|
The following information is displayed in the window running node fe90::0002: |
Receiving HELLO Packet from node fe90::0003
Destination |
GoTo |
fe90::0001 |
- |
fe90::0003 |
fe90::0003 |
fe90::0004 |
- |
node fe90::0003 |
|
The following information is displayed in the window running node fe90::0003: |
Receiving HELLO_ACK Packet from node fe90::0002
Link (fe90::0003, fe90::0002) is ON
Node fe90::0002 is ALIVE
Destination |
GoTo |
fe90::0001 |
- |
fe90::0002 |
fe90::0002 |
fe90::0004 |
- |
4- Start node fe90::0004, in another window, by typing: node fe90::0004 |
||
node fe90::0004 |
|
|
node fe90::0002 |
|
|
The following information is displayed in the window running node fe90::0002: |
Receiving HELLO Packet from node fe90::0004
Link (fe90::0002, fe90::0004) is ON
Node fe90::0004 is ALIVE
Destination |
GoTo |
fe90::0001 |
- |
fe90::0003 |
fe90::0003 |
fe90::0004 |
fe90::0004 |
node fe90::0003 |
|
The following information is displayed in the window running node fe90::0003: |
Receiving HELLO_ACK Packet from node fe90::0004
Destination |
GoTo |
fe90::0001 |
- |
fe90::0002 |
fe90::0002 |
fe90::0004 |
fe90::0004 |
node fe90::0004 |
|
The following information is displayed in the window running node fe90::0004 |
Receiving HELLO_ACK Packet from node fe90::0002
Destination |
GoTo |
fe90::0001 |
- |
fe90::0002 |
fe90::0002 |
fe90::0003 |
fe90::0003 |
node fe90::0002 |
|
The following information is displayed in the window running node fe90::0002 |
Receiving LSP from node fe90::0003
(Note: routing table is not displayed since it does not change)
node fe90::0002 |
|
The following information is displayed in the window running node fe90::0002 |
Receiving LSP from node fe90::0004
(Note: routing table is not displayed since it does not change)
The order of displaying the above information is not important.
node fe90::0004 |
|
The following information is displayed in the window running node fe90::0004 |
Receiving LSP from node fe90::0002
Receiving LSP from node fe90::0003
5- During the above operations, HELLO packets, and LSP (Link State Packets), are traveling inside the network between active nodes. However, no information is displayed at any node unless it represents something new. |
|
6- Start node fe90::0001, in another window, by typing:node fe90::0001 |
|
node fe90::0001 |
|
node fe90::0002 |
|
The following information is displayed in the window running node fe90::0002 |
Receiving HELLO Packet from node fe90::0001
(Note: routing table is not displayed since it does not change)
node fe90::0001 |
|
The following information is displayed in the window running node fe90::0001 |
Receiving HELLO_ACK Packet from node fe90::0002
Destination |
GoTo |
fe90::0002 |
fe90::0002 |
fe90::0003 |
- |
fe90::0004 |
- |
node fe90::0002 |
|
node fe90::0001 |
|
The following information is displayed in the window running node fe90::0001 |
Receiving LSP from node fe90::0003
Destination |
GoTo |
fe90::0002 |
fe90::0002 |
fe90::0003 |
fe90::0002 |
fe90::0004 |
fe90::0002 |
node fe90::0003 |
|
The following information is displayed in the window running node fe90::0003 |
Receiving LSP from node fe90::0002
(Note: routing table is not displayed since it does not change)
node fe90::0004 |
|
The following information is displayed in the window running node fe90::0004 |
Receiving LSP from node fe90::0002
(Note: routing table is not displayed since it does not change)
node fe90::0003/4 |
|
The following information is displayed in the window running node fe90::0001 |
Receiving LSP from node fe90::0003
(Note: routing table is not displayed since it does not change)
The order of the above communications is not important.
Grading Guidelines:
Proper submission: submitted a tar file containing the files specified above specially Makefile. |
10 |
Timer Thread (timeouts are correct) |
20 |
Displaying exact format and information as specified above and in the cases defined in the scenario. |
10 |
Correct Dijkstra's Algorithm |
10 |
HELLO & HELLO_ACK (new alive nodes) |
15 |
LSP implementation |
15 |
Receiving & Sending data |
10 |
Handling Node Failure |
10 |
Total points: |
100 |