Skip to content

maxwmoir/rip-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COSC364 | Implementation of RIPv2 Protocol in Python

About

This is an implementation of the RIPv2 protocol in Python. It was programmed for assignment one of COSC364 by:

  • Max Moir (mmo199)
  • Martyn Gascoigne (mga138)

It implements the basic RIP routing protocol with Split Horizon and Poison Reverse. The corresponding report for this assignment can be found here

Configuration

The program is designed to converge upon an ideal network state from a given set of router config files. Config files bust be written in the following format:

    router-id [id]
    input-ports [port-number], [port-number], …
    output-ports [port-number]-[metric-value]-[peer-router-id], …

Example config files are located in src/cfgs.

How to run

First, clone the project using the following command:

    $ git clone https://github.com/maxwmoir/rip-project.git

After this enter the project repository and create a virtual enviroment.

    $ cd rip-project

    $ python -m venv venv 

After activating your enviroment the program can be run from the command line by supplying the name of the config file.

    $ python -m daemon.py "path-to-config" 

Todo

  • Make sure all methods have docstring
  • Fix Operation not permitted error with sock.send
  • Remove unnecessary prints and commenting
  • Reorder methods
  • Remove use of magic nos.

About

A minimalistic implementation of the Routing Information Protocol in Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •