SlideShare a Scribd company logo
LANSim

      NETWORK SIMULATOR

https://github.com/applegrew/lansim
What is LANSim?

LANSim is a Cnet-like network simulator.
What is a network simulator?

Network simulators are tools for testing out and
 debugging new protocols.

They provide an excellent means to show behavior
 and performance of protocols and topologies.
Objectives Of The Project

 To learn the concepts of the internals of how
  network simulator work.
 To obtain a grasp on the operation of
  communication protocols and network
  configurations.
 To study and implement various algorithms used by
  network devices operating at various layers of OSI
  model.
Objectives Of The Project

To get better grasp over multithreading.
To learn the tricks of efficient and flicker-free
 animation.
To learn the tricks of creating interactive graphical
 objects.
Current Progress

Implemented a usable graphical user interface with
 drag and drop interface.
We have implemented the physical layer of OSI.
Data flow animation.
Implemented some of the devices like – Hub and a
 basic PC (capable of broadcasting).
Introduction to LANSim

         BRIEF
Design of LANSim

Interface completely made using SWING libraries.
The core is divided into major parts – backend
 framework and frontend.
Backend framework consists of a Clock class which
 acts as conceptual clock of the program.
Pros of LANSim

Programmed in JAVA using only standard libraries,
 hence very much portable.
Provides drag and drop feature to create connections
 among nodes.
Pluggable architecture.
Data flow animation.
Screenshot
Architecture of LANSim

        BACKEND
Architecture of Backend
Clock class

Digitizes real-world time into discrete time steps (10 -
 6
   ~ 10-3 s) depending upon the speed of network.
It generates tick event that is used to synchronize the
 simulation.
Manager class

Synchronizes and controls the whole simulation
 process.
It is the central authority which contains reference to
 of all modules and wires.
Allocates time to each modules and wires in turn,
 after every clock-tick is generated.
Module class

It is an interface class from which all modules
 including the PC and hub modules derive.
It provides generic methods that all modules must
 implement, like step() which instructs the module to
 simulate for some supplied no. of time steps.
Wire class

It is a generic representation of all kinds of wired
 links present in a network.
Particular types of connection links will derive from
 this base class.
Port class

This does not represent the port (service access
 point) that Transport layer addresses.
This is a conceptual duplex interface between a
 module and a wire.
There can be only two ports at either end of wire.
Modules can have any no. of ports.
Packet class

It is a conceptual packet class that is used by
 framework at the physical layer instead of byte
 streams.
It can enclose data packets provided by the modules.
Architecture of LANSim

        FRONTEND
Architecture of Frontend
Application Manager class

This is the starting point of the program.
It is the event handler for Main Window class.
It traps user’s response and hands it down to
 appropriate classes for which the event is meant.
Main Window class

It is the user interface of the program.
It displays:-
    The component toolbox
    Menu bar
    The client area where the graphical objects are drawn.
ManagerUI class

It is the frontend of Manager class.
It acts as the interface between GUI and the backend
 framework.
It contains a reference to Manager class object,
 which controls the whole backend simulation.
ModuleUI class

It is the frontend of Module class.
Handles the rendering of modules.
Handles the interaction with user, e.g. isClicked()
 method.
Modules can use it to display module specific
 windows.
WireUI class

It is the frontend of wire.
Handles the rendering of interconnection network.
It is responsible for the data flow animation, which it
 executes with the help of DataUI.
DataUI class

It handles the rendering of data packets.
Modules can extend this class to create data packets
 that may look anyway the module wants.
~ End ~


Source code at –
 http://github.com/applegrew/lansim

More Related Content

What's hot

OSI Reference Model
OSI Reference ModelOSI Reference Model
006 Osi Model
006 Osi Model006 Osi Model
006 Osi ModelBELKA08
 
Osi model in networking
Osi model in networkingOsi model in networking
Osi model in networking
sheikhparvez4
 
Osi model
Osi modelOsi model
Osi modelufaq kk
 
Layering and Architecture
Layering and ArchitectureLayering and Architecture
Layering and Architecture
selvakumar_b1985
 
A Technical Seminar on OSI model
A Technical Seminar on OSI modelA Technical Seminar on OSI model
A Technical Seminar on OSI model
Likan Patra
 
Lecture2
Lecture2Lecture2
Lecture2
AMITHEMBRAM
 
OSI Model | Computer Science
OSI Model | Computer ScienceOSI Model | Computer Science
OSI Model | Computer Science
Transweb Global Inc
 
Osi modal
Osi modalOsi modal
Osi model
Osi modelOsi model

What's hot (16)

Aq4301224227
Aq4301224227Aq4301224227
Aq4301224227
 
Lecture2
Lecture2Lecture2
Lecture2
 
OSI Reference Model
OSI Reference ModelOSI Reference Model
OSI Reference Model
 
006 Osi Model
006 Osi Model006 Osi Model
006 Osi Model
 
Osi model 1
Osi model 1Osi model 1
Osi model 1
 
Osi model in networking
Osi model in networkingOsi model in networking
Osi model in networking
 
Osi model
Osi modelOsi model
Osi model
 
Layering and Architecture
Layering and ArchitectureLayering and Architecture
Layering and Architecture
 
OSI Layers
OSI LayersOSI Layers
OSI Layers
 
OSI MODEL
    OSI MODEL    OSI MODEL
OSI MODEL
 
A Technical Seminar on OSI model
A Technical Seminar on OSI modelA Technical Seminar on OSI model
A Technical Seminar on OSI model
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture2
Lecture2Lecture2
Lecture2
 
OSI Model | Computer Science
OSI Model | Computer ScienceOSI Model | Computer Science
OSI Model | Computer Science
 
Osi modal
Osi modalOsi modal
Osi modal
 
Osi model
Osi modelOsi model
Osi model
 

Viewers also liked

Groupon กรุ๊ปปอง
Groupon กรุ๊ปปองGroupon กรุ๊ปปอง
Groupon กรุ๊ปปองnoomyai Mashin
 
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทย
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทยแผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทย
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทยnoomyai Mashin
 
iphone4
iphone4iphone4
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010noomyai Mashin
 
การประชาสัมพันธ์โครงการ
การประชาสัมพันธ์โครงการการประชาสัมพันธ์โครงการ
การประชาสัมพันธ์โครงการnoomyai Mashin
 
กำหนดการการประกวด
กำหนดการการประกวดกำหนดการการประกวด
กำหนดการการประกวดnoomyai Mashin
 
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบนnoomyai Mashin
 

Viewers also liked (16)

Lanna spa drink no l
Lanna spa drink no lLanna spa drink no l
Lanna spa drink no l
 
ดด
ดดดด
ดด
 
Internettv
InternettvInternettv
Internettv
 
2553
25532553
2553
 
CMtrand+ Magazine 01
CMtrand+ Magazine 01CMtrand+ Magazine 01
CMtrand+ Magazine 01
 
Groupon กรุ๊ปปอง
Groupon กรุ๊ปปองGroupon กรุ๊ปปอง
Groupon กรุ๊ปปอง
 
G.u.y contest 2011
G.u.y contest 2011G.u.y contest 2011
G.u.y contest 2011
 
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทย
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทยแผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทย
แผนการขายนิตยสาร Be magazine นิตยสารเพื่อสังคมเล่มเเรกของเมืองไทย
 
iphone4
iphone4iphone4
iphone4
 
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010
โครงการหนุ่มสาววัยใสไร้แอลกอฮอล์ 2010
 
การประชาสัมพันธ์โครงการ
การประชาสัมพันธ์โครงการการประชาสัมพันธ์โครงการ
การประชาสัมพันธ์โครงการ
 
45111
4511145111
45111
 
ฟ้อน
ฟ้อนฟ้อน
ฟ้อน
 
กำหนดการการประกวด
กำหนดการการประกวดกำหนดการการประกวด
กำหนดการการประกวด
 
Honda scoopy i
Honda scoopy iHonda scoopy i
Honda scoopy i
 
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน
1แบบฟอร์มใบสมัครงานสคล.ภาคเหนือตอนบน
 

Similar to LANSim

Smart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systemsSmart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systems
Lorenzo Maiorfi
 
Introduction to om ne t++
Introduction to om ne t++Introduction to om ne t++
Introduction to om ne t++
Shivang Bajaniya
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
Vrushali Lanjewar
 
Network Simulation.pptx
Network Simulation.pptxNetwork Simulation.pptx
Network Simulation.pptx
SmashSmash5
 
Lecture 1 - Introduction.pptx
Lecture 1 - Introduction.pptxLecture 1 - Introduction.pptx
Lecture 1 - Introduction.pptx
aida alsamawi
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptx
ssuser41d319
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
Satish Chandra
 
parallel programming models
 parallel programming models parallel programming models
parallel programming models
Swetha S
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
nawal saad
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginners
Enoch Joshua
 
Network simulator
Network  simulatorNetwork  simulator
Network simulator
Madhumithah Ilango
 
distributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptxdistributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptx
lencho3d
 
Facade pattern
Facade patternFacade pattern
Facade pattern
Shakil Ahmed
 
Freedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaperFreedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaper
freedomotic
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
Diane Allen
 
OSI MODEL
OSI MODELOSI MODEL
OSI MODEL
KavyaGupta70
 
Netkit
NetkitNetkit
Netkit
dambatbul
 

Similar to LANSim (20)

Smart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systemsSmart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systems
 
Introduction to om ne t++
Introduction to om ne t++Introduction to om ne t++
Introduction to om ne t++
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
 
Network Simulation.pptx
Network Simulation.pptxNetwork Simulation.pptx
Network Simulation.pptx
 
Lecture 1 - Introduction.pptx
Lecture 1 - Introduction.pptxLecture 1 - Introduction.pptx
Lecture 1 - Introduction.pptx
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptx
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
parallel programming models
 parallel programming models parallel programming models
parallel programming models
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
 
Osi model
Osi modelOsi model
Osi model
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginners
 
Network simulator
Network  simulatorNetwork  simulator
Network simulator
 
distributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptxdistributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptx
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 
Freedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaperFreedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaper
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
OSI MODEL
OSI MODELOSI MODEL
OSI MODEL
 
Netkit
NetkitNetkit
Netkit
 
Dot net Introduction and their usabilities
Dot net Introduction and  their usabilitiesDot net Introduction and  their usabilities
Dot net Introduction and their usabilities
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

LANSim

  • 1. LANSim NETWORK SIMULATOR https://github.com/applegrew/lansim
  • 2. What is LANSim? LANSim is a Cnet-like network simulator.
  • 3. What is a network simulator? Network simulators are tools for testing out and debugging new protocols. They provide an excellent means to show behavior and performance of protocols and topologies.
  • 4. Objectives Of The Project  To learn the concepts of the internals of how network simulator work.  To obtain a grasp on the operation of communication protocols and network configurations.  To study and implement various algorithms used by network devices operating at various layers of OSI model.
  • 5. Objectives Of The Project To get better grasp over multithreading. To learn the tricks of efficient and flicker-free animation. To learn the tricks of creating interactive graphical objects.
  • 6. Current Progress Implemented a usable graphical user interface with drag and drop interface. We have implemented the physical layer of OSI. Data flow animation. Implemented some of the devices like – Hub and a basic PC (capable of broadcasting).
  • 8. Design of LANSim Interface completely made using SWING libraries. The core is divided into major parts – backend framework and frontend. Backend framework consists of a Clock class which acts as conceptual clock of the program.
  • 9. Pros of LANSim Programmed in JAVA using only standard libraries, hence very much portable. Provides drag and drop feature to create connections among nodes. Pluggable architecture. Data flow animation.
  • 13. Clock class Digitizes real-world time into discrete time steps (10 - 6 ~ 10-3 s) depending upon the speed of network. It generates tick event that is used to synchronize the simulation.
  • 14. Manager class Synchronizes and controls the whole simulation process. It is the central authority which contains reference to of all modules and wires. Allocates time to each modules and wires in turn, after every clock-tick is generated.
  • 15. Module class It is an interface class from which all modules including the PC and hub modules derive. It provides generic methods that all modules must implement, like step() which instructs the module to simulate for some supplied no. of time steps.
  • 16. Wire class It is a generic representation of all kinds of wired links present in a network. Particular types of connection links will derive from this base class.
  • 17. Port class This does not represent the port (service access point) that Transport layer addresses. This is a conceptual duplex interface between a module and a wire. There can be only two ports at either end of wire. Modules can have any no. of ports.
  • 18. Packet class It is a conceptual packet class that is used by framework at the physical layer instead of byte streams. It can enclose data packets provided by the modules.
  • 21. Application Manager class This is the starting point of the program. It is the event handler for Main Window class. It traps user’s response and hands it down to appropriate classes for which the event is meant.
  • 22. Main Window class It is the user interface of the program. It displays:-  The component toolbox  Menu bar  The client area where the graphical objects are drawn.
  • 23. ManagerUI class It is the frontend of Manager class. It acts as the interface between GUI and the backend framework. It contains a reference to Manager class object, which controls the whole backend simulation.
  • 24. ModuleUI class It is the frontend of Module class. Handles the rendering of modules. Handles the interaction with user, e.g. isClicked() method. Modules can use it to display module specific windows.
  • 25. WireUI class It is the frontend of wire. Handles the rendering of interconnection network. It is responsible for the data flow animation, which it executes with the help of DataUI.
  • 26. DataUI class It handles the rendering of data packets. Modules can extend this class to create data packets that may look anyway the module wants.
  • 27. ~ End ~ Source code at – http://github.com/applegrew/lansim