A project as part of the networking class. As part of the project,
Part 1: Implement RIP-version2 protocol to enable routers to send each other routing table.
Part 2: Implemented my own protocol for reliable communication (stop and wait).
Part 3: Combined the project part 1 and 2 to complete the project and send the data through one router to another router.
Please follow the sample docker files (README-1.md) provided as part of this project. Also, please refer to the protocol design. Also, as part of this project, below cases has been assumed.
Multicast address: 224.0.0.9
(This is the address on which all routers will join to send/receive multicast messages.)
Multicast Port: 5520
(This is the port of Multicast messages.)
RIP Port: 5521
(This is the port in which regular updates/routing tables are sent.)
Internal subnet: 10.0.subnet.0/24
The subnet id is provided as a command line argument. The subnet is assumed to be 255.255.255.0 for part 1 of the project.
RIP command = 2
As part of the project, only command = 2 (response) has been implemented as it was only required (command=1 request not needed).
LRP Port: 45654
(This is the port used for sending data between routers over LRP protocol.)
Sender SEQ start: 100
Receiver SEQ start: 1000
The main program waits for 30 seconds to let all routes settle down before sending the data to destination.
The Sender has socket timeout of 500ms due to testing with different network and updation of routes in fly.
The transfer log of sending and receiving files are logged on console for better view.
1) Please follow the docker files provided (README-1.md file for more details) as part of the project to test different scenarios.
2) Please follow the project files (provided as part of assignment) for further details on execution of the final program.
A large file sent from a router will be received at destinated router.