Title: NetWork Simulator - NWS
1NetWork Simulator - NWS
- Fouad LABRIKI
- Fouad.labriki_at_libertySurf.fr
- 02-10-2003
2OVERVIEW
- Overview
- NetWork Simulation
- NwCompiler
- MibCompiler
- Network Simulator deamon nwsd
- Java GUI
- NwModel
- GEF
- NwGUI
3NetWork Simulator - NWSOVERVIEW
- What is it?
- Application for creating simulated netwoks
- Context of usage
- SNMP-based netwok management application
example NNM - Whats designed for?
- Development, Support, Training, Evaluation, Demo,
Testing
4NetWork Simulator - NWSOVERVIEW
- NWS 2 main parts
- Java GUI
- intuitive java GUI for designing networks
- Network simulation
- MIBcompiler MIB compiler
- NWcompiler simulated network items into
Database. - NWSD ICMP/SNMP communication deamon
5NetWork Simulator - NWSOVERVIEW
mibText
Java GUI ( remote part)
nwText
nwsd
Simulation Station
nwCompiler
ICMP/SNMP
nwDB
Management Station (NNM) NWS Java GUI
The rest of the real network
6NetWork Simulator - NWSOVERVIEW
- Vocabualry
- Management station
- Simulation station
- Java GUI station
- S-Network
7NetWork Simulation NwText
- Stores textual description of the S-Network
- Devices names (system/switch/hub/switch/routers)
- IP addresses
- MAC addresses
- .
- All statical S-Network infromations are stored in
this file - Uses a formal syntaxe designed for this purpose
- Syntaxe called NWSymS
8NetWork Simulation NwText - NWSymS
- ltNetwork Namegt
- BEGIN
- NODES
- NODE .
- NODE .
- .
- Â NODE .
-
- END
9NetWork Simulation NwText - NWSymS
- NODE
- HOSTNAME hostname of this node
- NODETYPE device type (computer, router..),
constructor, OS version.. - INTERFACES
- INTERFACE LAN interfaces attributes IP _at_,
Mac _at_ - TABLE_ARP ARP entries of this LAN
interface -
-
- INTERFACE LAN interface attributes IP _at_,
Mac _at_ - TABLE_ARP ARP entries of this LAN
interface -
-
- TABLE_ROUTE route entries of this node
-
10NetWork Simulation NwText
- Can be created manually (using a text editor)
- User has not to create this file manually
- User always uses Java GUI to draw the netwok
graph - Java GUI translates the network graph to text
file according to NWSymS syntax
11NetWork Simulation NwCompiler
- Transforms NwSymS text file (NwText) into a NDM
database nwDB - Can be initiated from the Java GUI
- Can be started in the Simulation Station by
- /opt/nws/bin/nwcompiler -d -f ltfilenamegt
- Developped using yacclex
12NetWork Simulation NwDB
- The database that reflects the S-Network
- Used by nwsd deamon to answer SNMP/ICMP requests
- Current version is NDM based
- Advantge
- Very simple
- Inconvenient
- One need to develop its own database engine
- Only nwsd deamon access the database
- We prefer the next release implementation
13NetWork Simulation NwDB next release
14NetWork Simulation MibText
- Gathers all the MIBs texts recognizable by NWS
- Concatenation of standrd and non standard Mibs
- Located under /etc/opt/nws
15NetWork Simulation MibCompiler
- One of the most complex and bigest parts of NWS
- Real MIB compiler
- reads the mibText file
- compils it into the internal MIB tree structure
- Recognizes the ASN.1/SIM syntax
- ASN.1 macros problem workedaround
- Currently started by nwsd deamon
- Yacclex used to develop this module
16NetWork Simulation nwsd deamon
- Achieves the most part of the work
- mib compilation (executes MibCompiler command)
- Real icmp/snmp protocol implementation
- Based on DLPI library
- Can be startd manually on the simulation station
- /opt/nws/bin/nws -d
- User always starts nwsd from the GUI
17Read the next Ethernet frame FRM
No
Yes
Yes
No
No
Yes
No
Get the node destination,ND of IpFram and
Interrgate NwDB
Yes
No
Yes
Create an SNMP answer Frame and send it to the
management Station
18NetWork Simulation Future Architecture
19mibText
nwText
Java GUI (the remote part)
mibCompiler
nwsd
nwCompiler
nwDBs
mibBin
- nwDBs nwDB database server. - FM
D Frame Management Daemon.
FMD
nwDB
ICMP/SNMP
Management Station NNM NWS Java GUI
The rest of the real network
20Java GUI Overview
- Network editor
- Based on three modules
- GEF (Graph Editor Feature)
- NwModel
- NwGui
21Java GUI GEF
- What is it?
- Java class library for constructing graph editing
applications - Infrastructure to custom graph drawing programs
for particular domain - Is not a drawing program
22Java GUI GEF
- Why GEF?
- Framework for graph drawing programs
- Several advantages versus other works
- Extensibility
- Simplicity
- high-quality user experience
- Open Source
23Java GUI GEF
- Two main levels in the GEF representation
- Net level
- holds logical objects having application specific
data and behavior Nodes, Edge - Diagram level
- Set of Figures to visually depict the net and
various annotations Figs
24Java GUI GEF Architecture
- LayerManager
- Collection of layers
- Layers
- Clear sheets of plastic
- LayerDiagram
- Layer with collection of figures
- LayerPerspective
- Assumes model is connected graph
- Access the model through interfaces
25Java GUI GEF GraphModels
- GraphModel supports traversing the graph
- GraphNodeRenderer and GraphEdgeRenderer are class
factories for creating - displayable Fig instances from the model's nodes
and edges. - Uses GraphModel to map Figs in a diagram to
application specific objects, Nodes - Analogous to mediators found in Java's Swing user
interface library - TreeModels
- TableModels
26Java GUI GEF UML class diagram
27(No Transcript)
28Java GUI NwModel
- The model retained to represent the IP- network
datastructure - Better described using its UML class diagram
291
2
1
0..1
1
1
- Ip Dest.
- NetMask
- pNext
- metric
1
30Java GUI NwGui
Navigation window
Interface window
ToDo window
Details window
31Java GUI NwGui
To add a cable
The toolbar
To add a compute
To add a router
32Java GUI NwGui
33Java GUI NwGui
Nodes table
Routing table
LAN interfaces table
ARP table