Distance Vector Routing Algorithm Program In Java
Posted : adminOn 6/10/2018Distance Vector Routing Distance Vector Routing By Farrokh Ghani Zadegan and, January 2012 (Based on an assignment by Juha Takkinen) Contents • • • • • • • This assignment consists of four tasks: design, implementation, test and demonstration of a program in Java that implements a distributed and asynchronous distance vector routing protocol, based on the Bellman-Ford equation. The solution should include the 'Poisoned Reverse' technique, which solves the problem of looping in routing topologies. You will also answer a supplementary question about this lab. Important note: Before starting to do the coding for this assignment, you need to • read and fully understand the Distance-Vector Routing Algorithm (Section 4.5.2 of the course textbook, i.e.
Individual Coursework 2: Distance-Vector Routing. Of the distance-vector routing algorithm in. Is written in Java. All programming for this coursework. Threading for distance vector which does not. * @see #apply_Routing_Algorithm(java.net. Code>hmapRoutes * to default output stream of this program.
Computer Networking: A Top-Down Approach. 5th Edition). Also pay special attention to the problem of routing loop (a.k.a. Count-to-infinity problem) in the routing topologies, and to how the poisoned reverse technique solves this problem, • read through this manual, and • read the provided source codes to understand how communication takes place between nodes. The main challenge in this assignment is that your code must be asynchronous. For this assignment you will use an event-driven simulator that manages communication between routers. You should implement the part of the algorithm which is executed in each router.
Although routers are active in the same program (simulator), they can only communicate with each other by sending messages through the simulator. For this assignment you will use the following files (which can be downloaded from ): • RouterNode.java • RouterSimulator. Download Cccam Tar File Downoad. java • RouterPacket.java • GuiTextArea.java • F.java • Makefile After extracting the above archive, a Test folder is also created which contains three versions of the simulator that can be used to test your code: • RouterSimulator3.java which simulates a network with three nodes, similar to Figure 4.31 (b) in the textbook ( i.e. Computer Networking: A Top-Down Approach. 5th Edition) • RouterSimulator4.java is the same as RouterSimulator.java and simulates a network with four nodes, as shown in • RouterSimulator5.java which simulates a network with five nodes, as shown in Figure 1: Network with four nodes in RouterSimulator4.java Figure 2: Network with five nodes in RouterSimulator5.java For this assignment, you should only add code to the RouterNode.java file. For testing your implemented code (in RouterNode.java), you may also need to (slightly) modify the code in the RouterSimulator.java. You can use the F class in the F.java file to perform simple formatted text output.
You should add code for the constructor and methods in the RouterNode class that is in the RouterNode.java file. You may only communicate with other routers via the sendUpdate() method. You should not add any static member to this class, or by any means get around the requirement that all information must go via sendUpdate(). Other methods in the file are: • recvUpdate() which is called by the simulator when a node receives an update from one of its neighbors • updateLinkCost() which is executed when the cost of link of a node is about to change • printDistanceTable() which is used for debugging and testing of code, and also for demonstration of your solution to the assignment. This method should print the distance vector table (i.e.