The Configuring PC as a Router project in Java is aimed at creating software that will act as a router in the particular network. This document’s scope is restricted to the discussion of above.

Configuring PC as a Router Project

 System Overview: 

Software router system will be developed in following stages.

a)      The first stage is a login by administrator and login validation for the security purpose.

b)      The next stage will be configuring the software router.    

c)      The third stage consists add or remove router PC from the network

d)     The next stage consists of updating the routing table.

Product Perspective: 

This product will run on Windows XP platform. A software will be developed which will perform the functions of the router. The software will also have a control over the virus spread in the network.

Product Functions: 

            Below is a list of system functions:

a)      Sending packet from source to destination machine

b)      Adding/removing PCs.

c)      Updating the routing table if any changes are made in the network.

d)     Sending its routing table to its neighboring routers if updated.

Login security for administrator machine.

The following is a list of functional requirements: 

a)  Login :

The Administrator enters the username and password while requesting entry to the system.

b) Update routing table :

The Administrator can update the routing table if any changes are made in the network.

c) Set IP addresses :

The Administrator can set IP addresses to the network interfaces.

d) View routing table :

The Administrator can view the routing table.

e) Analyze networks :

The Administrator can view the amount of network on each network interface.

Configuring PC as a Router Project  Modules Overview:

This section provides a summary of the different modules and the code contained therein. The modules are:

            1. GUI

            2. Receive packet

            3. Process packet

            4. Send packet

            5. Routing Table Update

Routing Table Update:

            When more than one computer, which will acts as PC Router are  connected with each other for routing of packets in a network, that time we need to know the information about the network which are connected to PC Router, also no. of links it has. We also require IP address, subnet mask of those links. To get such information from different connected PC Router, Each PC Router should send its routing table to all PC Router to whom it is connected. Each PC Router accepts the routing table sent by other PC router and updates entries in its own routing table. Because of this PC Router can send packet destined of remote network. To send or accept routing table over the network we have used Client-Server module. 

Steps :

  1. The routing table is stored in the ‘rout.xml’ file.
  2. Whenever the routing table is updated, the ‘rout.xml’ file is sent to the neighboring software routers.
  3. If the file is received from the neighboring software router, the HostID from the table is compared with the HostID in the ‘rout.xml’.
  4. If an entry is found, the next HostID is compared.
  5. If an entry is not found, then that entry is added to the ‘rout.xml’ and its next hop is replaced by the address of the router who has sent the file.
  6. Finally, if the routing table(rout.xml) is updated then it is sent to its neighboring routers.
  7. The other routers perform the same steps.