Skip to content

LukasBauza/network-protocol-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OSPF Protocol Simulation

  • This project develops a network simulation protocol in Java, starting with Internet Control Message Protocol (ICMP) ping functionality and Open Shortest Path First (OSPF) implementation. The goal is to simulate network interactions, analysing packets and implementing network devices.

  • The simulation is structured using object-oriented programming (OOP) principles, with core components such as PC, Router, and Device classes. Features include Address Resolution Protocol (ARP) for managing IP to Media Access Control (MAC) address resolution, Internet Protocol (IP) packet handling, Internet Control Message Protocol (ICMP) packet sending, network device management, and Network Interface Cards (NICs) for holding IP address details and randomly generated MAC addresses to simulate realistic network behaviour, with the added benefit of subnetting through the use of subnet masks. Parts of it are implemented using a command line interface (CLI), and a graphical user interface (GUI).

  • OSPF is implemented by modelling the network as a graph and calculating the lowest-cost path between devices using Dijkstra’s algorithm, although within the application it is done from a more simplified approach. Animations were used to represent packets being sent and received across the network. This has all been done with the use of the Swing GUI widget toolkit for Java.

CLI Iteration

Starting Screen

image

Creating a PC

image

Creating a Router

image

PC Sub-Menu

image

Router Sub-Menu

image

Setting an IP Address on a Router's NIC

image

ARP Request/Reply

image

IP and ICMP Packets

image

GUI Iteration

Sending Packet Accross Devices

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages