Code Monkey home page Code Monkey logo

gtiians / distance-vector-routing-and-flow-control-simulator Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 71 KB

The described project is a network simulation program that focuses on network traffic within a predefined topology. The key components of the program are the Distance Vector Computation and the Flow Routing Algorithm.

Java 100.00%
computer-network-project decentralized-network distance-vector distance-vector-routing flow-control forwarding java java-socket-programming multithreading networking

distance-vector-routing-and-flow-control-simulator's Introduction

Distance-Vector-Routing-and-Flow-Control-Simulator

The project simulates a network traffic in a given topology where the distance vector algorithm is used for path computations and routing. The topology of the network is given and cannot be changed by the user. User can change the path costs between each router, and specify any number of flows from any router to the other. Package size also can be changed. After the user specifies, the program can run the network traffic.

The program basically consists of two major parts: - Distance Vector Computation - Forwarding and Routing Algorithm

Distance Vector Computation:

  • User inputs path costs between routers in a fixed network topology.
  • The program calculates distance vectors based on the entered path costs.
  • The computed distance vectors are then exported to a text file.

Flow Routing Algorithm:

  • Utilizes the output of the Distance Vector Computation as input to construct the network topology.
  • User specifies various parameters, such as packet flow details (source, destination, package sizes).
  • The program simulates network traffic, considering factors like visited routers, queues, delays, etc., at each step of package transmission.

Used skills:

  • Socket Programming: Used for communication between routers, facilitating the exchange of information.
  • Multi-Threading: Implemented to enhance program efficiency and handle concurrent tasks.
  • De-centralized Programming: The project involves decentralized programming techniques to simulate network behavior.
  • Object-Oriented Design: The program is structured using object-oriented principles, enhancing modularity and maintainability.
  • I/O Management, File Reading/Writing: Involves handling input/output operations, reading user inputs, and exporting computed data to files.
  • Implementation of Algorithms: Involves the implementation of Distance Vector, Routing/Forwarding, and Flow Control Algorithms to simulate and manage network traffic effectively.

distance-vector-routing-and-flow-control-simulator's People

Contributors

gtiians avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.